fix 77980 标签项管理--展示区域管理 修改展示区域后,使用该展示区域的数据,没有自动更新

This commit is contained in:
lijiarao
2023-11-10 17:06:28 +08:00
parent a4199d4a7c
commit 5e532e7c32
3 changed files with 28 additions and 14 deletions
@@ -11,6 +11,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.jero.common.api.CommonAPI; import com.jero.common.api.CommonAPI;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.Dict; import com.jero.common.aspect.annotation.Dict;
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.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
@@ -299,7 +300,7 @@ public class DictAspect {
private void setRedis(String dictCode, List<DictModel> texts) { private void setRedis(String dictCode, List<DictModel> texts) {
// 做 redis 缓存 // 做 redis 缓存
for (DictModel dict : texts) { for (DictModel dict : texts) {
String redisKey = String.format("sys:cache:dictTable::SimpleKey [%s,%s]", dictCode, dict.getValue()); String redisKey = String.format(CacheConstant.SYS_DICT_TABLE_CACHE_SIMPLE_KEY, dictCode, dict.getValue());
try { try {
// 保留10分钟 // 保留10分钟
redisTemplate.opsForValue().set(redisKey, dict.getText(), 600, TimeUnit.SECONDS); redisTemplate.opsForValue().set(redisKey, dict.getText(), 600, TimeUnit.SECONDS);
@@ -316,7 +317,7 @@ public class DictAspect {
continue; //跳过循环 continue; //跳过循环
} }
if (dictCode.contains(",")) { if (dictCode.contains(",")) {
String keyString = String.format("sys:cache:dictTable::SimpleKey [%s,%s]", dictCode, data); String keyString = String.format(CacheConstant.SYS_DICT_TABLE_CACHE_SIMPLE_KEY, dictCode, data);
if (Boolean.TRUE.equals(redisTemplate.hasKey(keyString))) { if (Boolean.TRUE.equals(redisTemplate.hasKey(keyString))) {
addList(translText, dictCode, data, keyString); addList(translText, dictCode, data, keyString);
} else if (!needTranslDataTable.contains(data)) { } else if (!needTranslDataTable.contains(data)) {
@@ -1,5 +1,7 @@
package com.jero.common.constant; package com.jero.common.constant;
import org.springframework.cache.interceptor.SimpleKey;
/** /**
* @author: huangxutao * @author: huangxutao
* @date: 2019-06-14 * @date: 2019-06-14
@@ -26,6 +28,8 @@ public class CacheConstant {
public static final String SYS_DICT_TABLE_CACHE = "sys:cache:dictTable"; public static final String SYS_DICT_TABLE_CACHE = "sys:cache:dictTable";
public static final String SYS_DICT_TABLE_BY_KEYS_CACHE = SYS_DICT_TABLE_CACHE + "ByKeys"; public static final String SYS_DICT_TABLE_BY_KEYS_CACHE = SYS_DICT_TABLE_CACHE + "ByKeys";
public static final String SYS_DICT_TABLE_CACHE_SIMPLE_KEY = SYS_DICT_TABLE_CACHE + "::SimpleKey [%s,%s]";
/** /**
* 数据权限配置缓存 * 数据权限配置缓存
*/ */
@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CacheConstant;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.api.vo.ResultCommon; import com.jero.common.api.vo.ResultCommon;
import com.jero.common.util.RedisUtil;
import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.tag.entity.LawsArea; import com.jero.modules.tag.entity.LawsArea;
import com.jero.modules.tag.service.ILawsAreaService; import com.jero.modules.tag.service.ILawsAreaService;
@@ -44,6 +46,10 @@ public class LawsAreaController extends JeroController<LawsArea, ILawsAreaServic
private ISysDictItemService sysDictItemService; private ISysDictItemService sysDictItemService;
@Autowired @Autowired
private ILawsTagService lawsTagService; private ILawsTagService lawsTagService;
@Autowired
private RedisUtil redisUtil;
private static final String REDIS_KEY = "laws_area,show_area,id";
/** /**
* 分页列表查询 * 分页列表查询
* *
@@ -117,20 +123,23 @@ public class LawsAreaController extends JeroController<LawsArea, ILawsAreaServic
@RequiresPermissions("area:edit") @RequiresPermissions("area:edit")
public Result<?> edit(@Validated @RequestBody LawsArea lawsArea) { public Result<?> edit(@Validated @RequestBody LawsArea lawsArea) {
QueryWrapper<LawsArea> queryWrapper=new QueryWrapper<>(); QueryWrapper<LawsArea> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("show_area", lawsArea.getShowArea()).eq("is_model", lawsArea.getIsModel()); queryWrapper.eq("show_area", lawsArea.getShowArea()).eq("is_model", lawsArea.getIsModel());
List<LawsArea> existAreaList= lawsAreaService.list(queryWrapper); List<LawsArea> existAreaList = lawsAreaService.list(queryWrapper);
if(!existAreaList.isEmpty()){//有同名数据 //有同名数据
if(existAreaList.get(0).getId().equals(lawsArea.getId())) {//已存在同名的数据,就是正在编辑的这个 if (!existAreaList.isEmpty()) {
lawsAreaService.editById(lawsArea); //已存在同名的数据,就是正在编辑的这个
return Result.OK(ResultCommon.EDIT_OK); if (existAreaList.get(0).getId().equals(lawsArea.getId())) {
}else { lawsAreaService.editById(lawsArea);
return Result.error(ResultCommon.TAG_ERROR_1); } else {
} return Result.error(ResultCommon.TAG_ERROR_1);
}else { }
} else {
lawsAreaService.editById(lawsArea); lawsAreaService.editById(lawsArea);
return Result.OK(ResultCommon.EDIT_OK);
} }
//编辑后要清除redis缓存
redisUtil.del(String.format(CacheConstant.SYS_DICT_TABLE_CACHE_SIMPLE_KEY,REDIS_KEY,lawsArea.getId()));
return Result.OK(ResultCommon.EDIT_OK);
} }
/** /**