增加配置保护名单管理功能.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user