【add】数据字典模块刷新缓存的服务层接口

This commit is contained in:
mzc5649
2021-04-08 09:11:57 +08:00
parent 312fdfcd79
commit 2bc988c1f9
4 changed files with 1021 additions and 1001 deletions
@@ -360,6 +360,7 @@ public class OnlCgformHeadServiceImpl extends ServiceImpl<OnlCgformHeadMapper, O
} }
} }
@Override
public void deleteRecordAndTable(String id) throws DBException, SQLException { public void deleteRecordAndTable(String id) throws DBException, SQLException {
OnlCgformHead var2 = (OnlCgformHead)this.getById(id); OnlCgformHead var2 = (OnlCgformHead)this.getById(id);
if (var2 == null) { if (var2 == null) {
@@ -1,138 +1,145 @@
package com.jero.modules.system.service; package com.jero.modules.system.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.DictQuery; import com.jero.common.system.vo.DictQuery;
import com.jero.modules.system.entity.SysDict; import com.jero.modules.system.entity.SysDict;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.model.TreeSelectModel; import com.jero.modules.system.model.TreeSelectModel;
/** /**
* <p> * <p>
* 字典表 服务类 * 字典表 服务类
* </p> * </p>
* *
* @Author zhangweijian * @Author zhangweijian
* @since 2018-12-28 * @since 2018-12-28
*/ */
public interface ISysDictService extends IService<SysDict> { public interface ISysDictService extends IService<SysDict> {
public List<DictModel> queryDictItemsByCode(String code); public List<DictModel> queryDictItemsByCode(String code);
public Map<String,List<DictModel>> queryAllDictItems(); public Map<String,List<DictModel>> queryAllDictItems();
@Deprecated @Deprecated
List<DictModel> queryTableDictItemsByCode(String table, String text, String code); List<DictModel> queryTableDictItemsByCode(String table, String text, String code);
@Deprecated @Deprecated
public List<DictModel> queryTableDictItemsByCodeAndFilter(String table, String text, String code, String filterSql); public List<DictModel> queryTableDictItemsByCodeAndFilter(String table, String text, String code, String filterSql);
public String queryDictTextByKey(String code, String key); public String queryDictTextByKey(String code, String key);
@Deprecated @Deprecated
String queryTableDictTextByKey(String table, String text, String code, String key); String queryTableDictTextByKey(String table, String text, String code, String key);
@Deprecated @Deprecated
List<String> queryTableDictByKeys(String table, String text, String code, String keys); List<String> queryTableDictByKeys(String table, String text, String code, String keys);
/** /**
* 根据字典类型删除关联表中其对应的数据 * 根据字典类型删除关联表中其对应的数据
* *
* @param sysDict * @param sysDict
* @return * @return
*/ */
boolean deleteByDictId(SysDict sysDict); boolean deleteByDictId(SysDict sysDict);
/** /**
* 添加一对多 * 添加一对多
*/ */
public Integer saveMain(SysDict sysDict, List<SysDictItem> sysDictItemList); public Integer saveMain(SysDict sysDict, List<SysDictItem> sysDictItemList);
/** /**
* 查询所有部门 作为字典信息 id -->value,departName -->text * 查询所有部门 作为字典信息 id -->value,departName -->text
* @return * @return
*/ */
public List<DictModel> queryAllDepartBackDictModel(); public List<DictModel> queryAllDepartBackDictModel();
/** /**
* 查询所有用户 作为字典信息 username -->value,realname -->text * 查询所有用户 作为字典信息 username -->value,realname -->text
* @return * @return
*/ */
public List<DictModel> queryAllUserBackDictModel(); public List<DictModel> queryAllUserBackDictModel();
/** /**
* 通过关键字查询字典表 * 通过关键字查询字典表
* @param table * @param table
* @param text * @param text
* @param code * @param code
* @param keyword * @param keyword
* @return * @return
*/ */
@Deprecated @Deprecated
public List<DictModel> queryTableDictItems(String table, String text, String code,String keyword); public List<DictModel> queryTableDictItems(String table, String text, String code,String keyword);
/** /**
* 查询字典表数据 只查询前10条 * 查询字典表数据 只查询前10条
* @param table * @param table
* @param text * @param text
* @param code * @param code
* @param keyword * @param keyword
* @return * @return
*/ */
public List<DictModel> queryLittleTableDictItems(String table, String text, String code,String keyword, int pageSize); public List<DictModel> queryLittleTableDictItems(String table, String text, String code,String keyword, int pageSize);
/** /**
* 根据表名、显示字段名、存储字段名 查询树 * 根据表名、显示字段名、存储字段名 查询树
* @param table * @param table
* @param text * @param text
* @param code * @param code
* @param pidField * @param pidField
* @param pid * @param pid
* @param hasChildField * @param hasChildField
* @return * @return
*/ */
List<TreeSelectModel> queryTreeList(String query,String table, String text, String code, String pidField,String pid,String hasChildField); List<TreeSelectModel> queryTreeList(String query,String table, String text, String code, String pidField,String pid,String hasChildField);
/** /**
* 根据表名、显示字段名、存储字段名 和查询条件拼接树结构 * 根据表名、显示字段名、存储字段名 和查询条件拼接树结构
* @param table * @param table
* @param text * @param text
* @param code * @param code
* @param pidField * @param pidField
* @return * @return
*/ */
List<TreeSelectModel> queryAllTreeData(String table, String text, String code, String pidField); List<TreeSelectModel> queryAllTreeData(String table, String text, String code, String pidField);
/** /**
* 真实删除 * 真实删除
* @param id * @param id
*/ */
public void deleteOneDictPhysically(String id); public void deleteOneDictPhysically(String id);
/** /**
* 修改delFlag * 修改delFlag
* @param delFlag * @param delFlag
* @param id * @param id
*/ */
public void updateDictDelFlag(int delFlag,String id); public void updateDictDelFlag(int delFlag,String id);
/** /**
* 查询被逻辑删除的数据 * 查询被逻辑删除的数据
* @return * @return
*/ */
public List<SysDict> queryDeleteList(); public List<SysDict> queryDeleteList();
/** /**
* 分页查询 * 分页查询
* @param query * @param query
* @param pageSize * @param pageSize
* @param pageNo * @param pageNo
* @return * @return
*/ */
@Deprecated @Deprecated
public List<DictModel> queryDictTablePageList(DictQuery query,int pageSize, int pageNo); public List<DictModel> queryDictTablePageList(DictQuery query,int pageSize, int pageNo);
} /**
* 刷新dict缓存
* @date 2021/4/8 9:06
* @return void
*/
void refreshCache();
}
@@ -1,290 +1,313 @@
package com.jero.modules.system.service.impl; package com.jero.modules.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.DictQuery; import com.jero.common.system.vo.DictQuery;
import com.jero.common.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.SysDict; import com.jero.modules.system.entity.SysDict;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.mapper.SysDictItemMapper;
import com.jero.modules.system.mapper.SysDictMapper; import com.jero.modules.system.mapper.SysDictMapper;
import com.jero.modules.system.model.TreeSelectModel; import com.jero.modules.system.model.TreeSelectModel;
import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysDictService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.transaction.annotation.Transactional; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap; import javax.annotation.Resource;
import java.util.List; import java.util.*;
import java.util.Map; import java.util.stream.Collectors;
import java.util.stream.Collectors;
/**
/** * <p>
* <p> * 字典表 服务实现类
* 字典表 服务实现类 * </p>
* </p> *
* * @Author zhangweijian
* @Author zhangweijian * @since 2018-12-28
* @since 2018-12-28 */
*/ @Service
@Service @Slf4j
@Slf4j public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> implements ISysDictService {
public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> implements ISysDictService {
@Autowired
@Autowired private SysDictMapper sysDictMapper;
private SysDictMapper sysDictMapper; @Autowired
@Autowired private SysDictItemMapper sysDictItemMapper;
private SysDictItemMapper sysDictItemMapper; @Resource
private RedisTemplate<String, Object> redisTemplate;
/**
* 通过查询指定code 获取字典 /**
* @param code * 通过查询指定code 获取字典
* @return * @param code
*/ * @return
@Override */
@Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code") @Override
public List<DictModel> queryDictItemsByCode(String code) { @Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code")
log.debug("无缓存dictCache的时候调用这里!"); public List<DictModel> queryDictItemsByCode(String code) {
return sysDictMapper.queryDictItemsByCode(code); log.debug("无缓存dictCache的时候调用这里!");
} return sysDictMapper.queryDictItemsByCode(code);
}
@Override
public Map<String, List<DictModel>> queryAllDictItems() { @Override
Map<String, List<DictModel>> res = new HashMap<String, List<DictModel>>(); public Map<String, List<DictModel>> queryAllDictItems() {
List<SysDict> ls = sysDictMapper.selectList(null); Map<String, List<DictModel>> res = new HashMap<String, List<DictModel>>();
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>(); List<SysDict> ls = sysDictMapper.selectList(null);
queryWrapper.eq(SysDictItem::getStatus, 1); LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>();
queryWrapper.orderByAsc(SysDictItem::getSortOrder); queryWrapper.eq(SysDictItem::getStatus, 1);
List<SysDictItem> sysDictItemList = sysDictItemMapper.selectList(queryWrapper); queryWrapper.orderByAsc(SysDictItem::getSortOrder);
List<SysDictItem> sysDictItemList = sysDictItemMapper.selectList(queryWrapper);
for (SysDict d : ls) {
List<DictModel> dictModelList = sysDictItemList.stream().filter(s -> d.getId().equals(s.getDictId())).map(item -> { for (SysDict d : ls) {
DictModel dictModel = new DictModel(); List<DictModel> dictModelList = sysDictItemList.stream().filter(s -> d.getId().equals(s.getDictId())).map(item -> {
dictModel.setText(item.getItemText()); DictModel dictModel = new DictModel();
dictModel.setValue(item.getItemValue()); dictModel.setText(item.getItemText());
return dictModel; dictModel.setValue(item.getItemValue());
}).collect(Collectors.toList()); return dictModel;
res.put(d.getDictCode(), dictModelList); }).collect(Collectors.toList());
} res.put(d.getDictCode(), dictModelList);
log.debug("-------登录加载系统字典-----" + res.toString()); }
return res; log.debug("-------登录加载系统字典-----" + res.toString());
} return res;
}
/**
* 通过查询指定code 获取字典值text /**
* @param code * 通过查询指定code 获取字典值text
* @param key * @param code
* @return * @param key
*/ * @return
*/
@Override
@Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code+':'+#key") @Override
public String queryDictTextByKey(String code, String key) { @Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code+':'+#key")
log.debug("无缓存dictText的时候调用这里!"); public String queryDictTextByKey(String code, String key) {
return sysDictMapper.queryDictTextByKey(code, key); log.debug("无缓存dictText的时候调用这里!");
} return sysDictMapper.queryDictTextByKey(code, key);
}
/**
* 通过查询指定table的 text code 获取字典 /**
* dictTableCache采用redis缓存有效期10分钟 * 通过查询指定table的 text code 获取字典
* @param table * dictTableCache采用redis缓存有效期10分钟
* @param text * @param table
* @param code * @param text
* @return * @param code
*/ * @return
@Override */
//@Cacheable(value = CacheConstant.SYS_DICT_TABLE_CACHE) @Override
public List<DictModel> queryTableDictItemsByCode(String table, String text, String code) { //@Cacheable(value = CacheConstant.SYS_DICT_TABLE_CACHE)
log.debug("无缓存dictTableList的时候调用这里!"); public List<DictModel> queryTableDictItemsByCode(String table, String text, String code) {
return sysDictMapper.queryTableDictItemsByCode(table,text,code); log.debug("无缓存dictTableList的时候调用这里!");
} return sysDictMapper.queryTableDictItemsByCode(table,text,code);
}
@Override
public List<DictModel> queryTableDictItemsByCodeAndFilter(String table, String text, String code, String filterSql) { @Override
log.debug("无缓存dictTableList的时候调用这里!"); public List<DictModel> queryTableDictItemsByCodeAndFilter(String table, String text, String code, String filterSql) {
return sysDictMapper.queryTableDictItemsByCodeAndFilter(table,text,code,filterSql); log.debug("无缓存dictTableList的时候调用这里!");
} return sysDictMapper.queryTableDictItemsByCodeAndFilter(table,text,code,filterSql);
}
/**
* 通过查询指定table的 text code 获取字典值text /**
* dictTableCache采用redis缓存有效期10分钟 * 通过查询指定table的 text code 获取字典值text
* @param table * dictTableCache采用redis缓存有效期10分钟
* @param text * @param table
* @param code * @param text
* @param key * @param code
* @return * @param key
*/ * @return
@Override */
@Cacheable(value = CacheConstant.SYS_DICT_TABLE_CACHE) @Override
public String queryTableDictTextByKey(String table,String text,String code, String key) { @Cacheable(value = CacheConstant.SYS_DICT_TABLE_CACHE)
log.debug("无缓存dictTable的时候调用这里!"); public String queryTableDictTextByKey(String table,String text,String code, String key) {
return sysDictMapper.queryTableDictTextByKey(table,text,code,key); log.debug("无缓存dictTable的时候调用这里!");
} return sysDictMapper.queryTableDictTextByKey(table,text,code,key);
}
/**
* 通过查询指定table的 text code 获取字典,包含text和value /**
* dictTableCache采用redis缓存有效期10分钟 * 通过查询指定table的 text code 获取字典,包含text和value
* @param table * dictTableCache采用redis缓存有效期10分钟
* @param text * @param table
* @param code * @param text
* @param keys (逗号分隔) * @param code
* @return * @param keys (逗号分隔)
*/ * @return
@Override */
//update-begin--Author:lvdandan Date:20201204 forJT-36【online】树形列表bug修改后,还是显示原来值 暂时去掉缓存 @Override
//@Cacheable(value = CacheConstant.SYS_DICT_TABLE_BY_KEYS_CACHE) //update-begin--Author:lvdandan Date:20201204 forJT-36【online】树形列表bug修改后,还是显示原来值 暂时去掉缓存
//update-end--Author:lvdandan Date:20201204 forJT-36【online】树形列表bug修改后,还是显示原来值 暂时去掉缓存 //@Cacheable(value = CacheConstant.SYS_DICT_TABLE_BY_KEYS_CACHE)
public List<String> queryTableDictByKeys(String table, String text, String code, String keys) { //update-end--Author:lvdandan Date:20201204 forJT-36【online】树形列表bug修改后,还是显示原来值 暂时去掉缓存
if(oConvertUtils.isEmpty(keys)){ public List<String> queryTableDictByKeys(String table, String text, String code, String keys) {
return null; if(oConvertUtils.isEmpty(keys)){
} return null;
String[] keyArray = keys.split(","); }
List<DictModel> dicts = sysDictMapper.queryTableDictByKeys(table, text, code, keyArray); String[] keyArray = keys.split(",");
List<String> texts = new ArrayList<>(dicts.size()); List<DictModel> dicts = sysDictMapper.queryTableDictByKeys(table, text, code, keyArray);
// 查询出来的顺序可能是乱的,需要排个序 List<String> texts = new ArrayList<>(dicts.size());
for (String key : keyArray) { // 查询出来的顺序可能是乱的,需要排个序
for (DictModel dict : dicts) { for (String key : keyArray) {
if (key.equals(dict.getValue())) { for (DictModel dict : dicts) {
texts.add(dict.getText()); if (key.equals(dict.getValue())) {
break; texts.add(dict.getText());
} break;
} }
} }
return texts; }
} return texts;
}
/**
* 根据字典类型id删除关联表中其对应的数据 /**
*/ * 根据字典类型id删除关联表中其对应的数据
@Override */
public boolean deleteByDictId(SysDict sysDict) { @Override
sysDict.setDelFlag(CommonConstant.DEL_FLAG_1); public boolean deleteByDictId(SysDict sysDict) {
return this.updateById(sysDict); sysDict.setDelFlag(CommonConstant.DEL_FLAG_1);
} return this.updateById(sysDict);
}
@Override
@Transactional @Override
public Integer saveMain(SysDict sysDict, List<SysDictItem> sysDictItemList) { @Transactional
int insert=0; public Integer saveMain(SysDict sysDict, List<SysDictItem> sysDictItemList) {
try{ int insert=0;
insert = sysDictMapper.insert(sysDict); try{
if (sysDictItemList != null) { insert = sysDictMapper.insert(sysDict);
for (SysDictItem entity : sysDictItemList) { if (sysDictItemList != null) {
entity.setDictId(sysDict.getId()); for (SysDictItem entity : sysDictItemList) {
entity.setStatus(1); entity.setDictId(sysDict.getId());
sysDictItemMapper.insert(entity); entity.setStatus(1);
} sysDictItemMapper.insert(entity);
} }
}catch(Exception e){ }
return insert; }catch(Exception e){
} return insert;
return insert; }
} return insert;
}
@Override
public List<DictModel> queryAllDepartBackDictModel() { @Override
return baseMapper.queryAllDepartBackDictModel(); public List<DictModel> queryAllDepartBackDictModel() {
} return baseMapper.queryAllDepartBackDictModel();
}
@Override
public List<DictModel> queryAllUserBackDictModel() { @Override
return baseMapper.queryAllUserBackDictModel(); public List<DictModel> queryAllUserBackDictModel() {
} return baseMapper.queryAllUserBackDictModel();
}
@Override
public List<DictModel> queryTableDictItems(String table, String text, String code, String keyword) { @Override
return baseMapper.queryTableDictItems(table, text, code, "%"+keyword+"%"); public List<DictModel> queryTableDictItems(String table, String text, String code, String keyword) {
} return baseMapper.queryTableDictItems(table, text, code, "%"+keyword+"%");
}
@Override
public List<DictModel> queryLittleTableDictItems(String table, String text, String code, String keyword, int pageSize) { @Override
Page<DictModel> page = new Page<DictModel>(1, pageSize); public List<DictModel> queryLittleTableDictItems(String table, String text, String code, String keyword, int pageSize) {
IPage<DictModel> pageList = baseMapper.queryTableDictItems(page, table, text, code, "%"+keyword+"%"); Page<DictModel> page = new Page<DictModel>(1, pageSize);
return pageList.getRecords(); IPage<DictModel> pageList = baseMapper.queryTableDictItems(page, table, text, code, "%"+keyword+"%");
} return pageList.getRecords();
}
@Override
public List<TreeSelectModel> queryTreeList(String query,String table, String text, String code, String pidField, String pid, String hasChildField) { @Override
return baseMapper.queryTreeList(query, table, text, code, pidField, pid,hasChildField); public List<TreeSelectModel> queryTreeList(String query,String table, String text, String code, String pidField, String pid, String hasChildField) {
} return baseMapper.queryTreeList(query, table, text, code, pidField, pid,hasChildField);
}
@Override
public List<TreeSelectModel> queryAllTreeData(String table, String text, String code, String pidField) { @Override
// 先查出要查询的数据 public List<TreeSelectModel> queryAllTreeData(String table, String text, String code, String pidField) {
List<TreeSelectModel> serachTreeNode = this.baseMapper.queryTreeDataByKeyword(table, text, code, pidField); // 先查出要查询的数据
List<TreeSelectModel> serachTreeNode = this.baseMapper.queryTreeDataByKeyword(table, text, code, pidField);
// 构建一个HashMap,按ID为key存储全部查询出的数据结构
HashMap<String, TreeSelectModel> resultMap = new HashMap<>(); // 构建一个HashMap,按ID为key存储全部查询出的数据结构
for (TreeSelectModel treeSelectModel : serachTreeNode){ HashMap<String, TreeSelectModel> resultMap = new HashMap<>();
resultMap.put(treeSelectModel.getKey(), treeSelectModel); for (TreeSelectModel treeSelectModel : serachTreeNode){
resultMap.put(treeSelectModel.getKey(), treeSelectModel);
TreeSelectModel copyTreeSelectModel = treeSelectModel;
// 叠加的查询父节点 TreeSelectModel copyTreeSelectModel = treeSelectModel;
while (StringUtils.isNotEmpty(copyTreeSelectModel.getParentId())){ // 叠加的查询父节点
if (resultMap.get(copyTreeSelectModel.getParentId()) != null){ while (StringUtils.isNotEmpty(copyTreeSelectModel.getParentId())){
break; if (resultMap.get(copyTreeSelectModel.getParentId()) != null){
} break;
}
TreeSelectModel newTreeSelectModel = this.baseMapper.queryTreeDataItemById(copyTreeSelectModel.getParentId(), table, text, code, pidField);
if(newTreeSelectModel == null){ TreeSelectModel newTreeSelectModel = this.baseMapper.queryTreeDataItemById(copyTreeSelectModel.getParentId(), table, text, code, pidField);
break; if(newTreeSelectModel == null){
} break;
}
resultMap.put(newTreeSelectModel.getKey(), newTreeSelectModel);
resultMap.put(newTreeSelectModel.getKey(), newTreeSelectModel);
copyTreeSelectModel = newTreeSelectModel;
} copyTreeSelectModel = newTreeSelectModel;
} }
System.out.println("aaa"); }
System.out.println("aaa");
// 遍历map里全部的节点,取出父节点放入list,并循环添加他的子节点
List<TreeSelectModel> treeNodeList = new ArrayList<>(); // 遍历map里全部的节点,取出父节点放入list,并循环添加他的子节点
for (String key : resultMap.keySet()){ List<TreeSelectModel> treeNodeList = new ArrayList<>();
TreeSelectModel curTreeSelectModel = resultMap.get(key); for (String key : resultMap.keySet()){
if (StringUtils.isEmpty(curTreeSelectModel.getParentId())){ TreeSelectModel curTreeSelectModel = resultMap.get(key);
treeNodeList.add(curTreeSelectModel); if (StringUtils.isEmpty(curTreeSelectModel.getParentId())){
} else { treeNodeList.add(curTreeSelectModel);
// 如果有父节点,则找出自己的父节点,把自己添加进父节点的children属性里 } else {
TreeSelectModel existParentNode = resultMap.get(curTreeSelectModel.getParentId()); // 如果有父节点,则找出自己的父节点,把自己添加进父节点的children属性里
if (existParentNode != null){ TreeSelectModel existParentNode = resultMap.get(curTreeSelectModel.getParentId());
existParentNode.getChildren().add(curTreeSelectModel); if (existParentNode != null){
} existParentNode.getChildren().add(curTreeSelectModel);
} }
} }
}
return treeNodeList;
} return treeNodeList;
}
@Override
public void deleteOneDictPhysically(String id) { @Override
this.baseMapper.deleteOneById(id); public void deleteOneDictPhysically(String id) {
this.sysDictItemMapper.delete(new LambdaQueryWrapper<SysDictItem>().eq(SysDictItem::getDictId,id)); this.baseMapper.deleteOneById(id);
} this.sysDictItemMapper.delete(new LambdaQueryWrapper<SysDictItem>().eq(SysDictItem::getDictId,id));
}
@Override
public void updateDictDelFlag(int delFlag, String id) { @Override
baseMapper.updateDictDelFlag(delFlag,id); public void updateDictDelFlag(int delFlag, String id) {
} baseMapper.updateDictDelFlag(delFlag,id);
}
@Override
public List<SysDict> queryDeleteList() { @Override
return baseMapper.queryDeleteList(); public List<SysDict> queryDeleteList() {
} return baseMapper.queryDeleteList();
}
@Override
public List<DictModel> queryDictTablePageList(DictQuery query, int pageSize, int pageNo) { @Override
Page page = new Page(pageNo,pageSize,false); public List<DictModel> queryDictTablePageList(DictQuery query, int pageSize, int pageNo) {
Page<DictModel> pageList = baseMapper.queryDictTablePageList(page, query); Page page = new Page(pageNo,pageSize,false);
return pageList.getRecords(); Page<DictModel> pageList = baseMapper.queryDictTablePageList(page, query);
} return pageList.getRecords();
} }
/**
* 刷新dict缓存
* @date 2021/4/8 9:07
* @param
* @return void
*/
@Override
public void refreshCache() {
//清空字典缓存
Set keys = redisTemplate.keys(CacheConstant.SYS_DICT_CACHE + "*");
Set keys2 = redisTemplate.keys(CacheConstant.SYS_DICT_TABLE_CACHE + "*");
Set keys3 = redisTemplate.keys(CacheConstant.SYS_DEPARTS_CACHE + "*");
Set keys4 = redisTemplate.keys(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
Set keys5 = redisTemplate.keys( "jmreport:cache:dict*");
Set keys6 = redisTemplate.keys( "jmreport:cache:dictTable*");
redisTemplate.delete(keys);
redisTemplate.delete(keys2);
redisTemplate.delete(keys3);
redisTemplate.delete(keys4);
redisTemplate.delete(keys5);
redisTemplate.delete(keys6);
}
}