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; 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; 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); 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); } /** * 根据主键查询特定服务协议对象 * @param specServiceId * @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 getItemTypeByNo(String dictKey, List intArr){ List itemValueList = Lists.newArrayList(); if(intArr==null||intArr.size()==0){ List 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; } /** * 根据数据类型编码取出权限标识码 * @param dictKey 数据的字典标识 * @param intArr * @return */ public static String getPermissionByNo(String dictKey, List intArr){ List 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 getAllType(String dictKey){ List itemCodeList = Lists.newArrayList(); List 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 dealTypeCondition(String dictKey,String itType ){ List 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 getASNIPNum(Integer groupId ) { List ipNum=new ArrayList<>(); try { if(!StringUtil.isEmpty(groupId)){ List 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(); } if(ipNum.size() ==0){ ipNum.add(0, 0); ipNum.add(1, 0); } return ipNum; } }