Skip to content

Commit

Permalink
refactor: 💥 优化系统内置类型数据标识
Browse files Browse the repository at this point in the history
1.系统内置类型数据标识由 type 调整为 is_system
2.优化部分表的非空字段
  • Loading branch information
Charles7c committed Sep 17, 2023
1 parent 2755bc8 commit 8a02401
Show file tree
Hide file tree
Showing 30 changed files with 135 additions and 160 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.baomidou.mybatisplus.annotation.TableName;

import top.charles7c.cnadmin.common.base.BaseDO;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;

/**
Expand Down Expand Up @@ -67,7 +66,7 @@ public class DeptDO extends BaseDO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
private DataTypeEnum type;
private Boolean isSystem;
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,9 @@ public class DictDO extends BaseDO {
* 描述
*/
private String description;

/**
* 是否为系统内置数据
*/
private Boolean isSystem;
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

import top.charles7c.cnadmin.common.base.BaseDO;
import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;

/**
Expand Down Expand Up @@ -68,7 +67,7 @@ public class RoleDO extends BaseDO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
private DataTypeEnum type;
private Boolean isSystem;
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import com.baomidou.mybatisplus.annotation.TableName;

import top.charles7c.cnadmin.common.base.BaseDO;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.enums.GenderEnum;

Expand Down Expand Up @@ -85,9 +84,9 @@ public class UserDO extends BaseDO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
private DataTypeEnum type;
private Boolean isSystem;

/**
* 最后一次修改密码时间
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@

import top.charles7c.cnadmin.common.base.BaseDetailVO;
import top.charles7c.cnadmin.common.config.easyexcel.ExcelBaseEnumConverter;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;

/**
Expand Down Expand Up @@ -77,11 +76,11 @@ public class DeptDetailVO extends BaseDetailVO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
@Schema(description = "类型(1:系统内置,2:自定义)", type = "Integer", allowableValues = {"1", "2"}, example = "2")
@ExcelProperty(value = "类型", converter = ExcelBaseEnumConverter.class)
private DataTypeEnum type;
@Schema(description = "是否为系统内置数据", example = "false")
@ExcelProperty(value = "系统内置")
private Boolean isSystem;

/**
* 描述
Expand All @@ -92,6 +91,6 @@ public class DeptDetailVO extends BaseDetailVO {

@Override
public Boolean getDisabled() {
return DataTypeEnum.SYSTEM.equals(type);
return this.getIsSystem();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

import top.charles7c.cnadmin.common.annotation.TreeField;
import top.charles7c.cnadmin.common.base.BaseVO;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;

/**
Expand Down Expand Up @@ -63,10 +62,10 @@ public class DeptVO extends BaseVO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
@Schema(description = "类型(1:系统内置,2:自定义)", type = "Integer", allowableValues = {"1", "2"}, example = "2")
private DataTypeEnum type;
@Schema(description = "是否为系统内置数据", example = "false")
private Boolean isSystem;

/**
* 描述
Expand All @@ -76,6 +75,6 @@ public class DeptVO extends BaseVO {

@Override
public Boolean getDisabled() {
return DataTypeEnum.SYSTEM.equals(type);
return this.getIsSystem();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,10 @@ public class DictDetailVO extends BaseDetailVO {
*/
@Schema(description = "描述", example = "公告类型描述信息")
private String description;

/**
* 是否为系统内置数据
*/
@Schema(description = "是否为系统内置数据", example = "true")
private Boolean isSystem;
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,10 @@ public class DictVO extends BaseVO {
*/
@Schema(description = "描述", example = "公告类型描述信息")
private String description;

/**
* 是否为系统内置数据
*/
@Schema(description = "是否为系统内置数据", example = "true")
private Boolean isSystem;
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import top.charles7c.cnadmin.common.base.BaseDetailVO;
import top.charles7c.cnadmin.common.config.easyexcel.ExcelBaseEnumConverter;
import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;

/**
Expand Down Expand Up @@ -81,11 +80,11 @@ public class RoleDetailVO extends BaseDetailVO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
@Schema(description = "类型(1:系统内置,2:自定义)", example = "2")
@ExcelProperty(value = "类型", converter = ExcelBaseEnumConverter.class)
private DataTypeEnum type;
@Schema(description = "是否为系统内置数据", example = "false")
@ExcelProperty(value = "系统内置")
private Boolean isSystem;

/**
* 描述
Expand All @@ -108,6 +107,6 @@ public class RoleDetailVO extends BaseDetailVO {

@Override
public Boolean getDisabled() {
return DataTypeEnum.SYSTEM.equals(type);
return this.getIsSystem();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

import top.charles7c.cnadmin.common.base.BaseVO;
import top.charles7c.cnadmin.common.enums.DataScopeEnum;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;

/**
Expand Down Expand Up @@ -69,10 +68,10 @@ public class RoleVO extends BaseVO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
@Schema(description = "类型(1:系统内置,2:自定义)", type = "Integer", allowableValues = {"1", "2"}, example = "2")
private DataTypeEnum type;
@Schema(description = "是否为系统内置数据", example = "false")
private Boolean isSystem;

/**
* 描述
Expand All @@ -82,6 +81,6 @@ public class RoleVO extends BaseVO {

@Override
public Boolean getDisabled() {
return DataTypeEnum.SYSTEM.equals(type);
return this.getIsSystem();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

import top.charles7c.cnadmin.common.base.BaseDetailVO;
import top.charles7c.cnadmin.common.config.easyexcel.ExcelBaseEnumConverter;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.enums.GenderEnum;
import top.charles7c.cnadmin.common.util.helper.LoginHelper;
Expand Down Expand Up @@ -98,11 +97,11 @@ public class UserDetailVO extends BaseDetailVO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
@Schema(description = "类型(1:系统内置,2:自定义)", type = "Integer", allowableValues = {"1", "2"}, example = "2")
@ExcelProperty(value = "类型", converter = ExcelBaseEnumConverter.class)
private DataTypeEnum type;
@Schema(description = "系统内置", example = "false")
@ExcelProperty(value = "系统内置")
private Boolean isSystem;

/**
* 描述
Expand Down Expand Up @@ -145,6 +144,6 @@ public class UserDetailVO extends BaseDetailVO {

@Override
public Boolean getDisabled() {
return DataTypeEnum.SYSTEM.equals(type) || Objects.equals(this.getId(), LoginHelper.getUserId());
return this.getIsSystem() || Objects.equals(this.getId(), LoginHelper.getUserId());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import cn.hutool.core.util.DesensitizedUtil;

import top.charles7c.cnadmin.common.base.BaseVO;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.enums.GenderEnum;
import top.charles7c.cnadmin.common.util.helper.LoginHelper;
Expand Down Expand Up @@ -86,10 +85,10 @@ public class UserVO extends BaseVO {
private DisEnableStatusEnum status;

/**
* 类型(1:系统内置,2:自定义)
* 是否为系统内置数据
*/
@Schema(description = "类型(1:系统内置,2:自定义)", type = "Integer", allowableValues = {"1", "2"}, example = "2")
private DataTypeEnum type;
@Schema(description = "是否为系统内置数据", example = "false")
private Boolean isSystem;

/**
* 描述
Expand All @@ -99,7 +98,7 @@ public class UserVO extends BaseVO {

@Override
public Boolean getDisabled() {
return Objects.equals(this.getId(), LoginHelper.getUserId());
return this.getIsSystem() || Objects.equals(this.getId(), LoginHelper.getUserId());
}

public String getPhone() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@

import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.constant.SysConsts;
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.util.ExceptionUtils;
import top.charles7c.cnadmin.common.util.validate.CheckUtils;
Expand Down Expand Up @@ -83,7 +82,7 @@ public void update(DeptRequest request, Long id) {
String oldName = oldDept.getName();
DisEnableStatusEnum newStatus = request.getStatus();
Long oldParentId = oldDept.getParentId();
if (DataTypeEnum.SYSTEM.equals(oldDept.getType())) {
if (oldDept.getIsSystem()) {
CheckUtils.throwIfEqual(DisEnableStatusEnum.DISABLE, newStatus, "[{}] 是系统内置部门,不允许禁用", oldName);
CheckUtils.throwIfNotEqual(request.getParentId(), oldParentId, "[{}] 是系统内置部门,不允许变更上级部门", oldName);
}
Expand Down Expand Up @@ -113,8 +112,8 @@ public void update(DeptRequest request, Long id) {
@Transactional(rollbackFor = Exception.class)
public void delete(List<Long> ids) {
List<DeptDO> list =
baseMapper.lambdaQuery().select(DeptDO::getName, DeptDO::getType).in(DeptDO::getId, ids).list();
Optional<DeptDO> isSystemData = list.stream().filter(d -> DataTypeEnum.SYSTEM.equals(d.getType())).findFirst();
baseMapper.lambdaQuery().select(DeptDO::getName, DeptDO::getIsSystem).in(DeptDO::getId, ids).list();
Optional<DeptDO> isSystemData = list.stream().filter(DeptDO::getIsSystem).findFirst();
CheckUtils.throwIf(isSystemData::isPresent, "所选部门 [{}] 是系统内置部门,不允许删除",
isSystemData.orElseGet(DeptDO::new).getName());
CheckUtils.throwIf(this.countChildren(ids) > 0, "所选部门存在下级部门,不允许删除");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

import javax.servlet.http.HttpServletResponse;

Expand Down Expand Up @@ -68,12 +69,22 @@ public void update(DictRequest request, Long id) {
CheckUtils.throwIf(this.checkNameExists(name, id), "修改失败,[{}] 已存在", name);
String code = request.getCode();
CheckUtils.throwIf(this.checkCodeExists(code, id), "修改失败,[{}] 已存在", code);
DictDO oldDict = super.getById(id);
if (oldDict.getIsSystem()) {
CheckUtils.throwIfNotEqual(request.getCode(), oldDict.getCode(), "[{}] 是系统内置字典,不允许修改字典编码",
oldDict.getName());
}
super.update(request, id);
}

@Override
@Transactional(rollbackFor = Exception.class)
public void delete(List<Long> ids) {
List<DictDO> list =
baseMapper.lambdaQuery().select(DictDO::getName, DictDO::getIsSystem).in(DictDO::getId, ids).list();
Optional<DictDO> isSystemData = list.stream().filter(DictDO::getIsSystem).findFirst();
CheckUtils.throwIf(isSystemData::isPresent, "所选字典 [{}] 是系统内置字典,不允许删除",
isSystemData.orElseGet(DictDO::new).getName());
dictItemService.deleteByDictIds(ids);
super.delete(ids);
}
Expand Down
Loading

0 comments on commit 8a02401

Please sign in to comment.