This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/util/ConfigDictUtils.java

242 lines
7.1 KiB
Java
Raw Normal View History

package com.nis.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.SysDataDictionaryName;
import com.nis.domain.basics.AsnGroupInfo;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.PxyObjTrustedCaCrl;
2018-03-17 17:09:19 +08:00
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.web.dao.SysDictDao;
import com.nis.web.dao.basics.AsnGroupInfoDao;
import com.nis.web.dao.basics.ServiceDictInfoDao;
import com.nis.web.dao.basics.SysDictInfoDao;
import com.nis.web.dao.configuration.PxyObjKeyringDao;
import com.nis.web.dao.configuration.WebsiteCfgDao;
2018-03-17 17:09:19 +08:00
import com.nis.web.dao.specific.SpecificServiceCfgDao;
import com.nis.web.service.SpringContextHolder;
/**
* 系统数据字典工具类
* @author Administrator
*
*/
public class ConfigDictUtils {
private final static ServiceDictInfoDao serviceDictInfoDao = SpringContextHolder.getBean(ServiceDictInfoDao.class);
private final static SysDictInfoDao sysDictInfoDao = SpringContextHolder.getBean(SysDictInfoDao.class);
2018-03-17 17:09:19 +08:00
private final static SpecificServiceCfgDao specificServiceCfgDao = SpringContextHolder.getBean(SpecificServiceCfgDao.class);
private final static WebsiteCfgDao websiteCfgDao = SpringContextHolder.getBean(WebsiteCfgDao.class);
private final static PxyObjKeyringDao pxyObjKeyringDao = SpringContextHolder.getBean(PxyObjKeyringDao.class);
private final static AsnGroupInfoDao asnGroupInfoDao = SpringContextHolder.getBean(AsnGroupInfoDao.class);
/**
* 根据主键查询配置详情
* @param serviceDictId
* @return
*/
public static ServiceDictInfo getServiceDictInfoById(Integer serviceDictId){
return serviceDictInfoDao.getDictById(serviceDictId);
}
/**
* 根据主键查询配置详情
* @param sysDictId
* @return
*/
public static SysDictInfo getSysDictInfoById(Integer sysDictId){
return sysDictInfoDao.getDictById(sysDictId);
}
2018-03-17 17:09:19 +08:00
/**
* 根据主键查询特定服务协议对象
* @param specServiceId
2018-03-17 17:09:19 +08:00
* @return
*/
public static SpecificServiceCfg getBySpecServiceId(Integer specServiceId){
return specificServiceCfgDao.getBySpecServiceId(specServiceId);
}
/**
* 根据计算公式计算数据结果
* @param sysDictId
* @return
*/
public static Integer getNumberResult(Integer number1, Integer number2, Integer number3){
return number1+(number2-1)*number3;
}
/**
* 根据数据类型编码取出数据类型标题国际化
* (2018-03-30修订获取的国际化改为类型的国际化)
* @param dictKey 数据的字典标识
* @param intArr
* @return
*/
public static List<String> getItemTypeByNo(String dictKey, List intArr){
List<String> itemValueList = Lists.newArrayList();
if(intArr==null||intArr.size()==0){
List<SysDataDictionaryItem> itemList = DictUtils.getDictList(dictKey);
if(!StringUtil.isEmpty(itemList)){
for(SysDataDictionaryItem sd:itemList){
itemValueList.add(sd.getItemValue());
}
}
}else{
for(Object itemCode:intArr){
itemValueList.add(DictUtils.getDictLabel(dictKey,itemCode.toString()));
}
}
return itemValueList;
2018-03-28 08:42:32 +08:00
}
/**
* 根据数据类型编码取出权限标识码
* @param dictKey 数据的字典标识
2018-03-28 08:42:32 +08:00
* @param intArr
* @return
*/
public static String getPermissionByNo(String dictKey, List intArr){
List<String> itemValueList = Lists.newArrayList();
StringBuffer sb = new StringBuffer("");
itemValueList=getItemTypeByNo(dictKey,intArr);
if(!StringUtil.isEmpty(itemValueList)){
for(String itermvalue:itemValueList){
sb.append(itermvalue);
}
}
return sb.toString();
}
/**
* 根据数据类型标识取出数据类型的itemCode
* @param dictKey 数据的字典标识
* @param intArr
* @return
*/
public static List<Integer> getAllType(String dictKey){
List<Integer> itemCodeList = Lists.newArrayList();
List<SysDataDictionaryItem> itemList = DictUtils.getDictList(dictKey);
if(!StringUtil.isEmpty(itemList)){
for(SysDataDictionaryItem sd:itemList){
itemCodeList.add(Integer.valueOf(sd.getItemCode()));
}
}
return itemCodeList;
}
/**
* 根据传入数据拆分数据类型参数
* @param dictKey 数据的字典标识
* @param itType 传入参数
* @return
*/
public static List<Integer> dealTypeCondition(String dictKey,String itType ){
List<Integer> intArr = Lists.newArrayList();
if(StringUtil.isEmpty(itType)){
intArr = ConfigDictUtils.getAllType(dictKey);
}else{
String[] strArr = itType.split("-");
Integer[] tempArr = new Integer[strArr.length];
for(int i=0;i<strArr.length;i++){
tempArr[i] = Integer.valueOf(strArr[i]);
}
intArr = Arrays.asList(tempArr);
}
return intArr;
}
/**
* 根据compileId获取配置内容
* @param compileId
* @return
*/
public static String getHttpBodyKeyword(Integer compileId ) {
String httpBodyKeyword="";
try {
if(!StringUtil.isEmpty(compileId)){
CfgIndexInfo entity=new CfgIndexInfo();
entity.setCompileId(compileId);
List httpBodyList=websiteCfgDao.getHttpBodyList(entity);
if(!StringUtil.isEmpty(httpBodyList)){
BaseStringCfg cfg=(BaseStringCfg)httpBodyList.get(0);
httpBodyKeyword=StringUtil.isEmpty(cfg.getCfgKeywords()) ? "":cfg.getCfgKeywords()
.replace(Constants.KEYWORD_EXPR, " ");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return httpBodyKeyword;
}
/**
* 根据compileId获取配置内容
* @param compileId
* @return
*/
public static String getTrustedCrlByCerId(Integer certId ) {
String crlFIle="";
try {
if(!StringUtil.isEmpty(certId)){
PxyObjTrustedCaCrl crl=new PxyObjTrustedCaCrl();
crl.setCertId(certId);
crl=pxyObjKeyringDao.getPxyObjTrustedCaCrl(crl);
if(crl != null ){
crlFIle=crl.getCrlFile();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return crlFIle;
}
/**
* 根据compileId获取配置内容
* @param compileId
* @return
*/
public static List<Integer> getASNIPNum(Integer groupId ) {
List<Integer> ipNum=new ArrayList<>();
ipNum.add(0, 0);
ipNum.add(1, 0);
try {
if(!StringUtil.isEmpty(groupId)){
List<Object[]> list=asnGroupInfoDao.getASNIPNum(groupId);
if(!StringUtil.isEmpty(list)){
int index=0;
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
if(index==0){
Map map=(Map) iterator.next();
if(map != null){
ipNum.add(0, (Integer) map.get("v4_num"));
ipNum.add(1, (Integer) map.get("v6_num"));
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return ipNum;
}
}