mirror of https://gitee.com/stylefeng/roses
【dict】整理整个dict模块的字段和业务
parent
1957b8cc65
commit
d54afecb46
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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:{}"),
|
||||
|
||||
/**
|
||||
* 字典不存在
|
||||
|
|
|
@ -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<Dict> dictList = this.dictService.findList(dictRequest);
|
||||
List<SysDict> 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<Dict> page = this.dictService.findPageList(dictRequest);
|
||||
PageResult<SysDict> page = this.dictService.findPageList(dictRequest);
|
||||
return new SuccessResponseData(page);
|
||||
}
|
||||
|
||||
|
|
|
@ -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<DictType> dictTypeList = dictTypeService.getDictTypeList(dictTypeRequest);
|
||||
return new SuccessResponseData(dictTypeList);
|
||||
List<SysDictType> 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<DictType> page = PageFactory.defaultPage();
|
||||
PageResult<DictType> dictTypePageList = dictTypeService.getDictTypePageList(page, dictTypeRequest);
|
||||
Page<SysDictType> page = PageFactory.defaultPage();
|
||||
PageResult<SysDictType> dictTypePageList = dictTypeService.getDictTypePageList(page, dictTypeRequest);
|
||||
return new SuccessResponseData(dictTypePageList);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
* <p>
|
||||
* 字典列表是可以有树形结构的,但是字典类型没有树形结构
|
||||
* <p>
|
||||
* 如果没有上级字典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;
|
||||
|
||||
/**
|
||||
* 字典类型的名称
|
||||
*/
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<Dict> {
|
||||
public interface DictMapper extends BaseMapper<SysDict> {
|
||||
|
||||
/**
|
||||
* 获取分页字典列表
|
||||
|
@ -24,7 +24,7 @@ public interface DictMapper extends BaseMapper<Dict> {
|
|||
* @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<Dict> {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 17:21
|
||||
*/
|
||||
List<Dict> findList(Page<Dict> page, @Param("dictRequest") DictRequest dictRequest);
|
||||
List<SysDict> findList(Page<SysDict> page, @Param("dictRequest") DictRequest dictRequest);
|
||||
|
||||
}
|
||||
|
|
|
@ -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<DictType> {
|
||||
public interface DictTypeMapper extends BaseMapper<SysDictType> {
|
||||
|
||||
/**
|
||||
* 获取字典类型列表
|
||||
|
@ -25,6 +25,6 @@ public interface DictTypeMapper extends BaseMapper<DictType> {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 17:41
|
||||
*/
|
||||
List<DictType> findList(Page<DictType> page, @Param("dictTypeRequest") DictTypeRequest dictTypeRequest);
|
||||
List<SysDictType> findList(Page<SysDictType> page, @Param("dictTypeRequest") DictTypeRequest dictTypeRequest);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,66 +2,48 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.stylefeng.roses.kernel.dict.modular.mapper.DictMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="cn.stylefeng.roses.kernel.dict.modular.entity.Dict">
|
||||
<id column="dict_id" property="id"/>
|
||||
<result column="dict_code" property="dictCode"/>
|
||||
<result column="dict_name" property="dictName"/>
|
||||
<result column="dict_type_code" property="dictTypeCode"/>
|
||||
<result column="dict_short_name" property="dictShortName"/>
|
||||
<result column="dict_short_code" property="dictShortCode"/>
|
||||
<result column="parent_dict_id" property="parentDictId"/>
|
||||
<result column="dict_status" property="dictStatus"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="create_user" property="createUser"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="update_user" property="updateUser"/>
|
||||
<result column="del_flag" property="delFlag"/>
|
||||
<result column="dict_sort" property="dictSort"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="findDetail" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.Dict">
|
||||
<select id="findDetail" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.SysDict">
|
||||
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'
|
||||
<if test="dictRequest.dictTypeCode != null and dictRequest.dictTypeCode != ''">
|
||||
AND dict.dict_type_code = #{dictRequest.dictTypeCode}
|
||||
<if test="dictRequest.dictId != null and dictRequest.dictId != ''">
|
||||
AND dict.dict_id = #{dictRequest.dictId}
|
||||
</if>
|
||||
<if test="dictRequest.dictCode != null and dictRequest.dictCode != ''">
|
||||
AND dict.dict_code = #{dictRequest.dictCode}
|
||||
</if>
|
||||
<if test="dictRequest.dictName != null and dictRequest.dictName != ''">
|
||||
AND dict.dict_name = #{dictRequest.dictName}
|
||||
</if>
|
||||
ORDER BY dict_sort
|
||||
</select>
|
||||
|
||||
<select id="findList" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.Dict">
|
||||
<select id="findList" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.SysDict">
|
||||
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'
|
||||
<if test="dictRequest.dictTypeCode != null and dictRequest.dictTypeCode != ''">
|
||||
AND dict.dict_type_code = #{dictRequest.dictTypeCode}
|
||||
|
@ -75,8 +57,8 @@
|
|||
<if test="dictRequest.parentDictId != null and dictRequest.parentDictId != ''">
|
||||
AND dict.parent_dict_id = #{dictRequest.parentDictId}
|
||||
</if>
|
||||
<if test="dictRequest.dictStatus != null and dictRequest.dictStatus !=''">
|
||||
AND dict.dict_status = #{dictRequest.dictStatus}
|
||||
<if test="dictRequest.statusFlag != null and dictRequest.statusFlag !=''">
|
||||
AND dict.status_flag = #{dictRequest.statusFlag}
|
||||
</if>
|
||||
<if test="dictRequest.parentDictId != null and dictRequest.parentDictId != ''">
|
||||
and dict.parent_dict_id = #{dictRequest.parentDictId}
|
||||
|
|
|
@ -2,34 +2,18 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.stylefeng.roses.kernel.dict.modular.mapper.DictTypeMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="cn.stylefeng.roses.kernel.dict.modular.entity.DictType">
|
||||
<id column="id" property="id"/>
|
||||
<result column="dict_type_class" property="dictTypeClass"/>
|
||||
<result column="dict_type_code" property="dictTypeCode"/>
|
||||
<result column="dict_type_name" property="dictTypeName"/>
|
||||
<result column="dict_type_desc" property="dictTypeDesc"/>
|
||||
<result column="dict_type_status" property="dictTypeStatus"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="create_user" property="createUser"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="update_user" property="updateUser"/>
|
||||
<result column="del_flag" property="delFlag"/>
|
||||
<result column="dict_type_sort" property="dictTypeSort"/>
|
||||
</resultMap>
|
||||
|
||||
<!--查询字典类型列表-->
|
||||
<select id="findList" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.DictType">
|
||||
<select id="findList" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType">
|
||||
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'
|
||||
<if test="dictTypeRequest.dictTypeName != null and dictTypeRequest.dictTypeName !=''">
|
||||
AND dict_type_name like CONCAT('%',#{dictTypeRequest.dictTypeName},'%')
|
||||
|
@ -40,11 +24,10 @@
|
|||
<if test="dictTypeRequest.dictTypeCode != null and dictTypeRequest.dictTypeCode !=''">
|
||||
AND dict_type_code like CONCAT('%',#{dictTypeRequest.dictTypeCode},'%')
|
||||
</if>
|
||||
<if test="dictTypeRequest.dictTypeStatus != null and dictTypeRequest.dictTypeStatus !=''">
|
||||
AND dict_type_status = #{dictTypeRequest.dictTypeStatus}
|
||||
<if test="dictTypeRequest.statusFlag != null and dictTypeRequest.statusFlag !=''">
|
||||
AND status_flag = #{dictTypeRequest.statusFlag}
|
||||
</if>
|
||||
ORDER BY
|
||||
dict_type_sort
|
||||
ORDER BY dict_type_sort
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -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
|
||||
* <p>
|
||||
* 字典列表是可以有树形结构的,但是字典类型没有树形结构
|
||||
* <p>
|
||||
* 如果没有上级字典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;
|
||||
|
||||
/**
|
||||
* 获取树形列表
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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<Dict> {
|
||||
public interface DictService extends IService<SysDict> {
|
||||
|
||||
/**
|
||||
* 新增字典
|
||||
|
@ -60,7 +60,7 @@ public interface DictService extends IService<Dict> {
|
|||
* @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<Dict> {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:48
|
||||
*/
|
||||
List<Dict> findList(DictRequest dictRequest);
|
||||
List<SysDict> findList(DictRequest dictRequest);
|
||||
|
||||
/**
|
||||
* 获取字典列表(带分页)
|
||||
|
@ -80,7 +80,7 @@ public interface DictService extends IService<Dict> {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:48
|
||||
*/
|
||||
PageResult<Dict> findPageList(DictRequest dictRequest);
|
||||
PageResult<SysDict> findPageList(DictRequest dictRequest);
|
||||
|
||||
/**
|
||||
* 获取树形字典列表
|
||||
|
|
|
@ -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<DictType> {
|
||||
public interface DictTypeService extends IService<SysDictType> {
|
||||
|
||||
/**
|
||||
* 添加字典类型
|
||||
|
@ -61,7 +61,7 @@ public interface DictTypeService extends IService<DictType> {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:55
|
||||
*/
|
||||
List<DictType> getDictTypeList(DictTypeRequest dictTypeRequest);
|
||||
List<SysDictType> getDictTypeList(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 获取字典类型列表(带分页)
|
||||
|
@ -72,7 +72,7 @@ public interface DictTypeService extends IService<DictType> {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:55
|
||||
*/
|
||||
PageResult<DictType> getDictTypePageList(Page<DictType> page, DictTypeRequest dictTypeRequest);
|
||||
PageResult<SysDictType> getDictTypePageList(Page<SysDictType> page, DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* code校验重复
|
||||
|
|
|
@ -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<DictMapper, Dict> implements DictService {
|
||||
public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements DictService {
|
||||
|
||||
@Override
|
||||
public void addDict(DictRequest dictRequest) {
|
||||
|
||||
// 判断某个字典类型下,该编码是否重复
|
||||
LambdaQueryWrapper<Dict> 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<Dict> 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<DictMapper, Dict> 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<DictMapper, Dict> 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<Dict> 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<Dict> 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<DictMapper, Dict> 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<SysDict> 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<Dict> findList(DictRequest dictRequest) {
|
||||
public List<SysDict> findList(DictRequest dictRequest) {
|
||||
if (dictRequest == null) {
|
||||
dictRequest = new DictRequest();
|
||||
}
|
||||
|
||||
return baseMapper.findList(null, dictRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<Dict> findPageList(DictRequest dictRequest) {
|
||||
public PageResult<SysDict> findPageList(DictRequest dictRequest) {
|
||||
if (dictRequest == null) {
|
||||
dictRequest = new DictRequest();
|
||||
}
|
||||
|
||||
Page<Dict> page = PageFactory.defaultPage();
|
||||
Page<SysDict> page = PageFactory.defaultPage();
|
||||
baseMapper.findList(page, dictRequest);
|
||||
|
||||
return PageResultFactory.createPageResult(page);
|
||||
|
@ -199,16 +145,16 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements Di
|
|||
public List<TreeDictInfo> getTreeDictList(DictRequest dictRequest) {
|
||||
|
||||
// 获取字典类型下所有的字典
|
||||
List<Dict> dictList = this.findList(dictRequest);
|
||||
List<SysDict> dictList = this.findList(dictRequest);
|
||||
if (dictList == null || dictList.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
// 构造树节点信息
|
||||
ArrayList<TreeDictInfo> 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<DictMapper, Dict> implements Di
|
|||
public boolean validateCodeAvailable(DictRequest dictRequest) {
|
||||
|
||||
// 判断编码是否重复
|
||||
LambdaQueryWrapper<Dict> codeRepeatWrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<SysDict> 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);
|
||||
|
||||
|
|
|
@ -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<DictTypeMapper, DictType> implements DictTypeService {
|
||||
public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType> implements DictTypeService {
|
||||
|
||||
@Override
|
||||
public void addDictType(DictTypeRequest dictTypeRequest) {
|
||||
|
||||
//判断有没有相同编码的字典
|
||||
LambdaQueryWrapper<DictType> 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<DictType> 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<SysDictType> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(SysDictType::getDelFlag, YesOrNotEnum.Y.getCode());
|
||||
updateWrapper.eq(SysDictType::getDictTypeId, dictTypeRequest.getDictTypeId());
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DictType> getDictTypeList(DictTypeRequest dictTypeRequest) {
|
||||
public List<SysDictType> getDictTypeList(DictTypeRequest dictTypeRequest) {
|
||||
return this.baseMapper.findList(null, dictTypeRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<DictType> getDictTypePageList(Page<DictType> page, DictTypeRequest dictTypeRequest) {
|
||||
public PageResult<SysDictType> getDictTypePageList(Page<SysDictType> page, DictTypeRequest dictTypeRequest) {
|
||||
if (page == null) {
|
||||
page = PageFactory.defaultPage();
|
||||
}
|
||||
|
@ -135,12 +119,12 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, DictType> i
|
|||
@Override
|
||||
public boolean validateCodeAvailable(DictTypeRequest dictTypeRequest) {
|
||||
|
||||
LambdaQueryWrapper<DictType> wrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<SysDictType> 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);
|
||||
|
|
Loading…
Reference in New Issue