增加配置保护名单管理功能.

This commit is contained in:
zhangwenqing
2019-03-27 18:05:18 +08:00
parent b7a64234f8
commit 08dd0f3868
15 changed files with 838 additions and 20 deletions

View File

@@ -0,0 +1,106 @@
package com.nis.web.service.basics;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.common.collect.Lists;
import com.nis.domain.Page;
import com.nis.domain.basics.ProtectionListInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.CacheUtils;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.InnerProtectionDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@Service
public class InnerProtectionListService extends BaseService{
@Autowired
private InnerProtectionDao innerProtectionDao;
public Page<ProtectionListInfo> findProtectionInfoList(Page<ProtectionListInfo> page, ProtectionListInfo entity) {
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
entity.setPage(page);
List<ProtectionListInfo> list = innerProtectionDao.findProtectionInfoList(entity);
page.setList(list);
return page;
}
public ProtectionListInfo getById(int id) {
ProtectionListInfo protectionListInfo = innerProtectionDao.getById(id);
return protectionListInfo;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(ProtectionListInfo cfg) throws MaatConvertException{
cfg.setIsValid(1);
if(cfg.getProId()==null){//新增
Date createTime=new Date();
cfg.setCreatorId(UserUtils.getUser().getId());
cfg.setCreateTime(createTime);
innerProtectionDao.insert(cfg);
}else{//更新
Date editTime=new Date();
cfg.setEditorId(UserUtils.getUser().getId());
cfg.setEditTime(editTime);
innerProtectionDao.update(cfg);
}
this.updateProtetionListDict();
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deldete(String ids, int isValid){
ProtectionListInfo entity=new ProtectionListInfo();
Date editTime=new Date();
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
entity.setIsValid(isValid);
if(!StringUtil.isEmpty(ids)){
for (String id : ids.split(",")) {
if(!StringUtil.isEmpty(id)){
entity.setProId(Integer.parseInt(id));
innerProtectionDao.update(entity);
}
}
}
this.updateProtetionListDict();
}
public Map<String,List<String>> ajaxGetAllInfo() {
Map<String,List<String>> dictMap = (Map<String,List<String>>)CacheUtils.get(Constants.CACHE_PROTECTION_LIST_DICT);
if(StringUtil.isEmpty(dictMap)) {
dictMap = this.updateProtetionListDict();
}
return dictMap;
}
/**
* 更新字典缓存
* @return
*/
private Map<String, List<String>> updateProtetionListDict() {
Map<String,List<String>> dictMap = new HashMap<String,List<String>>();
List<ProtectionListInfo> list = innerProtectionDao.ajaxGetAllInfo();
for (ProtectionListInfo info : list) {
List<String> putList = new ArrayList<String>();
if(dictMap.containsKey(info.getTargetType())) {
putList = dictMap.get(info.getTargetType());
}
putList.add(info.getKeyword());
dictMap.put(info.getTargetType(), putList);
}
CacheUtils.put(Constants.CACHE_PROTECTION_LIST_DICT, dictMap);
return dictMap;
}
}