refactor: 💥 优化系统内置类型数据标识
1.系统内置类型数据标识由 type 调整为 is_system 2.优化部分表的非空字段
This commit is contained in:
parent
2755bc8479
commit
8a02401a24
@ -1,44 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package top.charles7c.cnadmin.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import top.charles7c.cnadmin.common.base.BaseEnum;
|
||||
import top.charles7c.cnadmin.common.constant.UIConsts;
|
||||
|
||||
/**
|
||||
* 数据类型枚举
|
||||
*
|
||||
* @author Charles7c
|
||||
* @since 2023/3/19 12:17
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum DataTypeEnum implements BaseEnum<Integer> {
|
||||
|
||||
/** 系统内置 */
|
||||
SYSTEM(1, "系统内置", UIConsts.COLOR_ERROR),
|
||||
|
||||
/** 自定义 */
|
||||
CUSTOM(2, "自定义", UIConsts.COLOR_PRIMARY),;
|
||||
|
||||
private final Integer value;
|
||||
private final String description;
|
||||
private final String color;
|
||||
}
|
@ -21,7 +21,6 @@ import lombok.Data;
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -67,7 +66,7 @@ public class DeptDO extends BaseDO {
|
||||
private DisEnableStatusEnum status;
|
||||
|
||||
/**
|
||||
* 类型(1:系统内置,2:自定义)
|
||||
* 是否为系统内置数据
|
||||
*/
|
||||
private DataTypeEnum type;
|
||||
private Boolean isSystem;
|
||||
}
|
||||
|
@ -48,4 +48,9 @@ public class DictDO extends BaseDO {
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 是否为系统内置数据
|
||||
*/
|
||||
private Boolean isSystem;
|
||||
}
|
@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -68,7 +67,7 @@ public class RoleDO extends BaseDO {
|
||||
private DisEnableStatusEnum status;
|
||||
|
||||
/**
|
||||
* 类型(1:系统内置,2:自定义)
|
||||
* 是否为系统内置数据
|
||||
*/
|
||||
private DataTypeEnum type;
|
||||
private Boolean isSystem;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import lombok.Data;
|
||||
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;
|
||||
|
||||
@ -85,9 +84,9 @@ public class UserDO extends BaseDO {
|
||||
private DisEnableStatusEnum status;
|
||||
|
||||
/**
|
||||
* 类型(1:系统内置,2:自定义)
|
||||
* 是否为系统内置数据
|
||||
*/
|
||||
private DataTypeEnum type;
|
||||
private Boolean isSystem;
|
||||
|
||||
/**
|
||||
* 最后一次修改密码时间
|
||||
|
@ -26,7 +26,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@ -92,6 +91,6 @@ public class DeptDetailVO extends BaseDetailVO {
|
||||
|
||||
@Override
|
||||
public Boolean getDisabled() {
|
||||
return DataTypeEnum.SYSTEM.equals(type);
|
||||
return this.getIsSystem();
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@ -76,6 +75,6 @@ public class DeptVO extends BaseVO {
|
||||
|
||||
@Override
|
||||
public Boolean getDisabled() {
|
||||
return DataTypeEnum.SYSTEM.equals(type);
|
||||
return this.getIsSystem();
|
||||
}
|
||||
}
|
||||
|
@ -51,4 +51,10 @@ public class DictDetailVO extends BaseDetailVO {
|
||||
*/
|
||||
@Schema(description = "描述", example = "公告类型描述信息")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 是否为系统内置数据
|
||||
*/
|
||||
@Schema(description = "是否为系统内置数据", example = "true")
|
||||
private Boolean isSystem;
|
||||
}
|
@ -51,4 +51,10 @@ public class DictVO extends BaseVO {
|
||||
*/
|
||||
@Schema(description = "描述", example = "公告类型描述信息")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 是否为系统内置数据
|
||||
*/
|
||||
@Schema(description = "是否为系统内置数据", example = "true")
|
||||
private Boolean isSystem;
|
||||
}
|
@ -28,7 +28,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@ -108,6 +107,6 @@ public class RoleDetailVO extends BaseDetailVO {
|
||||
|
||||
@Override
|
||||
public Boolean getDisabled() {
|
||||
return DataTypeEnum.SYSTEM.equals(type);
|
||||
return this.getIsSystem();
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@ -82,6 +81,6 @@ public class RoleVO extends BaseVO {
|
||||
|
||||
@Override
|
||||
public Boolean getDisabled() {
|
||||
return DataTypeEnum.SYSTEM.equals(type);
|
||||
return this.getIsSystem();
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
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;
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
@ -25,7 +25,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
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;
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
@ -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() {
|
||||
|
@ -33,7 +33,6 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
|
||||
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;
|
||||
@ -83,7 +82,7 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO,
|
||||
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);
|
||||
}
|
||||
@ -113,8 +112,8 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO,
|
||||
@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, "所选部门存在下级部门,不允许删除");
|
||||
|
@ -18,6 +18,7 @@ package top.charles7c.cnadmin.system.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@ -68,12 +69,22 @@ public class DictServiceImpl extends BaseServiceImpl<DictMapper, DictDO, DictVO,
|
||||
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);
|
||||
}
|
||||
|
@ -34,7 +34,6 @@ import top.charles7c.cnadmin.common.base.BaseServiceImpl;
|
||||
import top.charles7c.cnadmin.common.constant.CacheConsts;
|
||||
import top.charles7c.cnadmin.common.constant.SysConsts;
|
||||
import top.charles7c.cnadmin.common.enums.DataScopeEnum;
|
||||
import top.charles7c.cnadmin.common.enums.DataTypeEnum;
|
||||
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.cnadmin.common.model.dto.RoleDTO;
|
||||
import top.charles7c.cnadmin.common.model.vo.LabelValueVO;
|
||||
@ -93,7 +92,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO,
|
||||
RoleDO oldRole = super.getById(id);
|
||||
DataScopeEnum oldDataScope = oldRole.getDataScope();
|
||||
String oldCode = oldRole.getCode();
|
||||
if (DataTypeEnum.SYSTEM.equals(oldRole.getType())) {
|
||||
if (oldRole.getIsSystem()) {
|
||||
CheckUtils.throwIfEqual(DisEnableStatusEnum.DISABLE, request.getStatus(), "[{}] 是系统内置角色,不允许禁用",
|
||||
oldRole.getName());
|
||||
CheckUtils.throwIfNotEqual(request.getCode(), oldCode, "[{}] 是系统内置角色,不允许修改角色编码", oldRole.getName());
|
||||
@ -121,8 +120,8 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO,
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void delete(List<Long> ids) {
|
||||
List<RoleDO> list =
|
||||
baseMapper.lambdaQuery().select(RoleDO::getName, RoleDO::getType).in(RoleDO::getId, ids).list();
|
||||
Optional<RoleDO> isSystemData = list.stream().filter(r -> DataTypeEnum.SYSTEM.equals(r.getType())).findFirst();
|
||||
baseMapper.lambdaQuery().select(RoleDO::getName, RoleDO::getIsSystem).in(RoleDO::getId, ids).list();
|
||||
Optional<RoleDO> isSystemData = list.stream().filter(RoleDO::getIsSystem).findFirst();
|
||||
CheckUtils.throwIf(isSystemData::isPresent, "所选角色 [{}] 是系统内置角色,不允许删除",
|
||||
isSystemData.orElseGet(RoleDO::new).getName());
|
||||
CheckUtils.throwIf(userRoleService.countByRoleIds(ids) > 0, "所选角色存在用户关联,请解除关联后重试");
|
||||
|
@ -44,7 +44,6 @@ import top.charles7c.cnadmin.common.constant.CacheConsts;
|
||||
import top.charles7c.cnadmin.common.constant.FileConsts;
|
||||
import top.charles7c.cnadmin.common.constant.StringConsts;
|
||||
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.service.CommonUserService;
|
||||
import top.charles7c.cnadmin.common.util.ExceptionUtils;
|
||||
@ -117,7 +116,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
|
||||
DisEnableStatusEnum.DISABLE.equals(newStatus) && ObjectUtil.equal(id, LoginHelper.getUserId()),
|
||||
"不允许禁用当前用户");
|
||||
UserDO oldUser = super.getById(id);
|
||||
if (DataTypeEnum.SYSTEM.equals(oldUser.getType())) {
|
||||
if (oldUser.getIsSystem()) {
|
||||
CheckUtils.throwIfEqual(DisEnableStatusEnum.DISABLE, newStatus, "[{}] 是系统内置用户,不允许禁用",
|
||||
oldUser.getNickname());
|
||||
Collection<Long> disjunctionRoleIds =
|
||||
@ -135,8 +134,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
|
||||
public void delete(List<Long> ids) {
|
||||
CheckUtils.throwIf(CollUtil.contains(ids, LoginHelper.getUserId()), "不允许删除当前用户");
|
||||
List<UserDO> list =
|
||||
baseMapper.lambdaQuery().select(UserDO::getNickname, UserDO::getType).in(UserDO::getId, ids).list();
|
||||
Optional<UserDO> isSystemData = list.stream().filter(u -> DataTypeEnum.SYSTEM.equals(u.getType())).findFirst();
|
||||
baseMapper.lambdaQuery().select(UserDO::getNickname, UserDO::getIsSystem).in(UserDO::getId, ids).list();
|
||||
Optional<UserDO> isSystemData = list.stream().filter(UserDO::getIsSystem).findFirst();
|
||||
CheckUtils.throwIf(isSystemData::isPresent, "所选用户 [{}] 是系统内置用户,不允许删除",
|
||||
isSystemData.orElseGet(UserDO::new).getNickname());
|
||||
// 删除用户和角色关联
|
||||
|
@ -10,7 +10,7 @@ export interface DataRecord {
|
||||
description?: string;
|
||||
sort: number;
|
||||
status?: number;
|
||||
type?: number;
|
||||
isSystem?: boolean;
|
||||
createUserString?: string;
|
||||
createTime?: string;
|
||||
updateUserString?: string;
|
||||
|
@ -8,6 +8,7 @@ export interface DataRecord {
|
||||
name: string;
|
||||
code: string;
|
||||
description?: string;
|
||||
isSystem: boolean;
|
||||
createUser?: string;
|
||||
createTime?: string;
|
||||
updateUser?: string;
|
||||
|
@ -13,7 +13,7 @@ export interface DataRecord {
|
||||
dataScope: number;
|
||||
deptIds?: Array<number>;
|
||||
status?: number;
|
||||
type?: number;
|
||||
isSystem?: boolean;
|
||||
createUserString?: string;
|
||||
createTime?: string;
|
||||
updateUserString?: string;
|
||||
|
@ -12,7 +12,7 @@ export interface DataRecord {
|
||||
phone?: string;
|
||||
description?: string;
|
||||
status?: number;
|
||||
type?: number;
|
||||
isSystem?: boolean;
|
||||
pwdResetTime?: string;
|
||||
createUserString?: string;
|
||||
createTime?: string;
|
||||
|
@ -131,10 +131,10 @@
|
||||
/>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column title="类型" align="center">
|
||||
<a-table-column title="系统内置" align="center">
|
||||
<template #cell="{ record }">
|
||||
<a-tag v-if="record.type === 1" color="red">系统内置</a-tag>
|
||||
<a-tag v-else color="arcoblue">自定义</a-tag>
|
||||
<a-tag v-if="record.isSystem" color="red">是</a-tag>
|
||||
<a-tag v-else color="arcoblue">否</a-tag>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column title="描述" data-index="description" />
|
||||
@ -163,7 +163,7 @@
|
||||
v-permission="['system:dept:delete']"
|
||||
type="text"
|
||||
size="small"
|
||||
title="删除"
|
||||
:title="record.isSystem ? '系统内置数据不能删除' : '删除'"
|
||||
:disabled="record.disabled"
|
||||
>
|
||||
<template #icon><icon-delete /></template>删除
|
||||
|
@ -156,8 +156,8 @@
|
||||
v-permission="['system:dict:delete']"
|
||||
type="text"
|
||||
size="small"
|
||||
title="删除"
|
||||
:disabled="record.disabled"
|
||||
:title="record.isSystem ? '系统内置数据不能删除' : '删除'"
|
||||
:disabled="record.isSystem"
|
||||
>
|
||||
<template #icon><icon-delete /></template>删除
|
||||
</a-button>
|
||||
@ -188,7 +188,7 @@
|
||||
<a-input v-model="form.name" placeholder="请输入字典名称" />
|
||||
</a-form-item>
|
||||
<a-form-item label="字典编码" field="code">
|
||||
<a-input v-model="form.code" placeholder="请输入字典编码" />
|
||||
<a-input v-model="form.code" placeholder="请输入字典编码" :disabled="form.isSystem" />
|
||||
</a-form-item>
|
||||
<a-form-item label="描述" field="description">
|
||||
<a-textarea
|
||||
@ -317,6 +317,7 @@
|
||||
name: '',
|
||||
code: '',
|
||||
description: '',
|
||||
isSystem: false,
|
||||
};
|
||||
proxy.$refs.formRef?.resetFields();
|
||||
};
|
||||
|
@ -142,10 +142,10 @@
|
||||
/>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column title="类型" align="center">
|
||||
<a-table-column title="系统内置" align="center">
|
||||
<template #cell="{ record }">
|
||||
<a-tag v-if="record.type === 1" color="red">系统内置</a-tag>
|
||||
<a-tag v-else color="arcoblue">自定义</a-tag>
|
||||
<a-tag v-if="record.isSystem" color="red">是</a-tag>
|
||||
<a-tag v-else color="arcoblue">否</a-tag>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column title="描述" data-index="description" tooltip />
|
||||
@ -174,7 +174,7 @@
|
||||
v-permission="['system:role:delete']"
|
||||
type="text"
|
||||
size="small"
|
||||
title="删除"
|
||||
:title="record.isSystem ? '系统内置数据不能删除' : '删除'"
|
||||
:disabled="record.disabled"
|
||||
>
|
||||
<template #icon><icon-delete /></template>删除
|
||||
|
@ -192,10 +192,10 @@
|
||||
/>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column title="类型" align="center">
|
||||
<a-table-column title="系统内置" align="center" :width="90">
|
||||
<template #cell="{ record }">
|
||||
<a-tag v-if="record.type === 1" color="red">系统内置</a-tag>
|
||||
<a-tag v-else color="arcoblue">自定义</a-tag>
|
||||
<a-tag v-if="record.isSystem" color="red">是</a-tag>
|
||||
<a-tag v-else color="arcoblue">否</a-tag>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column title="创建人/创建时间" :width="175">
|
||||
@ -237,7 +237,7 @@
|
||||
v-permission="['system:user:delete']"
|
||||
type="text"
|
||||
size="small"
|
||||
title="删除"
|
||||
:title="record.isSystem ? '系统内置数据不能删除' : '删除'"
|
||||
:disabled="record.disabled"
|
||||
>
|
||||
<template #icon><icon-delete /></template>
|
||||
|
@ -39,30 +39,30 @@ VALUES
|
||||
|
||||
-- 初始化默认部门
|
||||
INSERT IGNORE INTO `sys_dept`
|
||||
(`id`, `name`, `parent_id`, `ancestors`, `description`, `sort`, `status`, `type`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
(`id`, `name`, `parent_id`, `ancestors`, `description`, `sort`, `status`, `is_system`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
VALUES
|
||||
(1, 'Xxx科技有限公司', 0, '0', '系统初始部门', 1, 1, 1, 1, NOW(), NULL, NULL),
|
||||
(2, '天津总部', 1, '0,1', NULL, 1, 1, 2, 1, NOW(), NULL, NULL),
|
||||
(3, '研发部', 2, '0,1,2', NULL, 1, 1, 2, 1, NOW(), NULL, NULL),
|
||||
(4, 'UI部', 2, '0,1,2', NULL, 2, 1, 2, 1, NOW(), NULL, NULL),
|
||||
(5, '测试部', 2, '0,1,2', NULL, 3, 1, 2, 1, NOW(), NULL, NULL),
|
||||
(6, '运维部', 2, '0,1,2', NULL, 4, 1, 2, 1, NOW(), NULL, NULL),
|
||||
(7, '研发一组', 3, '0,1,2,3', NULL, 1, 1, 2, 1, NOW(), NULL, NULL),
|
||||
(8, '研发二组', 3, '0,1,2,3', NULL, 2, 2, 2, 1, NOW(), NULL, NULL);
|
||||
(1, 'Xxx科技有限公司', 0, '0', '系统初始部门', 1, 1, b'1', 1, NOW(), NULL, NULL),
|
||||
(2, '天津总部', 1, '0,1', NULL, 1, 1, b'0', 1, NOW(), NULL, NULL),
|
||||
(3, '研发部', 2, '0,1,2', NULL, 1, 1, b'0', 1, NOW(), NULL, NULL),
|
||||
(4, 'UI部', 2, '0,1,2', NULL, 2, 1, b'0', 1, NOW(), NULL, NULL),
|
||||
(5, '测试部', 2, '0,1,2', NULL, 3, 1, b'0', 1, NOW(), NULL, NULL),
|
||||
(6, '运维部', 2, '0,1,2', NULL, 4, 1, b'0', 1, NOW(), NULL, NULL),
|
||||
(7, '研发一组', 3, '0,1,2,3', NULL, 1, 1, b'0', 1, NOW(), NULL, NULL),
|
||||
(8, '研发二组', 3, '0,1,2,3', NULL, 2, 2, b'0', 1, NOW(), NULL, NULL);
|
||||
|
||||
-- 初始化默认角色
|
||||
INSERT IGNORE INTO `sys_role`
|
||||
(`id`, `name`, `code`, `data_scope`, `description`, `sort`, `status`, `type`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
(`id`, `name`, `code`, `data_scope`, `description`, `sort`, `status`, `is_system`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
VALUES
|
||||
(1, '超级管理员', 'admin', 1, '系统初始角色', 1, 1, 1, 1, NOW(), NULL, NULL),
|
||||
(2, '测试人员', 'test', 5, NULL, 2, 1, 2, 1, NOW(), NULL, NULL);
|
||||
(1, '超级管理员', 'admin', 1, '系统初始角色', 1, 1, b'1', 1, NOW(), NULL, NULL),
|
||||
(2, '测试人员', 'test', 5, NULL, 2, 1, b'0', 1, NOW(), NULL, NULL);
|
||||
|
||||
-- 初始化默认用户:admin/admin123;test/123456
|
||||
INSERT IGNORE INTO `sys_user`
|
||||
(`id`, `username`, `nickname`, `password`, `gender`, `email`, `phone`, `avatar`, `description`, `status`, `type`, `pwd_reset_time`, `dept_id`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
(`id`, `username`, `nickname`, `password`, `gender`, `email`, `phone`, `avatar`, `description`, `status`, `is_system`, `pwd_reset_time`, `dept_id`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
VALUES
|
||||
(1, 'admin', '超级管理员', '9802815bcc5baae7feb1ae0d0566baf2', 1, 'charles7c@126.com', '18888888888', NULL, '系统初始用户', 1, 1, NOW(), 1, 1, NOW(), NULL, NULL),
|
||||
(2, 'test', '测试员', '8e114197e1b33783a00542ad67e80516', 2, NULL, NULL, NULL, NULL, 2, 2, NOW(), 5, 1, NOW(), NULL, NULL);
|
||||
(1, 'admin', '超级管理员', '9802815bcc5baae7feb1ae0d0566baf2', 1, 'charles7c@126.com', '18888888888', NULL, '系统初始用户', 1, b'1', NULL, 1, 1, NOW(), NULL, NULL),
|
||||
(2, 'test', '测试员', '8e114197e1b33783a00542ad67e80516', 2, NULL, NULL, NULL, NULL, 2, b'0', NULL, 5, 1, NOW(), NULL, NULL);
|
||||
|
||||
-- 初始化默认角色和菜单关联数据
|
||||
INSERT IGNORE INTO `sys_role_menu`
|
||||
|
@ -4,18 +4,18 @@
|
||||
CREATE TABLE IF NOT EXISTS `sys_menu` (
|
||||
`id` bigint(20) UNSIGNED AUTO_INCREMENT COMMENT 'ID',
|
||||
`title` varchar(50) NOT NULL COMMENT '菜单标题',
|
||||
`parent_id` bigint(20) UNSIGNED DEFAULT 0 COMMENT '上级菜单ID',
|
||||
`type` tinyint(1) UNSIGNED DEFAULT 1 COMMENT '菜单类型(1:目录,2:菜单,3:按钮)',
|
||||
`parent_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级菜单ID',
|
||||
`type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '菜单类型(1:目录,2:菜单,3:按钮)',
|
||||
`path` varchar(512) DEFAULT NULL COMMENT '路由地址',
|
||||
`name` varchar(50) DEFAULT NULL COMMENT '组件名称',
|
||||
`component` varchar(255) DEFAULT NULL COMMENT '组件路径',
|
||||
`icon` varchar(255) DEFAULT NULL COMMENT '菜单图标',
|
||||
`is_external` bit(1) DEFAULT b'0' COMMENT '是否外链',
|
||||
`is_cache` bit(1) DEFAULT b'0' COMMENT '是否缓存',
|
||||
`is_hidden` bit(1) DEFAULT b'0' COMMENT '是否隐藏',
|
||||
`is_external` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否外链',
|
||||
`is_cache` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否缓存',
|
||||
`is_hidden` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否隐藏',
|
||||
`permission` varchar(255) DEFAULT NULL COMMENT '权限标识',
|
||||
`sort` int(11) UNSIGNED DEFAULT 999 COMMENT '菜单排序',
|
||||
`status` tinyint(1) UNSIGNED DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`sort` int UNSIGNED NOT NULL DEFAULT 999 COMMENT '菜单排序',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) UNSIGNED DEFAULT NULL COMMENT '修改人',
|
||||
@ -30,12 +30,12 @@ CREATE TABLE IF NOT EXISTS `sys_menu` (
|
||||
CREATE TABLE IF NOT EXISTS `sys_dept` (
|
||||
`id` bigint(20) UNSIGNED AUTO_INCREMENT COMMENT 'ID',
|
||||
`name` varchar(50) NOT NULL COMMENT '部门名称',
|
||||
`parent_id` bigint(20) UNSIGNED DEFAULT 0 COMMENT '上级部门ID',
|
||||
`parent_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级部门ID',
|
||||
`ancestors` varchar(512) DEFAULT '' COMMENT '祖级列表',
|
||||
`description` varchar(512) DEFAULT NULL COMMENT '描述',
|
||||
`sort` int(11) UNSIGNED DEFAULT 999 COMMENT '部门排序',
|
||||
`status` tinyint(1) UNSIGNED DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`type` tinyint(1) UNSIGNED DEFAULT 2 COMMENT '类型(1:系统内置,2:自定义)',
|
||||
`sort` int UNSIGNED NOT NULL DEFAULT 999 COMMENT '部门排序',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) UNSIGNED DEFAULT NULL COMMENT '修改人',
|
||||
@ -51,11 +51,11 @@ CREATE TABLE IF NOT EXISTS `sys_role` (
|
||||
`id` bigint(20) UNSIGNED AUTO_INCREMENT COMMENT 'ID',
|
||||
`name` varchar(50) NOT NULL COMMENT '角色名称',
|
||||
`code` varchar(50) NOT NULL COMMENT '角色编码',
|
||||
`data_scope` tinyint(1) DEFAULT 4 COMMENT '数据权限(1:全部数据权限,2:本部门及以下数据权限,3:本部门数据权限,4:仅本人数据权限,5:自定义数据权限)',
|
||||
`data_scope` tinyint(1) NOT NULL DEFAULT 4 COMMENT '数据权限(1:全部数据权限,2:本部门及以下数据权限,3:本部门数据权限,4:仅本人数据权限,5:自定义数据权限)',
|
||||
`description` varchar(512) DEFAULT NULL COMMENT '描述',
|
||||
`sort` int(11) UNSIGNED DEFAULT 999 COMMENT '角色排序',
|
||||
`status` tinyint(1) UNSIGNED DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`type` tinyint(1) UNSIGNED DEFAULT 2 COMMENT '类型(1:系统内置,2:自定义)',
|
||||
`sort` int UNSIGNED NOT NULL DEFAULT 999 COMMENT '角色排序',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) UNSIGNED DEFAULT NULL COMMENT '修改人',
|
||||
@ -84,13 +84,13 @@ CREATE TABLE IF NOT EXISTS `sys_user` (
|
||||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||||
`nickname` varchar(50) DEFAULT NULL COMMENT '昵称',
|
||||
`password` varchar(255) DEFAULT NULL COMMENT '密码',
|
||||
`gender` tinyint(1) UNSIGNED DEFAULT 0 COMMENT '性别(0:未知,1:男,2:女)',
|
||||
`gender` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '性别(0:未知,1:男,2:女)',
|
||||
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
|
||||
`phone` varchar(50) DEFAULT NULL COMMENT '手机号码',
|
||||
`avatar` varchar(255) DEFAULT NULL COMMENT '头像地址',
|
||||
`description` varchar(512) DEFAULT NULL COMMENT '描述',
|
||||
`status` tinyint(1) UNSIGNED DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`type` tinyint(1) UNSIGNED DEFAULT 2 COMMENT '类型(1:系统内置,2:自定义)',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用,2:禁用)',
|
||||
`is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
|
||||
`pwd_reset_time` datetime DEFAULT NULL COMMENT '最后一次修改密码时间',
|
||||
`dept_id` bigint(20) UNSIGNED NOT NULL COMMENT '部门ID',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
@ -120,11 +120,11 @@ CREATE TABLE IF NOT EXISTS `sys_log` (
|
||||
`request_method` varchar(10) NOT NULL COMMENT '请求方式',
|
||||
`request_headers` text DEFAULT NULL COMMENT '请求头',
|
||||
`request_body` text DEFAULT NULL COMMENT '请求体',
|
||||
`status_code` int(11) UNSIGNED NOT NULL COMMENT '状态码',
|
||||
`status_code` int UNSIGNED NOT NULL COMMENT '状态码',
|
||||
`response_headers` text DEFAULT NULL COMMENT '响应头',
|
||||
`response_body` mediumtext DEFAULT NULL COMMENT '响应体',
|
||||
`elapsed_time` bigint(20) UNSIGNED NOT NULL COMMENT '请求耗时(ms)',
|
||||
`status` tinyint(1) UNSIGNED DEFAULT 1 COMMENT '操作状态(1:成功,2:失败)',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '操作状态(1:成功,2:失败)',
|
||||
`client_ip` varchar(100) DEFAULT NULL COMMENT '客户端IP',
|
||||
`location` varchar(255) DEFAULT NULL COMMENT 'IP归属地',
|
||||
`browser` varchar(100) DEFAULT NULL COMMENT '浏览器',
|
||||
|
@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS `gen_config` (
|
||||
`business_name` varchar(50) NOT NULL COMMENT '业务名称',
|
||||
`author` varchar(100) NOT NULL COMMENT '作者',
|
||||
`table_prefix` varchar(20) DEFAULT NULL COMMENT '表前缀',
|
||||
`is_override` bit(1) DEFAULT b'0' COMMENT '是否覆盖',
|
||||
`is_override` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否覆盖',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
PRIMARY KEY (`table_name`) USING BTREE
|
||||
@ -22,10 +22,10 @@ CREATE TABLE IF NOT EXISTS `gen_field_config` (
|
||||
`field_name` varchar(64) NOT NULL COMMENT '字段名称',
|
||||
`field_type` varchar(25) NOT NULL COMMENT '字段类型',
|
||||
`comment` varchar(512) DEFAULT NULL COMMENT '注释',
|
||||
`is_required` bit(1) DEFAULT b'1' COMMENT '是否必填',
|
||||
`show_in_list` bit(1) DEFAULT b'1' COMMENT '是否在列表中显示',
|
||||
`show_in_form` bit(1) DEFAULT b'1' COMMENT '是否在表单中显示',
|
||||
`show_in_query` bit(1) DEFAULT b'1' COMMENT '是否在查询中显示',
|
||||
`is_required` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否必填',
|
||||
`show_in_list` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否在列表中显示',
|
||||
`show_in_form` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否在表单中显示',
|
||||
`show_in_query` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否在查询中显示',
|
||||
`form_type` tinyint(1) UNSIGNED DEFAULT NULL COMMENT '表单类型',
|
||||
`query_type` tinyint(1) UNSIGNED DEFAULT NULL COMMENT '查询方式',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS `sys_announcement` (
|
||||
`type` varchar(30) NOT NULL COMMENT '类型',
|
||||
`effective_time` datetime DEFAULT NULL COMMENT '生效时间',
|
||||
`terminate_time` datetime DEFAULT NULL COMMENT '终止时间',
|
||||
`sort` int(11) UNSIGNED DEFAULT 999 COMMENT '排序',
|
||||
`sort` int UNSIGNED NOT NULL DEFAULT 999 COMMENT '排序',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) UNSIGNED DEFAULT NULL COMMENT '修改人',
|
||||
|
@ -13,9 +13,9 @@ VALUES
|
||||
|
||||
-- 初始化默认字典
|
||||
INSERT IGNORE INTO `sys_dict`
|
||||
(`id`, `name`, `code`, `description`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
(`id`, `name`, `code`, `description`, `is_system`, `create_user`, `create_time`, `update_user`, `update_time`)
|
||||
VALUES
|
||||
(1, '公告类型', 'announcement_type', NULL, 1, NOW(), NULL, NULL);
|
||||
(1, '公告类型', 'announcement_type', NULL, b'1', 1, NOW(), NULL, NULL);
|
||||
|
||||
-- 初始化默认字典项
|
||||
INSERT IGNORE INTO `sys_dict_item`
|
||||
|
@ -6,6 +6,7 @@ CREATE TABLE IF NOT EXISTS `sys_dict` (
|
||||
`name` varchar(50) NOT NULL COMMENT '字典名称',
|
||||
`code` varchar(30) NOT NULL COMMENT '字典编码',
|
||||
`description` varchar(512) DEFAULT NULL COMMENT '描述',
|
||||
`is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) UNSIGNED DEFAULT NULL COMMENT '修改人',
|
||||
@ -20,7 +21,7 @@ CREATE TABLE IF NOT EXISTS `sys_dict_item` (
|
||||
`label` varchar(50) NOT NULL COMMENT '字典标签',
|
||||
`value` varchar(30) NOT NULL COMMENT '字典值',
|
||||
`color` varchar(30) DEFAULT NULL COMMENT '背景颜色',
|
||||
`sort` int(11) UNSIGNED DEFAULT 999 COMMENT '字典项排序',
|
||||
`sort` int UNSIGNED NOT NULL DEFAULT 999 COMMENT '字典项排序',
|
||||
`description` varchar(512) DEFAULT NULL COMMENT '描述',
|
||||
`dict_id` bigint(20) UNSIGNED NOT NULL COMMENT '字典ID',
|
||||
`create_user` bigint(20) UNSIGNED NOT NULL COMMENT '创建人',
|
||||
|
Loading…
Reference in New Issue
Block a user