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/web/service/configuration/AppCfgService.java
2018-03-29 17:24:21 +08:00

326 lines
11 KiB
Java

package com.nis.web.service.configuration;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.Page;
import com.nis.domain.ServiceConfigInfo;
import com.nis.domain.configuration.AppIdCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.AppIdCfg.AppFeaturesIndex;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.main.ConvertTool;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.AppCfgDao;
import com.nis.web.dao.configuration.ComplexStringCfgDao;
import com.nis.web.dao.configuration.StringCfgDao;
import com.nis.web.dao.systemService.ServiceConfigInfoDao;
import com.nis.web.service.CrudService;
/**
* 特定协议相关配置事务类
* @author dell
*
*/
@Service
public class AppCfgService extends CrudService<AppCfgDao,AppIdCfg> {
@Autowired
protected AppCfgDao appCfgDao;
@Autowired
protected ServiceConfigInfoDao serviceConfigInfoDao;
@Autowired
protected StringCfgDao stringCfgDao;
@Autowired
protected ComplexStringCfgDao complexStringCfgDao;
public Page<AppIdCfg> findPage(Page<AppIdCfg> page, AppIdCfg entity) {
entity.setPage(page);
List<AppIdCfg> list = dao.findList(entity);
page.setList(list);
return page;
}
public AppIdCfg findAppIdCfg(AppIdCfg entity) {
//查询协议关联特征表
List<AppFeaturesIndex> featuresTableList = appCfgDao.getFeaturesTableListByAppCompileId(entity.getCompileId());
List<ComplexkeywordCfg> complexList = new ArrayList();
List<BaseStringCfg> strList = new ArrayList();
if(!StringUtil.isEmpty(featuresTableList)){
for(AppFeaturesIndex features:featuresTableList){
if(features.getFeaturesTableType().equals(4)){//增强字符串特征配置
List<ComplexkeywordCfg> complexFeaturesList = appCfgDao.getComplexkeywordFeaturesCfgListByCompileId(
features.getFeaturesTable(),features.getFeaturesCompileId());
complexList.addAll(complexFeaturesList);
}else if(features.getFeaturesTableType().equals(2)){//普通字符串特征配置
List<BaseStringCfg> strFeaturesCfgList = appCfgDao.getStrFeaturesCfgListByCompileId(
features.getFeaturesTable(),features.getFeaturesCompileId());
strList.addAll(strFeaturesCfgList);
}
}
}
entity.setComplexFeaturesList(complexList);
entity.setStrFeaturesCfgList(strList);
return entity;
}
/**
*
* addAppCfg(新增IP类配置)
* (继承AppIdCfg这个类方可使用)
* @param cfg
* @return
*int
* @throws Exception
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int addAppCfg(AppIdCfg cfg) throws Exception{
//通过配置转换工具获取compileId
Integer appCompileId = 0;
int cfgId = 0;
appCompileId = new ConvertTool().getCompileId();
cfg.setCompileId(appCompileId);
cfgId = appCfgDao.insert(cfg);
if(cfg.getComplexFeaturesList()!=null){
for(ComplexkeywordCfg c:cfg.getComplexFeaturesList()){
Integer featuresCompileId = new ConvertTool().getCompileId();
AppFeaturesIndex f = new AppFeaturesIndex();
f.setAppCompileId(cfg.getCompileId());
f.setFeaturesCompileId(featuresCompileId);
f.setFeaturesTableType(4);
f.setFeaturesTable(c.getTableName());
appCfgDao.insertFeatures(f);
c.setTableName(c.getTableName());
// c.initDefaultValue();
c.setAction(cfg.getAction());
c.setServiceId(cfg.getServiceId());
c.setCompileId(featuresCompileId);
c.setCreateTime(cfg.getCreateTime());
c.setCreatorId(cfg.getCreatorId());
c.setIsAudit(cfg.getIsAudit());
c.setIsValid(cfg.getIsValid());
c.setIsAreaEffective(cfg.getIsAreaEffective());
c.setAreaEffectiveIds(cfg.getAreaEffectiveIds());
c.setAttribute(cfg.getAttribute());
c.setLable(cfg.getLable());
c.setClassify(cfg.getClassify());
c.setRequestId(cfg.getRequestId());
c.setCfgDesc(cfg.getCfgDesc());
complexStringCfgDao.insert(c);
}
}
if(cfg.getStrFeaturesCfgList()!=null){
for(BaseStringCfg s:cfg.getStrFeaturesCfgList()){
Integer featuresCompileId = new ConvertTool().getCompileId();
AppFeaturesIndex f = new AppFeaturesIndex();
f.setAppCompileId(cfg.getCompileId());
f.setFeaturesCompileId(featuresCompileId);
f.setFeaturesTableType(2);
f.setFeaturesTable(s.getTableName());
appCfgDao.insertFeatures(f);
s.setTableName(s.getTableName());
// s.initDefaultValue();
s.setAction(cfg.getAction());
s.setServiceId(cfg.getServiceId());
s.setCompileId(featuresCompileId);
s.setCreateTime(cfg.getCreateTime());
s.setCreatorId(cfg.getCreatorId());
s.setIsAudit(cfg.getIsAudit());
s.setIsValid(cfg.getIsValid());
s.setIsAreaEffective(cfg.getIsAreaEffective());
s.setAreaEffectiveIds(cfg.getAreaEffectiveIds());
s.setAttribute(cfg.getAttribute());
s.setLable(cfg.getLable());
s.setClassify(cfg.getClassify());
s.setRequestId(cfg.getRequestId());
s.setCfgDesc(cfg.getCfgDesc());
stringCfgDao.insert(s);
}
}
return cfgId;
}
/**
*
* updateAppCfg(更新IP类配置)
* (继承AppIdCfg这个类方可使用)
* @param cfg
* @return
*int
* @throws Exception
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int updateAppCfg(AppIdCfg cfg) throws Exception{
if(cfg.getComplexFeaturesList()!=null){
for(ComplexkeywordCfg c:cfg.getComplexFeaturesList()){
Integer featuresCompileId = 0;
c.setIsAreaEffective(cfg.getIsAreaEffective());
c.setAreaEffectiveIds(cfg.getAreaEffectiveIds());
c.setAttribute(cfg.getAttribute());
c.setLable(cfg.getLable());
c.setClassify(cfg.getClassify());
c.setRequestId(cfg.getRequestId());
c.setCfgDesc(cfg.getCfgDesc());
c.setEditorId(cfg.getEditorId());
c.setEditTime(cfg.getEditTime());
if(c.getCompileId()==null){
featuresCompileId = new ConvertTool().getCompileId();
AppFeaturesIndex f = new AppFeaturesIndex();
f.setAppCompileId(cfg.getCompileId());
f.setFeaturesCompileId(featuresCompileId);
f.setFeaturesTableType(4);
f.setFeaturesTable(c.getTableName());
appCfgDao.insertFeatures(f);
c.setTableName(c.getTableName());
c.setAction(cfg.getAction());
c.setServiceId(cfg.getServiceId());
c.setCompileId(featuresCompileId);
c.setCreateTime(new Date());
c.setCreatorId(cfg.getCurrentUser().getId());
c.setIsAudit(cfg.getIsAudit());
c.setIsValid(cfg.getIsValid());
complexStringCfgDao.insert(c);
}else{
complexStringCfgDao.update(c);
}
}
}
if(cfg.getStrFeaturesCfgList()!=null){
for(BaseStringCfg s:cfg.getStrFeaturesCfgList()){
Integer featuresCompileId = 0;
s.setIsAreaEffective(cfg.getIsAreaEffective());
s.setAreaEffectiveIds(cfg.getAreaEffectiveIds());
s.setAttribute(cfg.getAttribute());
s.setLable(cfg.getLable());
s.setClassify(cfg.getClassify());
s.setRequestId(cfg.getRequestId());
s.setCfgDesc(cfg.getCfgDesc());
s.setEditorId(cfg.getEditorId());
s.setEditTime(cfg.getEditTime());
if(s.getCompileId()==null){
featuresCompileId = new ConvertTool().getCompileId();
AppFeaturesIndex f = new AppFeaturesIndex();
f.setAppCompileId(cfg.getCompileId());
f.setFeaturesCompileId(featuresCompileId);
f.setFeaturesTableType(2);
f.setFeaturesTable(s.getTableName());
appCfgDao.insertFeatures(f);
s.setTableName(s.getTableName());
s.setAction(cfg.getAction());
s.setServiceId(cfg.getServiceId());
s.setCompileId(featuresCompileId);
s.setCreateTime(new Date());
s.setCreatorId(cfg.getCurrentUser().getId());
s.setIsAudit(cfg.getIsAudit());
s.setIsValid(cfg.getIsValid());
stringCfgDao.insert(s);
}else{
stringCfgDao.update(s);
}
}
}
return appCfgDao.updateByPrimaryKeySelective(cfg);
}
/**
*
* auditAppCfg(审核IP类配置)
* (继承AppIdCfg这个类方可使用)
* @param cfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int auditAppCfg(AppIdCfg cfg){
return appCfgDao.audit(cfg);
}
/**
*
* deleteAppCfg(删除IP类配置)
* (继承AppIdCfg这个类方可使用)
* @param cfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int deleteAppCfg(AppIdCfg cfg){
return appCfgDao.updateValid(cfg);
}
/**
*
* getAppCfg(根据IP与类名获取IP配置)
* (继承AppIdCfg这个类方可使用)
* @param id
* @return
*AppIdCfg
* @exception
* @since 1.0.0
*/
public AppIdCfg getAppCfgById(long id){
return appCfgDao.getById(id);
}
/**
*
* getAppCfg(根据IP与类名获取IP配置)
* (继承AppIdCfg这个类方可使用)
* @param id
* @return
*AppIdCfg
* @exception
* @since 1.0.0
*/
public AppIdCfg getAppCfgById(AppIdCfg cfg){
cfg = appCfgDao.get(cfg);
List<AppFeaturesIndex> featuresTableList = appCfgDao.getFeaturesTableListByAppCompileId(cfg.getCompileId());
List<ComplexkeywordCfg> complexList = new ArrayList();
List<BaseStringCfg> strList = new ArrayList();
if(!StringUtil.isEmpty(featuresTableList)){
for(AppFeaturesIndex features:featuresTableList){
if(features.getFeaturesTableType().equals(4)){//增强字符串特征配置
List<ComplexkeywordCfg> complexFeaturesList = appCfgDao.getComplexkeywordFeaturesCfgListByCompileId(
features.getFeaturesTable(),features.getFeaturesCompileId());
complexList.addAll(complexFeaturesList);
}else if(features.getFeaturesTableType().equals(2)){//普通字符串特征配置
List<BaseStringCfg> strFeaturesCfgList = appCfgDao.getStrFeaturesCfgListByCompileId(
features.getFeaturesTable(),features.getFeaturesCompileId());
strList.addAll(strFeaturesCfgList);
}
}
}
cfg.setComplexFeaturesList(complexList);
cfg.setStrFeaturesCfgList(strList);
return cfg;
}
public Integer getIsValid(Long cfgId){
return appCfgDao.getIsValid(cfgId);
}
/*public Integer getIsValid(String tableName, long id){
return appCfgDao.getIsValid(tableName,id);
}*/
public Integer getIsAudit(Long cfgId){
return appCfgDao.getIsAudit(cfgId);
}
/*public Integer getIsAudit(String tableName, long id){
return appCfgDao.getIsAudit(tableName,id);
}*/
}