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
wangxin 9a130d864d (1)为了使用批量更新,修改了updateByPrimaryKeySelective方法的方法名为update
(2)多域类配置加入地域IP
(3)多域类配置可任选
(4)多域类配置加入批量删除,审核
2018-04-13 13:50:29 +08:00

610 lines
22 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nis.web.service.configuration;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.nis.domain.Page;
import com.nis.domain.ServiceConfigInfo;
import com.nis.domain.configuration.AppComplexKeywordCfg;
import com.nis.domain.configuration.AppIdCfg;
import com.nis.domain.configuration.AppIdCfg.AppFeaturesIndex;
import com.nis.domain.configuration.AppStringCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.maat.AppMaatCfg;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.domain.specific.SpecificServiceHostCfg;
import com.nis.main.ConvertTool;
import com.nis.util.Constants;
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.IpCfgDao;
import com.nis.web.dao.configuration.StringCfgDao;
import com.nis.web.dao.specific.SpecificServiceCfgDao;
import com.nis.web.dao.specific.SpecificServiceHostCfgDao;
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;
@Autowired
private SpecificServiceCfgDao specificServiceCfgDao;
@Autowired
private SpecificServiceHostCfgDao specificServiceHostCfgDao;
@Autowired
protected IpCfgDao ipCfgDao;
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<AppComplexKeywordCfg> complexList = new ArrayList();
List<AppStringCfg> strList = new ArrayList();
if(!StringUtil.isEmpty(featuresTableList)){
for(AppFeaturesIndex features:featuresTableList){
if(features.getFeaturesTableType().equals(4)){//增强字符串特征配置
List<AppComplexKeywordCfg> complexFeaturesList = appCfgDao.getComplexkeywordFeaturesCfgListByCompileId(
features.getFeaturesTable(),features.getFeaturesCompileId());
complexList.addAll(complexFeaturesList);
}else if(features.getFeaturesTableType().equals(2)){//普通字符串特征配置
List<AppStringCfg> 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(AppComplexKeywordCfg 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(AppStringCfg 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(AppComplexKeywordCfg 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(AppStringCfg 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
* @throws Exception
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int auditAppCfg(String[] cfgIds,Integer auditState) throws Exception{
List<AppMaatCfg> jsonList = new ArrayList();
Gson gson=new GsonBuilder().disableHtmlEscaping()
.excludeFieldsWithoutExposeAnnotation()
.create();
boolean sendFlag = false;
for(String id:cfgIds){
AppIdCfg appCfg = appCfgDao.getById(Long.parseLong(id));
//给需要修改的配置字段赋值
appCfg.setIsAudit(auditState);
appCfg.setAuditorId(appCfg.getCurrentUser().getId());
appCfg.setAuditTime(new Date());
if(auditState==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
appCfg.setIsValid(Constants.VALID_NO);
}else if(auditState==Constants.AUDIT_YES){//审核通过设置有效标志为1
appCfg.setIsValid(Constants.VALID_YES);
}
if(appCfg.getCompileId()==0){
logger.error("转换出错,未获取到正确的compileId");
break;
}
List<AppFeaturesIndex> featuresTableList = appCfgDao.getFeaturesTableListByAppCompileId(appCfg.getCompileId());
List<AppStringCfg> strList = new ArrayList();
List<AppComplexKeywordCfg> complexList = new ArrayList();
List<SpecificServiceHostCfg> hostList =new ArrayList();
List<BaseIpCfg> areaList = new ArrayList();
ConfigGroupInfo group = null;
//配置审核状态即将改变后的状态
if(Constants.AUDIT_NOT_YES==auditState||
Constants.AUDIT_YES==auditState){//审核通过,取消审核通过需要发到maat
if(Constants.AUDIT_YES==auditState){//审核通过
if(StringUtil.isEmpty(featuresTableList)){
SpecificServiceCfg protocol = specificServiceCfgDao.getBySpecServiceId(appCfg.getAppId().intValue());
group = specificServiceCfgDao.getConfigGroupInfoByGroupId(protocol.getGroupId());
//featuresTableList为空的时候该service只有特定服务IP一个配置表
ServiceConfigInfo serviceCfg=serviceConfigInfoDao.findSysServiceConfigInfo(appCfg.getServiceId());
if(group==null){
throw new RuntimeException("配置审核失败未获取社交应用服务器IP所属分组信息");
}else{
if(group.getIsIssued()==0){
//如果分组信息尚未下发则下发IP
group.setGroupId(protocol.getGroupId());
group.setIsIssued(1);
SpecificServiceHostCfg hostCfg = new SpecificServiceHostCfg();
hostCfg.setSpecServiceId(protocol.getSpecServiceId());
hostList = specificServiceHostCfgDao.findSpecHostList(hostCfg);
for(SpecificServiceHostCfg host:hostList){
SpecificServiceCfg specServiceCfg = specificServiceCfgDao.getBySpecServiceId(host.getSpecServiceId());
host.setProtocolId(0);
host.setGroupId(specServiceCfg.getGroupId());
if(StringUtil.isEmpty(serviceCfg)){
host.setMaatTable("DF_PROTOCOL_APP");
}else{
host.setMaatTable(serviceCfg.getMaatTable());
}
}
}else{
SpecificServiceHostCfg host = new SpecificServiceHostCfg();
host.setGroupId(protocol.getGroupId());
hostList.add(host);
}
}
//生效区域列表信息
if(appCfg.getIsAreaEffective()==1){
if(StringUtil.isEmpty(appCfg.getAreaEffectiveIds())){
BaseIpCfg ipCfg = new BaseIpCfg();
ipCfg.setCompileId(appCfg.getCompileId());
ipCfg.setTableName("area_ip_cfg");
areaList = ipCfgDao.findList(ipCfg);
}
}
}else{
for(AppFeaturesIndex featuresCfg:featuresTableList){
if(featuresCfg.getFeaturesTableType()==2){
List<AppStringCfg> list =appCfgDao.getStrFeaturesCfgListByCompileId(featuresCfg.getFeaturesTable(), featuresCfg.getFeaturesCompileId());
for(AppStringCfg cfg:list){
List<ServiceConfigInfo> cList = serviceConfigInfoDao.findList(appCfg.getServiceId());
if(!StringUtil.isEmpty(cList)){
for(ServiceConfigInfo c:cList){
if(c.getTableName().equals(featuresCfg.getFeaturesTable())){
cfg.setMaatTable(c.getMaatTable());
}
}
}
cfg.setCompileId(featuresCfg.getFeaturesCompileId());
strList.add(cfg);
}
}
if(featuresCfg.getFeaturesTableType()==4){
List<AppComplexKeywordCfg> list = appCfgDao.getComplexkeywordFeaturesCfgListByCompileId(featuresCfg.getFeaturesTable(), featuresCfg.getFeaturesCompileId());
for(AppComplexKeywordCfg cfg:list){
List<ServiceConfigInfo> cList = serviceConfigInfoDao.findList(appCfg.getServiceId());
if(!StringUtil.isEmpty(cList)){
for(ServiceConfigInfo c:cList){
if(c.getTableName().equals(featuresCfg.getFeaturesTable())){
cfg.setMaatTable(c.getMaatTable());
}
}
}
cfg.setCompileId(featuresCfg.getFeaturesCompileId());
complexList.add(cfg);
}
}
}
}
AppMaatCfg maatCfg = new AppMaatCfg();
if(StringUtil.isEmpty(featuresTableList)){
maatCfg.setIpCfg(hostList);
maatCfg.setAreaCfg(areaList);
if(appCfg.getCompileId()==0){
throw new RuntimeException("转换出错,未获取到正确的compileId");
}else{
maatCfg.setCompileId(appCfg.getCompileId());
}
}else{//特征配置
maatCfg.setStrCfg(strList);
maatCfg.setComplexStrCfg(complexList);
}
if(appCfg.getAction()==null){
throw new RuntimeException("转换出错,未获取到正确的action");
}else{
maatCfg.setAction(appCfg.getAction());
}
if(appCfg.getIsAreaEffective()==null){
throw new RuntimeException("转换出错,未获取到正确的isAreaEffective");
}else{
maatCfg.setIsAreaEffective(appCfg.getIsAreaEffective());
}
if(appCfg.getIsValid()==null){
throw new RuntimeException("转换出错,未获取到正确的isValid");
}else{
maatCfg.setIsValid(appCfg.getIsValid());
}
if(appCfg.getRequestId()==null){
throw new RuntimeException("转换出错,未获取到正确的requestId");
}else{
maatCfg.setRequestId(appCfg.getRequestId());
}
if(appCfg.getServiceId()==null){
throw new RuntimeException("转换出错,未获取到正确的serviceId");
}else{
maatCfg.setServiceId(appCfg.getServiceId());
}
maatCfg.setSpecificServiceId(appCfg.getAppId());
maatCfg.setAreaEffectiveIds(appCfg.getAreaEffectiveIds()==null?"":appCfg.getAreaEffectiveIds());
maatCfg.setAttribute(appCfg.getAttribute()==null?"":appCfg.getAttribute());
maatCfg.setClassify(appCfg.getClassify()==null?"":appCfg.getClassify());
maatCfg.setLable(appCfg.getLable()==null?"":appCfg.getLable());
jsonList.add(maatCfg);
//修改appId配置审核下发状态
appCfgDao.audit(appCfg);
//修改特定服务IP分组下发状态
specificServiceCfgDao.updateConfigGroupInfobyGroupId(group);
//修改特征表配置审核下发状态
for(AppFeaturesIndex cfg:featuresTableList){
appCfgDao.auditFeaturesTable(cfg.getFeaturesTable(), cfg.getFeaturesCompileId(), appCfg.getIsValid(),
appCfg.getIsAudit(), appCfg.getAuditorId(), appCfg.getAuditTime());
}
}else{//取消审核通过
AppMaatCfg maatCfg = new AppMaatCfg();
if(StringUtil.isEmpty(featuresTableList)){
ServiceConfigInfo serviceCfg=serviceConfigInfoDao.findSysServiceConfigInfo(appCfg.getServiceId());
maatCfg.setMaatTable(serviceCfg.getMaatTable());
if(appCfg.getCompileId()==0){
throw new RuntimeException("转换出错,未获取到正确的compileId");
}else{
maatCfg.setCompileId(appCfg.getCompileId());
}
}else{//特征配置
for(AppFeaturesIndex featuresCfg:featuresTableList){
if(featuresCfg.getFeaturesTableType()==2){
List<AppStringCfg> list =appCfgDao.getStrFeaturesCfgListByCompileId(featuresCfg.getFeaturesTable(), featuresCfg.getFeaturesCompileId());
for(AppStringCfg cfg:list){
AppStringCfg strCfg = new AppStringCfg();
List<ServiceConfigInfo> cList = serviceConfigInfoDao.findList(appCfg.getServiceId());
if(!StringUtil.isEmpty(cList)){
for(ServiceConfigInfo c:cList){
if(c.getTableName().equals(featuresCfg.getFeaturesTable())){
strCfg.setMaatTable(c.getMaatTable());
}
}
}
strCfg.setCompileId(featuresCfg.getFeaturesCompileId());
strList.add(strCfg);
}
}
if(featuresCfg.getFeaturesTableType()==4){
List<AppComplexKeywordCfg> list = appCfgDao.getComplexkeywordFeaturesCfgListByCompileId(featuresCfg.getFeaturesTable(), featuresCfg.getFeaturesCompileId());
for(AppComplexKeywordCfg cfg:list){
AppComplexKeywordCfg complexCfg = new AppComplexKeywordCfg();
List<ServiceConfigInfo> cList = serviceConfigInfoDao.findList(appCfg.getServiceId());
if(!StringUtil.isEmpty(cList)){
for(ServiceConfigInfo c:cList){
if(c.getTableName().equals(featuresCfg.getFeaturesTable())){
complexCfg.setMaatTable(c.getMaatTable());
}
}
}
complexCfg.setCompileId(featuresCfg.getFeaturesCompileId());
complexList.add(complexCfg);
}
}
}
maatCfg.setStrCfg(strList);
maatCfg.setComplexStrCfg(complexList);
}
jsonList.add(maatCfg);
//修改appId配置审核下发状态
appCfgDao.audit(appCfg);
//修改特定服务IP分组下发状态
specificServiceCfgDao.updateConfigGroupInfobyGroupId(group);
//修改特征表配置审核下发状态
for(AppFeaturesIndex cfg:featuresTableList){
appCfgDao.auditFeaturesTable(cfg.getFeaturesTable(), cfg.getFeaturesCompileId(), appCfg.getIsValid(),
appCfg.getIsAudit(), appCfg.getAuditorId(), appCfg.getAuditTime());
}
}
}
}
String json=gson.toJson(jsonList);
//下发maat
// new ConvertTool().saveConfig(json);
sendFlag = true;
if(sendFlag){
return 1;
}else{
return 0;
}
}
/**
*
* deleteAppCfg(删除IP类配置)
* (继承AppIdCfg这个类方可使用)
* @param cfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int deleteAppCfg(String[] cfgIds){
for(String id : cfgIds){
AppIdCfg entity = appCfgDao.getById(Long.parseLong(id));
entity.setEditorId(entity.getCurrentUser().getId());
entity.setEditTime(new Date());
entity.setIsValid(Constants.VALID_DEL);
Integer status = appCfgDao.updateValid(entity);
if(status==1){
List<AppFeaturesIndex> featuresTableList = appCfgDao.getFeaturesTableListByAppCompileId(entity.getCompileId());
for(AppFeaturesIndex cfg:featuresTableList){
status = appCfgDao.updateFeaturesTableValid(cfg.getFeaturesTable(), cfg.getFeaturesCompileId(),
entity.getIsValid(), entity.getEditorId(), entity.getEditTime());
if(status==0){
return 0;
}
}
}else{
return 0;
}
}
return 1;
}
/**
*
* 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<AppComplexKeywordCfg> complexList = new ArrayList();
List<AppStringCfg> strList = new ArrayList();
if(!StringUtil.isEmpty(featuresTableList)){
for(AppFeaturesIndex features:featuresTableList){
if(features.getFeaturesTableType().equals(4)){//增强字符串特征配置
List<AppComplexKeywordCfg> complexFeaturesList = appCfgDao.getComplexkeywordFeaturesCfgListByCompileId(
features.getFeaturesTable(),features.getFeaturesCompileId());
complexList.addAll(complexFeaturesList);
}else if(features.getFeaturesTableType().equals(2)){//普通字符串特征配置
List<AppStringCfg> 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);
}
}