diff --git a/kernel-d-db/db-api/src/main/java/cn/stylefeng/roses/kernel/db/api/pojo/entity/BaseEntity.java b/kernel-d-db/db-api/src/main/java/cn/stylefeng/roses/kernel/db/api/pojo/entity/BaseEntity.java index 2371b0ef6..0b626b06d 100644 --- a/kernel-d-db/db-api/src/main/java/cn/stylefeng/roses/kernel/db/api/pojo/entity/BaseEntity.java +++ b/kernel-d-db/db-api/src/main/java/cn/stylefeng/roses/kernel/db/api/pojo/entity/BaseEntity.java @@ -25,25 +25,25 @@ public class BaseEntity implements Serializable { /** * 创建时间 */ - @TableField(fill = FieldFill.INSERT) + @TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime; /** * 创建人 */ - @TableField(fill = FieldFill.INSERT) + @TableField(value = "create_user", fill = FieldFill.INSERT) private Long createUser; /** * 更新时间 */ - @TableField(fill = FieldFill.UPDATE) + @TableField(value = "update_time", fill = FieldFill.UPDATE) private Date updateTime; /** * 更新人 */ - @TableField(fill = FieldFill.UPDATE) + @TableField(value = "update_user", fill = FieldFill.UPDATE) private Long updateUser; } diff --git a/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/exception/enums/DictExceptionEnum.java b/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/exception/enums/DictExceptionEnum.java index 3fec6bf35..8b946ad19 100644 --- a/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/exception/enums/DictExceptionEnum.java +++ b/kernel-s-dict/dict-api/src/main/java/cn/stylefeng/roses/kernel/dict/api/exception/enums/DictExceptionEnum.java @@ -27,7 +27,7 @@ public enum DictExceptionEnum implements AbstractExceptionEnum { /** * 父级id不存在,输入的父级id不合理 */ - PARENT_DICT_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + DictConstants.DICT_EXCEPTION_STEP_CODE + "03", "父级id不存在,输入的父级id不合理,父级id:{}"), + PARENT_DICT_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + DictConstants.DICT_EXCEPTION_STEP_CODE + "03", "父级字典id不存在,输入的父级id不合理,父级id:{}"), /** * 字典不存在 diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java index 5ebc245ae..faa6121af 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictController.java @@ -1,7 +1,7 @@ package cn.stylefeng.roses.kernel.dict.modular.controller; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; -import cn.stylefeng.roses.kernel.dict.modular.entity.Dict; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict; import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo; import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest; import cn.stylefeng.roses.kernel.dict.modular.service.DictService; @@ -87,7 +87,7 @@ public class DictController { */ @GetResource(name = "获取字典详情", path = "/dict/getDictDetail", requiredPermission = false) public ResponseData getDictDetail(@RequestBody @Validated(DictRequest.detail.class) DictRequest dictRequest) { - Dict detail = this.dictService.findDetail(dictRequest); + SysDict detail = this.dictService.findDetail(dictRequest); return new SuccessResponseData(detail); } @@ -99,7 +99,7 @@ public class DictController { */ @PostResource(name = "获取字典列表", path = "/dict/getDictList", requiredPermission = false) public ResponseData getDictList(@RequestBody DictRequest dictRequest) { - List dictList = this.dictService.findList(dictRequest); + List dictList = this.dictService.findList(dictRequest); return new SuccessResponseData(dictList); } @@ -111,7 +111,7 @@ public class DictController { */ @PostResource(name = "获取字典列表", path = "/dict/getDictListPage", requiredPermission = false) public ResponseData getDictListPage(@RequestBody DictRequest dictRequest) { - PageResult page = this.dictService.findPageList(dictRequest); + PageResult page = this.dictService.findPageList(dictRequest); return new SuccessResponseData(page); } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictTypeController.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictTypeController.java index be5d621d6..c675e50ab 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictTypeController.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/controller/DictTypeController.java @@ -1,9 +1,8 @@ package cn.stylefeng.roses.kernel.dict.modular.controller; -import cn.stylefeng.roses.kernel.dict.modular.entity.DictType; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType; import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest; import cn.stylefeng.roses.kernel.dict.modular.service.DictTypeService; import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; @@ -11,6 +10,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; @@ -88,8 +88,8 @@ public class DictTypeController { */ @PostResource(name = "获取字典类型列表", path = "/dictType/getDictTypeList", requiredPermission = false) public ResponseData getDictTypeList(@RequestBody DictTypeRequest dictTypeRequest) { - List dictTypeList = dictTypeService.getDictTypeList(dictTypeRequest); - return new SuccessResponseData(dictTypeList); + List sysDictTypeList = dictTypeService.getDictTypeList(dictTypeRequest); + return new SuccessResponseData(sysDictTypeList); } /** @@ -100,8 +100,8 @@ public class DictTypeController { */ @PostResource(name = "获取字典类型列表(分页)", path = "/dictType/getDictTypePageList", requiredPermission = false) public ResponseData getDictTypePageList(@RequestBody DictTypeRequest dictTypeRequest) { - Page page = PageFactory.defaultPage(); - PageResult dictTypePageList = dictTypeService.getDictTypePageList(page, dictTypeRequest); + Page page = PageFactory.defaultPage(); + PageResult dictTypePageList = dictTypeService.getDictTypePageList(page, dictTypeRequest); return new SuccessResponseData(dictTypePageList); } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/Dict.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/SysDict.java similarity index 74% rename from kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/Dict.java rename to kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/SysDict.java index 990b0a254..2468cd581 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/Dict.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/SysDict.java @@ -1,10 +1,10 @@ package cn.stylefeng.roses.kernel.dict.modular.entity; +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,19 +19,19 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) @Data @TableName("sys_dict") -public class Dict extends BaseEntity { +public class SysDict extends BaseEntity { /** * 字典id */ - @TableId(value = "id", type = IdType.ASSIGN_ID) - private Long id; + @TableId(value = "dict_id", type = IdType.ASSIGN_ID) + private Long dictId; /** - * 字典编码 + * 字典类型的编码 */ - @TableField("dict_code") - private String dictCode; + @TableField("dict_type_code") + private String dictTypeCode; /** * 字典名称 @@ -40,10 +40,10 @@ public class Dict extends BaseEntity { private String dictName; /** - * 字典类型的编码 + * 字典编码,字典编码的前缀会添加字典类型编码+下划线 */ - @TableField("dict_type_code") - private String dictTypeCode; + @TableField("dict_code") + private String dictCode; /** * 字典简称 @@ -58,33 +58,29 @@ public class Dict extends BaseEntity { private String dictShortCode; /** - * 上级字典的id - *

- * 字典列表是可以有树形结构的,但是字典类型没有树形结构 - *

- * 如果没有上级字典id,则为-1 + * 上级字典的id(如果没有上级字典id,则为0) */ @TableField("parent_dict_id") private Long parentDictId; - /** - * 状态(1:启用,2:禁用),参考 StatusEnum - */ - @TableField("dict_status") - private Integer dictStatus; - - /** - * 删除标记 Y-已删除,N-未删除,参考 YesOrNotEnum - */ - @TableField("del_flag") - private String delFlag; - /** * 排序,带小数点 */ @TableField(value = "dict_sort") private BigDecimal dictSort; + /** + * 状态:1-启用,2-禁用,参考 StatusEnum + */ + @TableField("status_flag") + private Integer statusFlag; + + /** + * 是否删除:Y-被删除,N-未删除 + */ + @TableField("del_flag") + private String delFlag; + /** * 字典类型的名称 */ diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/DictType.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/SysDictType.java similarity index 84% rename from kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/DictType.java rename to kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/SysDictType.java index 357a1fbe2..d7b2379d1 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/DictType.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/entity/SysDictType.java @@ -1,10 +1,10 @@ package cn.stylefeng.roses.kernel.dict.modular.entity; +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,13 +19,13 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) @Data @TableName("sys_dict_type") -public class DictType extends BaseEntity { +public class SysDictType extends BaseEntity { /** * 字典类型id */ - @TableId(value = "id", type = IdType.ASSIGN_ID) - private String id; + @TableId(value = "dict_type_id", type = IdType.ASSIGN_ID) + private String dictTypeId; /** * 字典类型: 1-业务类型,2-系统类型,参考 DictTypeClassEnum @@ -51,22 +51,22 @@ public class DictType extends BaseEntity { @TableField("dict_type_desc") private String dictTypeDesc; - /** - * 字典类型的状态:1-启用,2-禁用,参考 StatusEnum - */ - @TableField("dict_type_status") - private Integer dictTypeStatus; - - /** - * 删除标记 Y-已删除,N-未删除,参考 YesOrNotEnum - */ - @TableField("del_flag") - private String delFlag; - /** * 排序,带小数点 */ @TableField(value = "dict_type_sort") private BigDecimal dictTypeSort; + /** + * 字典类型的状态:1-启用,2-禁用,参考 StatusEnum + */ + @TableField("status_flag") + private Integer statusFlag; + + /** + * 是否删除:Y-被删除,N-未删除 + */ + @TableField("del_flag") + private String delFlag; + } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictMapper.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictMapper.java index 03b91e1f1..5ce171dbc 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictMapper.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictMapper.java @@ -1,9 +1,9 @@ package cn.stylefeng.roses.kernel.dict.modular.mapper; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict; +import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import cn.stylefeng.roses.kernel.dict.modular.entity.Dict; -import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,7 +14,7 @@ import java.util.List; * @author fengshuonan * @date 2020/10/29 17:20 */ -public interface DictMapper extends BaseMapper { +public interface DictMapper extends BaseMapper { /** * 获取分页字典列表 @@ -24,7 +24,7 @@ public interface DictMapper extends BaseMapper { * @author fengshuonan * @date 2020/10/29 17:21 */ - Dict findDetail(@Param("dictRequest") DictRequest dictRequest); + SysDict findDetail(@Param("dictRequest") DictRequest dictRequest); /** * 获取分页字典列表 @@ -35,6 +35,6 @@ public interface DictMapper extends BaseMapper { * @author fengshuonan * @date 2020/10/29 17:21 */ - List findList(Page page, @Param("dictRequest") DictRequest dictRequest); + List findList(Page page, @Param("dictRequest") DictRequest dictRequest); } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictTypeMapper.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictTypeMapper.java index 3cb97b5dc..2ae54712e 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictTypeMapper.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/DictTypeMapper.java @@ -1,9 +1,9 @@ package cn.stylefeng.roses.kernel.dict.modular.mapper; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType; +import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import cn.stylefeng.roses.kernel.dict.modular.entity.DictType; -import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,7 +14,7 @@ import java.util.List; * @author fengshuonan * @date 2020/10/30 21:04 */ -public interface DictTypeMapper extends BaseMapper { +public interface DictTypeMapper extends BaseMapper { /** * 获取字典类型列表 @@ -25,6 +25,6 @@ public interface DictTypeMapper extends BaseMapper { * @author fengshuonan * @date 2020/10/29 17:41 */ - List findList(Page page, @Param("dictTypeRequest") DictTypeRequest dictTypeRequest); + List findList(Page page, @Param("dictTypeRequest") DictTypeRequest dictTypeRequest); } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictMapper.xml b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictMapper.xml index 1d0faf127..fc04ba122 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictMapper.xml +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictMapper.xml @@ -2,66 +2,48 @@ - - - - - - - - - - - - - - - - - - - SELECT - dict.id AS id, - dict.dict_code AS dictCode, - type.dict_name as dictName, + dict.dict_id AS dictId, dict.dict_type_code AS dictTypeCode, + dict.dict_name as dictName, + dict.dict_code AS dictCode, dict.dict_short_name AS dictShortName, dict.dict_short_code AS dictShortCode, dict.parent_dict_id AS parentDictId, - dict.dict_status AS dictStatus, - dict.create_time AS createTime + dict.dict_sort as dictSort, + dict.status_flag AS statusFlag, + dict.create_time AS createTime, + type.dict_type_name as dictTypeName FROM sys_dict dict INNER JOIN sys_dict_type type ON dict.dict_type_code = type.dict_type_code WHERE dict.del_flag = 'N' - - AND dict.dict_type_code = #{dictRequest.dictTypeCode} + + AND dict.dict_id = #{dictRequest.dictId} AND dict.dict_code = #{dictRequest.dictCode} - - AND dict.dict_name = #{dictRequest.dictName} - ORDER BY dict_sort - SELECT - type.dict_type_name as dictTypeName, - dict.id AS id, - dict.dict_code AS dictCode, - type.dict_name as dictName, + dict.dict_id AS dictId, dict.dict_type_code AS dictTypeCode, + dict.dict_name as dictName, + dict.dict_code AS dictCode, dict.dict_short_name AS dictShortName, dict.dict_short_code AS dictShortCode, dict.parent_dict_id AS parentDictId, - dict.dict_status AS dictStatus, - dict.create_time AS createTime + dict.dict_sort as dictSort, + dict.status_flag AS statusFlag, + dict.create_time AS createTime, + type.dict_type_name as dictTypeName FROM - cbd_sys_dict dict - INNER JOIN cbd_sys_dict_type type ON dict.dict_type_code = type.dict_type_code + sys_dict dict + INNER JOIN sys_dict_type type ON dict.dict_type_code = type.dict_type_code WHERE dict.del_flag = 'N' AND dict.dict_type_code = #{dictRequest.dictTypeCode} @@ -75,8 +57,8 @@ AND dict.parent_dict_id = #{dictRequest.parentDictId} - - AND dict.dict_status = #{dictRequest.dictStatus} + + AND dict.status_flag = #{dictRequest.statusFlag} and dict.parent_dict_id = #{dictRequest.parentDictId} diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictTypeMapper.xml b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictTypeMapper.xml index 7690ff8f7..7a1e386fa 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictTypeMapper.xml +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/mapper/mapping/DictTypeMapper.xml @@ -2,34 +2,18 @@ - - - - - - - - - - - - - - - - - SELECT dict_type_id AS dictTypeId, dict_type_class AS dictTypeClass, dict_type_code AS dictTypeCode, dict_type_name AS dictTypeName, dict_type_desc AS dictTypeDesc, - dict_type_status AS dictTypeStatus, - dict_type_sort AS dictTypeSort + dict_type_sort AS dictTypeSort, + status_flag AS statusFlag FROM - cbd_sys_dict_type + sys_dict_type where del_flag = 'N' AND dict_type_name like CONCAT('%',#{dictTypeRequest.dictTypeName},'%') @@ -40,11 +24,10 @@ AND dict_type_code like CONCAT('%',#{dictTypeRequest.dictTypeCode},'%') - - AND dict_type_status = #{dictTypeRequest.dictTypeStatus} + + AND status_flag = #{dictTypeRequest.statusFlag} - ORDER BY - dict_type_sort + ORDER BY dict_type_sort diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java index f2e55cb53..61b95677f 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictRequest.java @@ -1,11 +1,13 @@ package cn.stylefeng.roses.kernel.dict.modular.pojo.request; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; /** * 字典请求参数封装 @@ -20,20 +22,8 @@ public class DictRequest extends BaseRequest { /** * 字典id */ - @NotNull(message = "id不能为空,请检查id参数", groups = {edit.class, delete.class, detail.class, updateStatus.class}) - private Long id; - - /** - * 字典编码 - */ - @NotBlank(message = "字典编码不能为空", groups = {add.class, edit.class, validateAvailable.class}) - private String dictCode; - - /** - * 字典名称 - */ - @NotBlank(message = "字典名称不能为空", groups = {add.class, edit.class}) - private String dictName; + @NotNull(message = "dictId不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class}) + private Long dictId; /** * 字典类型编码 @@ -41,6 +31,28 @@ public class DictRequest extends BaseRequest { @NotBlank(message = "字典类型编码不能为空", groups = {add.class, edit.class, treeList.class, validateAvailable.class}) private String dictTypeCode; + /** + * 字典名称 + */ + @NotBlank(message = "字典名称不能为空", groups = {add.class, edit.class}) + @TableUniqueValue( + message = "字典名称存在重复", + groups = {add.class, edit.class}, + tableName = "sys_dict", + columnName = "dict_name") + private String dictName; + + /** + * 字典编码 + */ + @NotBlank(message = "字典编码不能为空", groups = {add.class, edit.class, validateAvailable.class}) + @TableUniqueValue( + message = "字典编码存在重复", + groups = {add.class, edit.class}, + tableName = "sys_dict", + columnName = "dict_code") + private String dictCode; + /** * 字典简称 */ @@ -52,19 +64,20 @@ public class DictRequest extends BaseRequest { private String dictShortCode; /** - * 上级字典的id - *

- * 字典列表是可以有树形结构的,但是字典类型没有树形结构 - *

- * 如果没有上级字典id,则为-1 + * 上级字典的id(如果没有上级字典id,则为0) */ private Long parentDictId; /** - * 状态(1:启用,2:禁用),参考 StatusEnum + * 排序,带小数点 + */ + private BigDecimal dictSort; + + /** + * 状态:1-启用,2-禁用,参考 StatusEnum */ @NotNull(message = "状态不能为空", groups = {updateStatus.class, edit.class}) - private Integer dictStatus; + private Integer statusFlag; /** * 获取树形列表 diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictTypeRequest.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictTypeRequest.java index a9bba4927..0aedf30ad 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictTypeRequest.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/pojo/request/DictTypeRequest.java @@ -1,11 +1,13 @@ package cn.stylefeng.roses.kernel.dict.modular.pojo.request; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; +import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; /** * 字典类型,请求参数封装 @@ -20,8 +22,8 @@ public class DictTypeRequest extends BaseRequest { /** * 字典类型id */ - @NotNull(message = "id不能为空,请检查id参数", groups = {edit.class, delete.class, detail.class, updateStatus.class}) - private Long id; + @NotNull(message = "dictTypeId不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class}) + private Long dictTypeId; /** * 字典类型: 1-业务类型,2-系统类型,参考 DictTypeClassEnum @@ -33,12 +35,22 @@ public class DictTypeRequest extends BaseRequest { * 字典类型编码 */ @NotBlank(message = "字典类型编码不能为空", groups = {add.class, edit.class}) + @TableUniqueValue( + message = "字典类型编码存在重复", + groups = {add.class, edit.class}, + tableName = "sys_dict_type", + columnName = "dict_type_code") private String dictTypeCode; /** * 字典类型名称 */ @NotBlank(message = "字典类型名称不能为空", groups = {add.class, edit.class}) + @TableUniqueValue( + message = "字典类型名称存在重复", + groups = {add.class, edit.class}, + tableName = "sys_dict_type", + columnName = "dict_type_name") private String dictTypeName; /** @@ -46,10 +58,15 @@ public class DictTypeRequest extends BaseRequest { */ private String dictTypeDesc; + /** + * 排序,带小数点 + */ + private BigDecimal dictTypeSort; + /** * 字典类型的状态:1-启用,2-禁用,参考 StatusEnum */ @NotNull(message = "状态不能为空", groups = {updateStatus.class}) - private Integer dictTypeStatus; + private Integer statusFlag; } diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java index 92af05e5d..6421fe1db 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictService.java @@ -1,10 +1,10 @@ package cn.stylefeng.roses.kernel.dict.modular.service; -import cn.stylefeng.roses.kernel.dict.modular.entity.Dict; -import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo; -import com.baomidou.mybatisplus.extension.service.IService; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict; +import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo; import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest; +import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -14,7 +14,7 @@ import java.util.List; * @author fengshuonan * @date 2020/10/29 17:43 */ -public interface DictService extends IService { +public interface DictService extends IService { /** * 新增字典 @@ -60,7 +60,7 @@ public interface DictService extends IService { * @author fengshuonan * @date 2020/10/30 16:15 */ - Dict findDetail(DictRequest dictRequest); + SysDict findDetail(DictRequest dictRequest); /** * 获取字典列表 @@ -70,7 +70,7 @@ public interface DictService extends IService { * @author fengshuonan * @date 2020/10/29 18:48 */ - List findList(DictRequest dictRequest); + List findList(DictRequest dictRequest); /** * 获取字典列表(带分页) @@ -80,7 +80,7 @@ public interface DictService extends IService { * @author fengshuonan * @date 2020/10/29 18:48 */ - PageResult findPageList(DictRequest dictRequest); + PageResult findPageList(DictRequest dictRequest); /** * 获取树形字典列表 diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java index 0bc328d5a..d476b84b4 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/DictTypeService.java @@ -1,11 +1,11 @@ package cn.stylefeng.roses.kernel.dict.modular.service; -import cn.stylefeng.roses.kernel.dict.modular.entity.DictType; +import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType; +import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; -import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest; import java.util.List; @@ -15,7 +15,7 @@ import java.util.List; * @author fengshuonan * @date 2020/10/29 18:54 */ -public interface DictTypeService extends IService { +public interface DictTypeService extends IService { /** * 添加字典类型 @@ -61,7 +61,7 @@ public interface DictTypeService extends IService { * @author fengshuonan * @date 2020/10/29 18:55 */ - List getDictTypeList(DictTypeRequest dictTypeRequest); + List getDictTypeList(DictTypeRequest dictTypeRequest); /** * 获取字典类型列表(带分页) @@ -72,7 +72,7 @@ public interface DictTypeService extends IService { * @author fengshuonan * @date 2020/10/29 18:55 */ - PageResult getDictTypePageList(Page page, DictTypeRequest dictTypeRequest); + PageResult getDictTypePageList(Page page, DictTypeRequest dictTypeRequest); /** * code校验重复 diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java index 154ed4e14..5c21dacac 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictServiceImpl.java @@ -4,21 +4,23 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.stylefeng.roses.kernel.dict.modular.mapper.DictMapper; -import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.dict.api.exception.DictException; import cn.stylefeng.roses.kernel.dict.api.exception.enums.DictExceptionEnum; -import cn.stylefeng.roses.kernel.dict.modular.entity.Dict; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict; +import cn.stylefeng.roses.kernel.dict.modular.mapper.DictMapper; +import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo; import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest; import cn.stylefeng.roses.kernel.dict.modular.service.DictService; import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; +import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -35,46 +37,18 @@ import static cn.stylefeng.roses.kernel.dict.api.exception.enums.DictExceptionEn * @date 2020/10/28 上午9:48 */ @Service -public class DictServiceImpl extends ServiceImpl implements DictService { +public class DictServiceImpl extends ServiceImpl implements DictService { @Override public void addDict(DictRequest dictRequest) { - // 判断某个字典类型下,该编码是否重复 - LambdaQueryWrapper codeRepeatWrapper = new LambdaQueryWrapper<>(); - codeRepeatWrapper - .eq(Dict::getDictTypeCode, dictRequest.getDictTypeCode()) - .and(i -> i.eq(Dict::getDictCode, dictRequest.getDictTypeCode())); - - // 如果重复,抛出异常 - int codeCount = this.baseMapper.selectCount(codeRepeatWrapper); - if (codeCount > 0) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_CODE_REPEAT.getUserTip(), dictRequest.getDictTypeCode(), dictRequest.getDictCode()); - throw new DictException(DictExceptionEnum.DICT_CODE_REPEAT, userTip); - } - - // 判断某个字典类型下,字典的名称是否重复 - LambdaQueryWrapper nameRepeatWrapper = new LambdaQueryWrapper<>(); - nameRepeatWrapper - .eq(Dict::getDictTypeCode, dictRequest.getDictTypeCode()) - .and(i -> i.eq(Dict::getDictName, dictRequest.getDictName())); - - // 如果重复,抛出异常 - int nameCount = this.baseMapper.selectCount(nameRepeatWrapper); - if (nameCount > 0) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_NAME_REPEAT.getUserTip(), dictRequest.getDictTypeCode(), dictRequest.getDictName()); - throw new DictException(DictExceptionEnum.DICT_NAME_REPEAT, userTip); - } - // 如果父节点为空,则填充为默认的父节点id if (dictRequest.getParentDictId() == null) { dictRequest.setParentDictId(DEFAULT_DICT_PARENT_ID); - } - - // 如果父节点不为空,并且不是-1,则判断父节点存不存在,防止脏数据 - else { + } else { + // 如果父节点不为空,并且不是0,则判断父节点存不存在,防止脏数据 if (!DEFAULT_DICT_PARENT_ID.equals(dictRequest.getParentDictId())) { - Dict parentDict = this.getById(dictRequest.getParentDictId()); + SysDict parentDict = this.getById(dictRequest.getParentDictId()); if (parentDict == null) { String userTip = StrUtil.format(DictExceptionEnum.PARENT_DICT_NOT_EXISTED.getUserTip(), dictRequest.getParentDictId()); throw new DictException(DictExceptionEnum.PARENT_DICT_NOT_EXISTED, userTip); @@ -83,14 +57,11 @@ public class DictServiceImpl extends ServiceImpl implements Di } // dto转化为实体 - Dict dict = new Dict(); - BeanUtil.copyProperties(dictRequest, new Dict()); - - // dictId是自动生成 - dict.setId(null); + SysDict dict = new SysDict(); + BeanUtil.copyProperties(dictRequest, dict); // 设置状态启用 - dict.setDictStatus(StatusEnum.ENABLE.getCode()); + dict.setStatusFlag(StatusEnum.ENABLE.getCode()); this.baseMapper.insert(dict); } @@ -99,40 +70,12 @@ public class DictServiceImpl extends ServiceImpl implements Di public void updateDict(DictRequest dictRequest) { // 查询字典是否存在 - Dict oldDict = this.getById(dictRequest.getId()); + SysDict oldDict = this.getById(dictRequest.getDictId()); if (oldDict == null) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_NOT_EXISTED.getUserTip(), dictRequest.getId()); + String userTip = StrUtil.format(DictExceptionEnum.DICT_NOT_EXISTED.getUserTip(), dictRequest.getDictId()); throw new DictException(DictExceptionEnum.DICT_NOT_EXISTED, userTip); } - // 判断某个字典类型下,该编码是否重复 - LambdaQueryWrapper codeRepeatWrapper = new LambdaQueryWrapper<>(); - codeRepeatWrapper - .eq(Dict::getDictTypeCode, dictRequest.getDictTypeCode()) - .and(i -> i.eq(Dict::getDictCode, dictRequest.getDictTypeCode())) - .and(i -> i.ne(Dict::getId, dictRequest.getId())); - - // 如果重复,抛出异常 - int codeCount = this.baseMapper.selectCount(codeRepeatWrapper); - if (codeCount > 0) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_CODE_REPEAT.getUserTip(), dictRequest.getDictTypeCode(), dictRequest.getDictCode()); - throw new DictException(DictExceptionEnum.DICT_CODE_REPEAT, userTip); - } - - // 判断某个字典类型下,字典的名称是否重复 - LambdaQueryWrapper nameRepeatWrapper = new LambdaQueryWrapper<>(); - nameRepeatWrapper - .eq(Dict::getDictTypeCode, dictRequest.getDictTypeCode()) - .and(i -> i.eq(Dict::getDictName, dictRequest.getDictName())) - .and(i -> i.ne(Dict::getId, dictRequest.getId())); - - // 如果重复,抛出异常 - int nameCount = this.baseMapper.selectCount(nameRepeatWrapper); - if (nameCount > 0) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_NAME_REPEAT.getUserTip(), dictRequest.getDictTypeCode(), dictRequest.getDictName()); - throw new DictException(DictExceptionEnum.DICT_NAME_REPEAT, userTip); - } - // 不能修改字典类型和编码 dictRequest.setDictTypeCode(null); dictRequest.setDictCode(null); @@ -147,49 +90,52 @@ public class DictServiceImpl extends ServiceImpl implements Di public void updateDictStatus(DictRequest dictRequest) { // 检查参数状态是否合法 - if (StatusEnum.codeToEnum(dictRequest.getDictStatus()) == null) { - String userTip = StrUtil.format(WRONG_DICT_STATUS.getUserTip(), dictRequest.getDictStatus()); + if (StatusEnum.codeToEnum(dictRequest.getStatusFlag()) == null) { + String userTip = StrUtil.format(WRONG_DICT_STATUS.getUserTip(), dictRequest.getStatusFlag()); throw new DictException(WRONG_DICT_STATUS, userTip); } // 查询对应的字典信息 - Dict dict = this.baseMapper.selectById(dictRequest.getId()); + SysDict dict = this.baseMapper.selectById(dictRequest.getDictId()); if (dict == null) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_NOT_EXISTED.getUserTip(), dictRequest.getId()); + String userTip = StrUtil.format(DictExceptionEnum.DICT_NOT_EXISTED.getUserTip(), dictRequest.getDictId()); throw new DictException(DictExceptionEnum.DICT_NOT_EXISTED, userTip); } // 修改状态 - dict.setDictStatus(dictRequest.getDictStatus()); + dict.setStatusFlag(dictRequest.getStatusFlag()); + this.updateById(dict); } @Override public void deleteDict(DictRequest dictRequest) { - this.baseMapper.deleteById(dictRequest.getId()); + LambdaUpdateWrapper sysDictLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + sysDictLambdaUpdateWrapper.set(SysDict::getDelFlag, YesOrNotEnum.Y.getCode()); + sysDictLambdaUpdateWrapper.eq(SysDict::getDictId, dictRequest.getDictId()); + this.update(sysDictLambdaUpdateWrapper); } @Override - public Dict findDetail(DictRequest dictRequest) { + public SysDict findDetail(DictRequest dictRequest) { return this.baseMapper.findDetail(dictRequest); } @Override - public List findList(DictRequest dictRequest) { + public List findList(DictRequest dictRequest) { if (dictRequest == null) { dictRequest = new DictRequest(); } - return baseMapper.findList(null, dictRequest); } @Override - public PageResult findPageList(DictRequest dictRequest) { + public PageResult findPageList(DictRequest dictRequest) { if (dictRequest == null) { dictRequest = new DictRequest(); } - Page page = PageFactory.defaultPage(); + Page page = PageFactory.defaultPage(); baseMapper.findList(page, dictRequest); return PageResultFactory.createPageResult(page); @@ -199,16 +145,16 @@ public class DictServiceImpl extends ServiceImpl implements Di public List getTreeDictList(DictRequest dictRequest) { // 获取字典类型下所有的字典 - List dictList = this.findList(dictRequest); + List dictList = this.findList(dictRequest); if (dictList == null || dictList.isEmpty()) { return new ArrayList<>(); } // 构造树节点信息 ArrayList treeDictInfos = new ArrayList<>(); - for (Dict dict : dictList) { + for (SysDict dict : dictList) { TreeDictInfo treeDictInfo = new TreeDictInfo(); - treeDictInfo.setDictId(dict.getId()); + treeDictInfo.setDictId(dict.getDictId()); treeDictInfo.setDictCode(dict.getDictCode()); treeDictInfo.setParentDictId(dict.getParentDictId()); treeDictInfo.setDictName(dict.getDictName()); @@ -223,16 +169,19 @@ public class DictServiceImpl extends ServiceImpl implements Di public boolean validateCodeAvailable(DictRequest dictRequest) { // 判断编码是否重复 - LambdaQueryWrapper codeRepeatWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper codeRepeatWrapper = new LambdaQueryWrapper<>(); codeRepeatWrapper - .eq(Dict::getDictTypeCode, dictRequest.getDictTypeCode()) - .and(i -> i.eq(Dict::getDictCode, dictRequest.getDictCode())); + .eq(SysDict::getDictTypeCode, dictRequest.getDictTypeCode()) + .and(i -> i.eq(SysDict::getDictCode, dictRequest.getDictCode())); // 如果传了字典id代表是编辑字典 - if (ObjectUtil.isNotEmpty(dictRequest.getId())) { - codeRepeatWrapper.and(i -> i.ne(Dict::getId, dictRequest.getId())); + if (ObjectUtil.isNotEmpty(dictRequest.getDictId())) { + codeRepeatWrapper.and(i -> i.ne(SysDict::getDictId, dictRequest.getDictId())); } + // 不查询被删除的 + codeRepeatWrapper.eq(SysDict::getDelFlag, YesOrNotEnum.N.getCode()); + // 如果重复,抛出异常 int codeCount = this.baseMapper.selectCount(codeRepeatWrapper); diff --git a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java index 28f0b7869..ce409ee8d 100644 --- a/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java +++ b/kernel-s-dict/dict-business/src/main/java/cn/stylefeng/roses/kernel/dict/modular/service/impl/DictTypeServiceImpl.java @@ -3,19 +3,21 @@ package cn.stylefeng.roses.kernel.dict.modular.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.stylefeng.roses.kernel.dict.modular.entity.DictType; -import cn.stylefeng.roses.kernel.dict.modular.mapper.DictTypeMapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.dict.api.exception.DictException; import cn.stylefeng.roses.kernel.dict.api.exception.enums.DictExceptionEnum; +import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType; +import cn.stylefeng.roses.kernel.dict.modular.mapper.DictTypeMapper; import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest; import cn.stylefeng.roses.kernel.dict.modular.service.DictTypeService; import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; +import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; @@ -29,96 +31,78 @@ import java.util.List; * @date 2020/10/28 上午9:58 */ @Service -public class DictTypeServiceImpl extends ServiceImpl implements DictTypeService { +public class DictTypeServiceImpl extends ServiceImpl implements DictTypeService { @Override public void addDictType(DictTypeRequest dictTypeRequest) { - //判断有没有相同编码的字典 - LambdaQueryWrapper codeWrapper = new LambdaQueryWrapper<>(); - codeWrapper.eq(DictType::getDictTypeCode, dictTypeRequest.getDictTypeCode()); - - int dictTypes = this.baseMapper.selectCount(codeWrapper); - if (dictTypes > 0) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_TYPE_CODE_REPEAT.getUserTip(), dictTypeRequest.getDictTypeCode()); - throw new DictException(DictExceptionEnum.DICT_TYPE_CODE_REPEAT, userTip); - } - // 模型转化 - DictType dictType = new DictType(); - BeanUtil.copyProperties(dictTypeRequest, dictType); + SysDictType sysDictType = new SysDictType(); + BeanUtil.copyProperties(dictTypeRequest, sysDictType); // 设置初始状态 - dictType.setDictTypeStatus(StatusEnum.ENABLE.getCode()); - this.baseMapper.insert(dictType); + sysDictType.setStatusFlag(StatusEnum.ENABLE.getCode()); + + this.baseMapper.insert(sysDictType); } @Override public void updateDictType(DictTypeRequest dictTypeRequest) { // 获取字典类型是否存在 - DictType oldDictType = this.baseMapper.selectById(dictTypeRequest.getId()); - if (oldDictType == null) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_TYPE_NOT_EXISTED.getUserTip(), dictTypeRequest.getId()); + SysDictType oldSysDictType = this.baseMapper.selectById(dictTypeRequest.getDictTypeId()); + if (oldSysDictType == null) { + String userTip = StrUtil.format(DictExceptionEnum.DICT_TYPE_NOT_EXISTED.getUserTip(), dictTypeRequest.getDictTypeId()); throw new DictException(DictExceptionEnum.DICT_TYPE_NOT_EXISTED, userTip); } - // 判断有没有相同编码的字典 - LambdaQueryWrapper codeWrapper = new LambdaQueryWrapper<>(); - codeWrapper - .eq(DictType::getDictTypeCode, dictTypeRequest.getDictTypeCode()) - .and(i -> i.ne(DictType::getId, dictTypeRequest.getId())); - - int dictTypes = this.baseMapper.selectCount(codeWrapper); - if (dictTypes > 0) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_TYPE_CODE_REPEAT.getUserTip(), dictTypeRequest.getDictTypeCode()); - throw new DictException(DictExceptionEnum.DICT_TYPE_CODE_REPEAT, userTip); - } - // 模型转化 - BeanUtil.copyProperties(dictTypeRequest, oldDictType); + BeanUtil.copyProperties(dictTypeRequest, oldSysDictType); // 不能修改字典编码 - oldDictType.setDictTypeCode(null); + oldSysDictType.setDictTypeCode(null); - this.updateById(oldDictType); + this.updateById(oldSysDictType); } @Override public void updateDictTypeStatus(DictTypeRequest dictTypeRequest) { // 获取字典类型是否存在 - DictType oldDictType = this.baseMapper.selectById(dictTypeRequest.getId()); - if (oldDictType == null) { - String userTip = StrUtil.format(DictExceptionEnum.DICT_TYPE_NOT_EXISTED.getUserTip(), dictTypeRequest.getId()); + SysDictType oldSysDictType = this.baseMapper.selectById(dictTypeRequest.getDictTypeId()); + if (oldSysDictType == null) { + String userTip = StrUtil.format(DictExceptionEnum.DICT_TYPE_NOT_EXISTED.getUserTip(), dictTypeRequest.getDictTypeId()); throw new DictException(DictExceptionEnum.DICT_TYPE_NOT_EXISTED, userTip); } // 判断状态是否正确 - StatusEnum statusEnum = StatusEnum.codeToEnum(dictTypeRequest.getDictTypeStatus()); + StatusEnum statusEnum = StatusEnum.codeToEnum(dictTypeRequest.getStatusFlag()); if (statusEnum == null) { - String userTip = StrUtil.format(DictExceptionEnum.WRONG_DICT_STATUS.getUserTip(), dictTypeRequest.getDictTypeStatus()); + String userTip = StrUtil.format(DictExceptionEnum.WRONG_DICT_STATUS.getUserTip(), dictTypeRequest.getStatusFlag()); throw new DictException(DictExceptionEnum.WRONG_DICT_STATUS, userTip); } // 修改状态 - oldDictType.setDictTypeStatus(dictTypeRequest.getDictTypeStatus()); + oldSysDictType.setStatusFlag(dictTypeRequest.getStatusFlag()); - this.updateById(oldDictType); + this.updateById(oldSysDictType); } @Override public void deleteDictType(DictTypeRequest dictTypeRequest) { - this.baseMapper.deleteById(dictTypeRequest.getId()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(SysDictType::getDelFlag, YesOrNotEnum.Y.getCode()); + updateWrapper.eq(SysDictType::getDictTypeId, dictTypeRequest.getDictTypeId()); + this.update(updateWrapper); } @Override - public List getDictTypeList(DictTypeRequest dictTypeRequest) { + public List getDictTypeList(DictTypeRequest dictTypeRequest) { return this.baseMapper.findList(null, dictTypeRequest); } @Override - public PageResult getDictTypePageList(Page page, DictTypeRequest dictTypeRequest) { + public PageResult getDictTypePageList(Page page, DictTypeRequest dictTypeRequest) { if (page == null) { page = PageFactory.defaultPage(); } @@ -135,12 +119,12 @@ public class DictTypeServiceImpl extends ServiceImpl i @Override public boolean validateCodeAvailable(DictTypeRequest dictTypeRequest) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(DictType::getDictTypeCode, dictTypeRequest.getDictTypeCode()); + wrapper.eq(SysDictType::getDictTypeCode, dictTypeRequest.getDictTypeCode()); - if (ObjectUtil.isNotEmpty(dictTypeRequest.getId())) { - wrapper.and(i -> i.ne(DictType::getId, dictTypeRequest.getId())); + if (ObjectUtil.isNotEmpty(dictTypeRequest.getDictTypeId())) { + wrapper.and(i -> i.ne(SysDictType::getDictTypeId, dictTypeRequest.getDictTypeId())); } Integer selectCount = this.baseMapper.selectCount(wrapper);