diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java index 65b7f239..62e389e7 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java @@ -92,9 +92,9 @@ public class ResultCommon { public static final String TAG_DELETE_ERROR_2 = "tag.delete.error.2"; /**包含固定字段,不可删除*/ public static final String TAG_DELETE_ERROR_3 = "tag.delete.error.3"; - /**包含固定字段,不可删除*/ + /**包含固定字段,不可编辑*/ public static final String TAG_EDIT_ERROR_1 = "tag.edit.error.1"; - /**包含固定字段,不可删除*/ + /**属性已存在,请检查*/ public static final String TAG_EDIT_ERROR_2 = "tag.edit.error.2"; /**标签已被引用,无法删除*/ diff --git a/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java index 13970b83..6bfc59f1 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java @@ -20,6 +20,7 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.SqlInjectionUtil; import com.jero.common.util.oConvertUtils; +import com.jero.modules.enums.FixedFieldEnum; import com.jero.modules.system.entity.SuccessAndErrorLines; import com.jero.modules.system.entity.SysDict; import com.jero.modules.system.entity.SysDictItem; @@ -174,7 +175,7 @@ public class SysDictController { result.setResult(text); } catch (Exception e) { log.error(e.getMessage(),e); - return Result.error("操作失败"); + return Result.error(ResultCommon.ERROR); } return result; } @@ -199,7 +200,7 @@ public class SysDictController { log.debug(result.toString()); } catch (Exception e) { log.error(e.getMessage(), e); - return Result.error("操作失败"); + return Result.error(ResultCommon.ERROR); } return result; } @@ -229,7 +230,7 @@ public class SysDictController { return result; } catch (Exception e) { log.error(e.getMessage(),e); - return Result.error("操作失败"); + return Result.error(ResultCommon.ERROR); } } @@ -302,7 +303,7 @@ public class SysDictController { } } catch (Exception e) { log.error(e.getMessage(),e); - return Result.error("操作失败"); + return Result.error(ResultCommon.ERROR); } return result; @@ -367,10 +368,10 @@ public class SysDictController { sysDictService.save(sysDict); //添加成功后需要刷新缓存 sysDictService.refreshCache(); - return Result.OK(OPTION_SUCCESS); + return Result.OK(ResultCommon.OK); } catch (Exception e) { log.error(e.getMessage(),e); - return Result.error("操作失败"); + return Result.error(ResultCommon.ERROR); } } @@ -383,18 +384,24 @@ public class SysDictController { @PostMapping("/edit") @RequiresPermissions("sys:dict:operation") public Result edit(@RequestBody SysDict sysDict) { - SysDict sysdict = sysDictService.getById(sysDict.getId()); - if(sysdict==null) { - return Result.error("未找到对应实体"); - }else { - sysDict.setUpdateTime(new Date()); - boolean ok = sysDictService.updateById(sysDict); - if(ok) { - //编辑成功后需要刷新缓存 - sysDictService.refreshCache(); - return Result.OK(OPTION_SUCCESS); + SysDict dict = sysDictService.getById(sysDict.getId()); + if(dict==null) { + return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); + } + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString()) || + FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(dict.getIsReadOnly().toString())) { + //中英切换提示语 + return Result.error(ResultCommon.TAG_EDIT_ERROR_1); } } + sysDict.setUpdateTime(new Date()); + boolean ok = sysDictService.updateById(sysDict); + if(ok) { + //编辑成功后需要刷新缓存 + sysDictService.refreshCache(); + return Result.OK(ResultCommon.OK); + } return Result.OK(); } @@ -412,6 +419,14 @@ public class SysDictController { if(StringUtils.isBlank(id)){ return Result.error(ResultCommon.PARAMETER_NOT_RECOGNIZED); } + SysDict dict = sysDictService.getById(id); + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString()) || + FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(dict.getIsReadOnly().toString())) { + //中英切换提示语 + return Result.error(ResultCommon.TAG_DELETE_ERROR_3); + } + } sysDictService.deleteById(id); return Result.OK(ResultCommon.SUCCESSFULLY_DELETED); } @@ -428,10 +443,20 @@ public class SysDictController { String ids = map.get("ids"); if(oConvertUtils.isEmpty(ids)) { return Result.error(ResultCommon.PARAMETER_NOT_RECOGNIZED); - }else { - sysDictService.deleteByIds(Arrays.asList(ids.split(","))); - return Result.OK(ResultCommon.SUCCESSFULLY_DELETED); } + List idList = Arrays.asList(ids.split(",")); + List dictList = sysDictService.listByIds(idList); + for (SysDict dict : dictList) { + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString()) || + FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(dict.getIsReadOnly().toString())) { + //中英切换提示语 + return Result.error(ResultCommon.TAG_DELETE_ERROR_3); + } + } + } + sysDictService.deleteByIds(idList); + return Result.OK(ResultCommon.SUCCESSFULLY_DELETED); } /** @@ -591,7 +616,7 @@ public class SysDictController { public Result back(@PathVariable String id) { try { sysDictService.updateDictDelFlag(0,id); - return Result.OK(OPTION_SUCCESS); + return Result.OK(ResultCommon.OK); } catch (Exception e) { e.printStackTrace(); return Result.error("操作失败!"); diff --git a/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java b/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java index 04554279..23f66855 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java @@ -22,8 +22,12 @@ import com.alibaba.fastjson.parser.ParserConfig; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; +import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.util.MessageUtils; +import com.jero.modules.enums.FixedFieldEnum; +import com.jero.modules.system.entity.SysDict; +import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.util.TreeUtils; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections4.CollectionUtils; @@ -59,6 +63,8 @@ public class SysDictItemController { @Autowired private ISysDictItemService sysDictItemService; + @Autowired + private ISysDictService sysDictService; /** * @功能:查询字典数据 @@ -226,14 +232,19 @@ public class SysDictItemController { @RequiresPermissions("sys:dict:operation") @CacheEvict(value= {CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true) public Result add(@RequestBody SysDictItem sysDictItem) { - try { - sysDictItem.setCreateTime(new Date()); - sysDictItemService.save(sysDictItem); - return Result.OK("操作成功!"); - } catch (Exception e) { - log.error(e.getMessage(),e); - return Result.error("操作失败"); + String dictId = sysDictItem.getDictId(); + if (StringUtils.isBlank(dictId)){ + return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); } + SysDict dict = sysDictService.getById(dictId); + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString())) { + return Result.error(ResultCommon.TAG_EDIT_ERROR_1); + } + } + sysDictItem.setCreateTime(new Date()); + sysDictItemService.save(sysDictItem); + return Result.OK(ResultCommon.OK); } /** @@ -245,17 +256,22 @@ public class SysDictItemController { @RequiresPermissions("sys:dict:operation") @CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true) public Result edit(@RequestBody SysDictItem sysDictItem) { - SysDictItem sysdict = sysDictItemService.getById(sysDictItem.getId()); - if(sysdict==null) { - return Result.error("未找到对应实体"); + SysDictItem item = sysDictItemService.getById(sysDictItem.getId()); + if(item==null) { + return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); }else { - sysDictItem.setUpdateTime(new Date()); - boolean ok = sysDictItemService.updateById(sysDictItem); - if(ok) { - return Result.OK("操作成功!"); + String dictId = item.getDictId(); + SysDict dict = sysDictService.getById(dictId); + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString())) { + return Result.error(ResultCommon.TAG_EDIT_ERROR_1); + } } + sysDictItem.setUpdateTime(new Date()); + sysDictItemService.updateById(sysDictItem); + } - return Result.OK(); + return Result.OK(ResultCommon.EDIT_OK); } /** @@ -269,18 +285,22 @@ public class SysDictItemController { public Result delete(@RequestBody Map map) { String id = map.get("id"); if(StringUtils.isBlank(id)){ - return Result.error("参数不识别!"); + return Result.error(ResultCommon.PLEASE_SELECT_DATA); } - SysDictItem joinSystem = sysDictItemService.getById(id); - if(joinSystem==null) { - return Result.error("未找到对应实体"); + SysDictItem item = sysDictItemService.getById(id); + if(item==null) { + return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); }else { - boolean ok = sysDictItemService.removeById(id); - if(ok) { - return Result.OK("删除成功!"); + String dictId = item.getDictId(); + SysDict dict = sysDictService.getById(dictId); + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString())) { + return Result.error(ResultCommon.TAG_DELETE_ERROR_3); + } } + sysDictItemService.removeById(id); } - return Result.OK(); + return Result.OK(ResultCommon.SUCCESSFULLY_DELETED); } /** @@ -294,10 +314,22 @@ public class SysDictItemController { public Result deleteBatch(@RequestBody Map map) { String ids = map.get("ids"); if(ids==null || "".equals(ids.trim())) { - return Result.error("参数不识别!"); + return Result.error(ResultCommon.PLEASE_SELECT_DATA); }else { - this.sysDictItemService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("删除成功!"); + List idList = Arrays.asList(ids.split(",")); + List sysDictItems = sysDictItemService.listByIds(idList); + List dictIdList = sysDictItems.stream().map(SysDictItem::getDictId).distinct().collect(Collectors.toList()); + List dictList = sysDictService.listByIds(dictIdList); + for (SysDict dict : dictList) { + if(StringUtils.isNotBlank(String.valueOf(dict.getIsReadOnly()))) { + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(dict.getIsReadOnly().toString())) { + //中英切换提示语 + return Result.error(ResultCommon.TAG_DELETE_ERROR_3); + } + } + } + this.sysDictItemService.removeByIds(idList); + return Result.OK(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK); } } diff --git a/laws-single-startup/src/main/resources/i18n/messages.properties b/laws-single-startup/src/main/resources/i18n/messages.properties index 1243b511..a33d0745 100644 --- a/laws-single-startup/src/main/resources/i18n/messages.properties +++ b/laws-single-startup/src/main/resources/i18n/messages.properties @@ -2,7 +2,6 @@ message=1 message.operate.error=123{0} tag.add.\u5B57\u6BB5\u540D\u79F0\u592A\u957F=\u60A8\u8BBE\u7F6E\u7684\u5B57\u6BB5\u540D\u4E3A{0}\uFF0C\u6700\u957F\u4E3A64\u4F4D\u5B57\u7B26\u3002 tag.delete.\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664 -tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664 tag.edit.error.2=\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5 es.rmr.setQuality.overTen=\u8BF7\u6700\u591A\u9009\u62E910\u6761 message.ok=\u64CD\u4F5C\u6210\u529F diff --git a/laws-single-startup/src/main/resources/i18n/messages_en.properties b/laws-single-startup/src/main/resources/i18n/messages_en.properties index 108eddb0..a493b5f4 100644 --- a/laws-single-startup/src/main/resources/i18n/messages_en.properties +++ b/laws-single-startup/src/main/resources/i18n/messages_en.properties @@ -2,7 +2,6 @@ message=1 message.operate.error=123{0} tag.add.\u5B57\u6BB5\u540D\u79F0\u592A\u957F=The field name you set is {0}, with a maximum length of 64 characters. tag.delete.\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=It contains fixed fields and cannot be deleted. -tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=Fixed field, cannot be deleted. tag.edit.error.2=Attribute already exists, please check! message.ok=Successful operation message.error=Operation failure diff --git a/laws-single-startup/src/main/resources/i18n/messages_zh.properties b/laws-single-startup/src/main/resources/i18n/messages_zh.properties index fe73aec4..355c3935 100644 --- a/laws-single-startup/src/main/resources/i18n/messages_zh.properties +++ b/laws-single-startup/src/main/resources/i18n/messages_zh.properties @@ -2,7 +2,6 @@ message=1 message.operate.error=123{0} tag.add.\u5B57\u6BB5\u540D\u79F0\u592A\u957F=\u60A8\u8BBE\u7F6E\u7684\u5B57\u6BB5\u540D\u4E3A{0}\uFF0C\u6700\u957F\u4E3A64\u4F4D\u5B57\u7B26\u3002 tag.delete.\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664 -tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664 tag.edit.error.2=\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5 es.rmr.setQuality.overTen=\u8BF7\u6700\u591A\u9009\u62E910\u6761 message.ok=\u64CD\u4F5C\u6210\u529F