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
@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
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.api.vo.ResultCommon;
import com.jero.common.util.RedisUtil;
import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.tag.entity.LawsArea;
import com.jero.modules.tag.service.ILawsAreaService;
@@ -44,6 +46,10 @@ public class LawsAreaController extends JeroController<LawsArea, ILawsAreaServic
private ISysDictItemService sysDictItemService;
@Autowired
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")
public Result<?> edit(@Validated @RequestBody LawsArea lawsArea) {
QueryWrapper<LawsArea> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("show_area", lawsArea.getShowArea()).eq("is_model", lawsArea.getIsModel());
List<LawsArea> existAreaList= lawsAreaService.list(queryWrapper);
if(!existAreaList.isEmpty()){//有同名数据
if(existAreaList.get(0).getId().equals(lawsArea.getId())) {//已存在同名的数据,就是正在编辑的这个
lawsAreaService.editById(lawsArea);
return Result.OK(ResultCommon.EDIT_OK);
}else {
return Result.error(ResultCommon.TAG_ERROR_1);
}
}else {
QueryWrapper<LawsArea> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("show_area", lawsArea.getShowArea()).eq("is_model", lawsArea.getIsModel());
List<LawsArea> existAreaList = lawsAreaService.list(queryWrapper);
//有同名数据
if (!existAreaList.isEmpty()) {
//已存在同名的数据,就是正在编辑的这个
if (existAreaList.get(0).getId().equals(lawsArea.getId())) {
lawsAreaService.editById(lawsArea);
} else {
return Result.error(ResultCommon.TAG_ERROR_1);
}
} else {
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);
}
/**