package com.nis.web.service.configuration; 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.beust.jcommander.internal.Lists; import com.nis.domain.Page; import com.nis.domain.callback.ProxyFileResponsePageCfg; import com.nis.domain.callback.ProxyFileResponsePageCfgAudit; import com.nis.domain.maat.ToMaatResult; import com.nis.util.ConfigServiceUtil; import com.nis.util.StringUtil; import com.nis.web.dao.configuration.ProxyFileResponsePageDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; @Service public class ProxyFileResponsePageService extends BaseService{ @Autowired protected ProxyFileResponsePageDao proxyFileDao; /** * 分页查询 * @param page * @param entity * @return */ public Page findPage(Page page, ProxyFileResponsePageCfg entity) { entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); entity.setPage(page); List list=proxyFileDao.findPage(entity); page.setList(list); return page; } public ProxyFileResponsePageCfg getCfgById(Long cfgId) { return proxyFileDao.getCfgById(cfgId); } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveOrUpdate(ProxyFileResponsePageCfg entity){ Date createTime=new Date(); //设置区域运营商信息 setAreaEffectiveIds(entity); int isValid=0; if(!StringUtil.isEmpty(entity.getIsValid()) && entity.getIsValid()==1) { isValid=1; } entity.setIsValid(0); entity.setIsAudit(0); //新增 if(entity.getCfgId()==null){ Integer compileId = ConfigServiceUtil.getId(1, 1).get(0);//获取编译id entity.setCompileId(compileId); entity.setCreatorId(UserUtils.getUser().getId()); entity.setCreateTime(createTime); entity.setIsValid(0); entity.setIsAudit(0); proxyFileDao.insert(entity);//新增 }else{ Date editTime=new Date(); entity.setIsValid(0); entity.setIsAudit(0); entity.setEditorId(UserUtils.getUser().getId()); entity.setEditTime(editTime); proxyFileDao.update(entity);//更新 } if(isValid==1) { entity.setIsAudit(1); entity.setIsValid(1); audit( entity.getIsAudit(), isValid, entity.getFunctionId(), String.valueOf(entity.getCfgId())); } } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void update(Integer isAudit,Integer isValid,String ids,Integer functionId){ ProxyFileResponsePageCfg entity = new ProxyFileResponsePageCfg(); String[] idArray = ids.split(","); for(String id :idArray){ entity.setCfgId(Long.parseLong(id)); entity.setFunctionId(functionId); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setEditorId(UserUtils.getUser().getId()); entity.setEditTime(new Date()); proxyFileDao.update(entity); } } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void audit(Integer isAudit,Integer isValid,Integer functionId,String ids){ Date auditTime = new Date();//审核时间 String[] idArray = ids.split(","); for(String id : idArray) { ProxyFileResponsePageCfg entity = proxyFileDao.getCfgById(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(auditTime); proxyFileDao.update(entity); if(isAudit == 1) {//审核通过,下发配置回调配置信息 List convertList = Lists.newArrayList(); convertList.add(BaseService.convertCallBackProxyFileResponsePage(entity)); String json = gsonToJson(convertList); logger.debug("访问阻断页面下发参数:" + json); ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); logger.debug("访问阻断页面下发响应:"+gsonToJson(result)); }else if(isAudit == 3) {//取消审核通过,将回调配置信息置为无效 List convertList = Lists.newArrayList(); convertList.add(BaseService.convertCallBackProxyFileResponsePage(entity)); String json = gsonToJson(convertList); logger.debug("访问阻断页面下发参数:" + json); ToMaatResult result = ConfigServiceUtil.put(json,2); logger.debug("访问阻断页面下发响应:"+gsonToJson(result)); } } } /** * 获取所有的 响应文件 策略 * @return */ public List getProxyFileResponsePageCfgList(ProxyFileResponsePageCfg entity){ entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); List list=proxyFileDao.findPage(entity); return list; } }