bug53551数据字典修改

This commit is contained in:
xiejunyu
2022-06-02 17:00:24 +08:00
parent 461247891c
commit 8759a47aff
2 changed files with 32 additions and 23 deletions
@@ -3,12 +3,13 @@ package com.jero.modules.enums;
public enum IsTagDict {
SYS_DICT_SYSTEM("系统数据字典标志值","0"),
SYS_DICT_SYSTEM("系统数据字典标志值",0),
TAG_DICT("标签内容标志值",1),
;
String name;
String value;
Integer value;
private IsTagDict(String name, String value) {
IsTagDict(String name, Integer value) {
this.name = name;
this.value = value;
}
@@ -21,11 +22,11 @@ public enum IsTagDict {
this.name = name;
}
public String getValue() {
public Integer getValue() {
return value;
}
public void setValue(String value) {
public void setValue(Integer value) {
this.value = value;
}
}
@@ -392,7 +392,8 @@ public class SysDictController {
//校验--不能重复数据
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
//查询同一模块下,同名数据
queryWrapper.eq("dict_name",sysDict.getDictName());
queryWrapper.eq("dict_name",sysDict.getDictName())
.eq("is_tag_dict",sysDict.getIsTagDict());
List<SysDict> existDictList = this.sysDictService.list(queryWrapper);
try {
if(!existDictList.isEmpty()) {
@@ -404,7 +405,8 @@ public class SysDictController {
result.error500("标签名称不能重复");
}
} else {//不是同名
if(ObjectUtils.isNotEmpty(sysDict.getIsTagDict()) && sysDict.getIsTagDict() == 1){
if (ObjectUtils.isNotEmpty(sysDict.getIsTagDict())
&& sysDict.getIsTagDict() == IsTagDict.TAG_DICT.getValue()) {
String pinYin = HanYuPinYinUtil.changeToNumberPinYin(sysDict.getDictName());
sysDict.setDictCode(pinYin.replace(" ","_"));
@@ -413,6 +415,10 @@ public class SysDictController {
sysDict.setDictName(sysDict.getDictName().replace(" ",""));
sysDictService.save(sysDict);
}else if(sysDict.getIsTagDict() == IsTagDict.SYS_DICT_SYSTEM.getValue()){
sysDict.setCreateTime(new Date());
sysDict.setDelFlag(CommonConstant.DEL_FLAG_0);
sysDictService.save(sysDict);
}
result.success("保存成功!");
//添加成功后需要刷新缓存
@@ -448,7 +454,8 @@ public class SysDictController {
//校验--不能重复数据
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
//查询同一模块下,同名数据
queryWrapper.eq("dict_name", sysDict.getDictName());
queryWrapper.eq("dict_name", sysDict.getDictName())
.eq("is_tag_dict",sysDict.getIsTagDict());
List<SysDict> existDictList = this.sysDictService.list(queryWrapper);
if (!existDictList.isEmpty()) {
if (existDictList.get(0).getId().equals(sysDict.getId())) {//已存在同名的数据,就是正在编辑的这个
@@ -458,25 +465,26 @@ public class SysDictController {
result.success("编辑成功!");
//编辑成功后需要刷新缓存
sysDictService.refreshCache();
} else {//已存在同名的数据,不是正在编辑的这个
SysDict sysDictDB = existDictList.get(0);
//存在重复同名标签内容,且已删,恢复
if (sysDictDB.getDelFlag() == CommonConstant.DEL_FLAG_1) {
sysDictService.updateDictDelFlag(CommonConstant.DEL_FLAG_0, sysDictDB.getId());
} else {//存在重复同名标签内容,未删
result.error500("标签名称不能重复");
}
}
} else {//不是同名
sysDict.setUpdateTime(new Date());
boolean ok = sysDictService.updateById(sysDict);
if (ok) {
result.success("编辑成功!");
//编辑成功后需要刷新缓存
sysDictService.refreshCache();
} else {//已存在同名的数据,不是正在编辑的这个
SysDict sysDictDB = existDictList.get(0);
//存在重复同名标签内容,且已删,恢复
if (sysDictDB.getDelFlag() == CommonConstant.DEL_FLAG_1) {
sysDictService.updateDictDelFlag(CommonConstant.DEL_FLAG_0, sysDictDB.getId());
} else {//存在重复同名标签内容,未删
result.error500("标签名称不能重复");
}
}
} else {//不是同名
sysDict.setUpdateTime(new Date());
boolean ok = sysDictService.updateById(sysDict);
if (ok) {
result.success("编辑成功!");
//编辑成功后需要刷新缓存
sysDictService.refreshCache();
}
}
}
}
}