package com.nis.web.service.basics; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.beans.BeanUtils; 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.basics.AsnGroupInfo; import com.nis.domain.basics.AsnIpCfg; import com.nis.domain.basics.UrlCommGroupCfg; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.maat.GroupReuseAddBean; import com.nis.domain.maat.GroupReuseCfg; import com.nis.domain.maat.MaatCfg; import com.nis.domain.maat.ToMaatBean; import com.nis.domain.maat.ToMaatResult; import com.nis.domain.maat.MaatCfg.DigestCfg; import com.nis.domain.maat.MaatCfg.GroupCfg; import com.nis.domain.maat.MaatCfg.IpCfg; import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; import com.nis.domain.maat.MaatCfg.StringCfg; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.dao.CrudDao; import com.nis.web.dao.basics.UrlCommGroupDao; import com.nis.web.dao.configuration.IpCfgDao; import com.nis.web.security.UserUtils; import com.nis.web.service.CrudService; import com.nis.web.service.SpringContextHolder; @Service public class UrlCommGroupService extends CrudService, UrlCommGroupCfg>{ @Autowired private UrlCommGroupDao urlCommGroupDao; public Page findPage(Page page, UrlCommGroupCfg entity) { entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r")); entity.setPage(page); List list=urlCommGroupDao.findAllPageList(entity); for (int i = 0; i < list.size(); i++) { String key=list.get(i).getCfgKeywords().replace("***and***", " "); list.get(i).setCfgKeywords(key); } page.setList(list); return page; } public List findByPage(String ids) { List list=urlCommGroupDao.findByPage(ids); return list; } public UrlCommGroupCfg get(Long id ) { return urlCommGroupDao.get(id); } //新增 insertUrlCommGroupCfg @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveUrlCommGroupCfg(CfgIndexInfo entity) { Date createTime=new Date(); if(entity.getUrlCommGroupList()!=null) { for (int i = 0; i < entity.getUrlCommGroupList().size(); i++) { BeanUtils.copyProperties(entity, entity.getUrlCommGroupList().get(i), new String[]{"cfgId"}); entity.getUrlCommGroupList().get(i).setRequestId(0); entity.getUrlCommGroupList().get(i).setClassify("0"); entity.getUrlCommGroupList().get(i).setAttribute("0"); entity.getUrlCommGroupList().get(i).setLable("0"); entity.getUrlCommGroupList().get(i).setIsHexbin(0); entity.getUrlCommGroupList().get(i).setCreateTime(createTime); entity.getUrlCommGroupList().get(i).setCreatorId(entity.getCurrentUser().getId()); entity.getUrlCommGroupList().get(i).setIsValid(Constants.VALID_NO); entity.getUrlCommGroupList().get(i).setIsAudit(Constants.AUDIT_NOT_YET); if(entity.getUrlCommGroupList().get(i).getCfgKeywords().contains("***and***")){ entity.getUrlCommGroupList().get(i).setExprType(1); }else{ entity.getUrlCommGroupList().get(i).setExprType(0); } urlCommGroupDao.insertUrlCommGroupCfg(entity.getUrlCommGroupList().get(i)); } // //修改公共组的标识 // Integer udFlag=urlCommGroupDao.findUrlUdFlag(Integer.parseInt(entity.getUserRegion3())); // if(udFlag == 0){ // urlCommGroupDao.updateUrlUdFlag(Integer.parseInt(entity.getUserRegion3()), 1); // } } } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void update(UrlCommGroupCfg entity){ Date editTime=new Date(); entity.setIsValid(0); entity.setIsAudit(0); entity.setEditTime(editTime); entity.setEditorId(entity.getCurrentUser().getId()); if(entity.getCfgKeywords().contains("***and***")){ entity.setExprType(1); }else{ entity.setExprType(0); } urlCommGroupDao.update(entity); } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void delete(String ids) { urlCommGroupDao.delete(ids); } public List getByIds(String ids) { if(ids==null) { throw new RuntimeException("ids is null!"); } return urlCommGroupDao.getByIds(ids); } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void audit(UrlCommGroupCfg urlGroupCfg,Integer isAudit,Integer isValid) { if(!StringUtil.isEmpty(urlGroupCfg)){ urlGroupCfg.setIsValid(isValid); urlGroupCfg.setIsAudit(isAudit); urlGroupCfg.setAuditorId(UserUtils.getUser().getId()); urlGroupCfg.setAuditTime(new Date()); urlCommGroupDao.update(urlGroupCfg); } //下发配置时改变公共组udFlag标识 //查询有效的url配置个数 Integer groupCount=urlCommGroupDao.getGroupIdCount(urlGroupCfg.getUserRegion3()); if(groupCount>0){//udFlag 设置为1 urlCommGroupDao.updateUrlUdFlag(Integer.parseInt(urlGroupCfg.getUserRegion3()), 1); }else{//udFlag 设置为0 urlCommGroupDao.updateUrlUdFlag(Integer.parseInt(urlGroupCfg.getUserRegion3()), 0); } } }