fix(产品需求、项目需求): 按照会议所说进行修改。
This commit is contained in:
@@ -14,6 +14,9 @@ public class AdminUserRespDTO implements VO {
|
||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小王")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "所属公司", example = "灿能")
|
||||
private String company;
|
||||
|
||||
|
||||
@@ -43,6 +43,10 @@ public class DictDataRespVO {
|
||||
@Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default")
|
||||
private String colorType;
|
||||
|
||||
@Schema(description = "标识", example = "system")
|
||||
@ExcelProperty("标识")
|
||||
private String sign;
|
||||
|
||||
@Schema(description = "css 样式", example = "btn-visible")
|
||||
private String cssClass;
|
||||
|
||||
|
||||
@@ -42,6 +42,10 @@ public class DictDataSaveReqVO {
|
||||
@Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default")
|
||||
private String colorType;
|
||||
|
||||
@Schema(description = "标识", example = "system")
|
||||
@Size(max = 255, message = "标识长度不能超过255个字符")
|
||||
private String sign;
|
||||
|
||||
@Schema(description = "css 样式", example = "btn-visible")
|
||||
private String cssClass;
|
||||
|
||||
|
||||
@@ -22,6 +22,9 @@ public class DictDataSimpleRespVO {
|
||||
@Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default")
|
||||
private String colorType;
|
||||
|
||||
@Schema(description = "标识", example = "system")
|
||||
private String sign;
|
||||
|
||||
@Schema(description = "css 样式", example = "btn-visible")
|
||||
private String cssClass;
|
||||
|
||||
|
||||
@@ -184,9 +184,9 @@ public class UserController {
|
||||
public void importTemplate(HttpServletResponse response) throws IOException {
|
||||
// 手动创建导出 demo
|
||||
List<UserImportExcelVO> list = Arrays.asList(
|
||||
UserImportExcelVO.builder().username("yunai").deptId(1L).positionId(1L).email("yunai@iocoder.cn").mobile("15601691300")
|
||||
UserImportExcelVO.builder().username("yunai").deptId(1L).positionId(1L).sort(10).email("yunai@iocoder.cn").mobile("15601691300")
|
||||
.nickname("灿能").status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex()).build(),
|
||||
UserImportExcelVO.builder().username("yuanma").deptId(2L).positionId(2L).email("yuanma@iocoder.cn").mobile("15601701300")
|
||||
UserImportExcelVO.builder().username("yuanma").deptId(2L).positionId(2L).sort(20).email("yuanma@iocoder.cn").mobile("15601701300")
|
||||
.nickname("源码").status(CommonStatusEnum.DISABLE.getStatus()).sex(SexEnum.FEMALE.getSex()).build()
|
||||
);
|
||||
// 输出
|
||||
|
||||
@@ -33,6 +33,9 @@ public class UserImportExcelVO {
|
||||
@ExcelProperty("主岗位编号")
|
||||
private Long positionId;
|
||||
|
||||
@ExcelProperty("显示顺序")
|
||||
private Integer sort;
|
||||
|
||||
@ExcelProperty("用户邮箱")
|
||||
private String email;
|
||||
|
||||
|
||||
@@ -48,6 +48,10 @@ public class UserRespVO {
|
||||
@ExcelProperty("主岗位")
|
||||
private String positionName;
|
||||
|
||||
@Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@ExcelProperty("显示顺序")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "用户邮箱", example = "rdms@iocoder.cn")
|
||||
@ExcelProperty("用户邮箱")
|
||||
private String email;
|
||||
|
||||
@@ -58,6 +58,11 @@ public class UserSaveReqVO {
|
||||
@DiffLogField(name = "主岗位", function = PostParseFunction.NAME)
|
||||
private Long positionId;
|
||||
|
||||
@Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@NotNull(message = "显示顺序不能为空")
|
||||
@DiffLogField(name = "显示顺序")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "离职时间", example = "2026-03-19 00:00:00")
|
||||
@DiffLogField(name = "离职时间")
|
||||
private LocalDateTime resignedAt;
|
||||
|
||||
@@ -17,8 +17,12 @@ public class UserSimpleRespVO {
|
||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "灿能")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "部门ID", example = "我是一个用户")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description = "部门名称", example = "IT 部")
|
||||
private String deptName;
|
||||
|
||||
|
||||
@@ -23,4 +23,7 @@ public class AppDictDataRespVO {
|
||||
@Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex")
|
||||
private String dictType;
|
||||
|
||||
@Schema(description = "标识", example = "system")
|
||||
private String sign;
|
||||
|
||||
}
|
||||
|
||||
@@ -52,6 +52,11 @@ public class DictDataDO extends BaseDO {
|
||||
* 对应到 element-ui 为 default、primary、success、info、warning、danger
|
||||
*/
|
||||
private String colorType;
|
||||
/**
|
||||
* 标识
|
||||
*/
|
||||
@TableField(updateStrategy = FieldStrategy.ALWAYS)
|
||||
private String sign;
|
||||
/**
|
||||
* css 样式
|
||||
*/
|
||||
|
||||
@@ -52,6 +52,11 @@ public class AdminUserDO extends BaseDO {
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 显示排序
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -35,23 +35,36 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
.betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime())
|
||||
.inIfPresent(AdminUserDO::getDeptId, deptIds)
|
||||
.inIfPresent(AdminUserDO::getId, userIds)
|
||||
.orderByAsc(AdminUserDO::getSort)
|
||||
.orderByDesc(AdminUserDO::getId));
|
||||
}
|
||||
|
||||
default List<AdminUserDO> selectListByNickname(String nickname) {
|
||||
return selectList(new LambdaQueryWrapperX<AdminUserDO>().like(AdminUserDO::getNickname, nickname));
|
||||
return selectList(new LambdaQueryWrapperX<AdminUserDO>()
|
||||
.like(AdminUserDO::getNickname, nickname)
|
||||
.orderByAsc(AdminUserDO::getSort)
|
||||
.orderByDesc(AdminUserDO::getId));
|
||||
}
|
||||
|
||||
default List<AdminUserDO> selectListByStatus(Integer status) {
|
||||
return selectList(AdminUserDO::getStatus, status);
|
||||
return selectList(new LambdaQueryWrapperX<AdminUserDO>()
|
||||
.eq(AdminUserDO::getStatus, status)
|
||||
.orderByAsc(AdminUserDO::getSort)
|
||||
.orderByDesc(AdminUserDO::getId));
|
||||
}
|
||||
|
||||
default List<AdminUserDO> selectListByDeptIds(Collection<Long> deptIds) {
|
||||
return selectList(AdminUserDO::getDeptId, deptIds);
|
||||
return selectList(new LambdaQueryWrapperX<AdminUserDO>()
|
||||
.in(AdminUserDO::getDeptId, deptIds)
|
||||
.orderByAsc(AdminUserDO::getSort)
|
||||
.orderByDesc(AdminUserDO::getId));
|
||||
}
|
||||
|
||||
default List<AdminUserDO> selectListByPositionIds(Collection<Long> positionIds) {
|
||||
return selectList(AdminUserDO::getPositionId, positionIds);
|
||||
return selectList(new LambdaQueryWrapperX<AdminUserDO>()
|
||||
.in(AdminUserDO::getPositionId, positionIds)
|
||||
.orderByAsc(AdminUserDO::getSort)
|
||||
.orderByDesc(AdminUserDO::getId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
|
||||
static final String USER_INIT_PASSWORD_KEY = "system.user.init-password";
|
||||
static final String USER_REGISTER_ENABLED_KEY = "system.user.register-enabled";
|
||||
private static final Integer DEFAULT_REGISTER_USER_SORT = 999;
|
||||
|
||||
@Resource
|
||||
private AdminUserMapper userMapper;
|
||||
@@ -107,6 +108,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
// 2. 插入用户
|
||||
AdminUserDO user = BeanUtils.toBean(registerReqVO, AdminUserDO.class);
|
||||
user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
||||
user.setSort(DEFAULT_REGISTER_USER_SORT);
|
||||
user.setPassword(encodePassword(registerReqVO.getPassword())); // 加密密码
|
||||
userMapper.insert(user);
|
||||
return user.getId();
|
||||
|
||||
Reference in New Issue
Block a user