diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java index f1e54ac9..7b323a6d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java @@ -1,10 +1,13 @@ package cn.iocoder.yudao.module.system.controller.admin.user.vo.profile; +import cn.iocoder.yudao.framework.common.validation.IdCard; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Email; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @@ -28,4 +31,9 @@ public class UserProfileUpdateReqVO { @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") private Integer sex; + @Schema(description = "身份证号,", example = "362301198400000000") + @IdCard(message = "身份证号格式不正确") + @NotEmpty(message = "身份证号不能为空") + private String idcard; + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index 40c37edc..7318338d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -172,8 +172,18 @@ public class AdminUserServiceImpl implements AdminUserService { validateUserExists(id); validateEmailUnique(id, reqVO.getEmail()); validateMobileUnique(id, reqVO.getMobile()); + + //解析身份证号码 + IdCardDO idCardDO = StrUtils.IdCardAnalysis(reqVO.getIdcard()); + + //设置 性别、年龄、出生日期 + AdminUserDO adminUserDO = BeanUtils.toBean(reqVO, AdminUserDO.class).setId(id) ; + adminUserDO.setSex(idCardDO.getSex()); + adminUserDO.setAge(idCardDO.getAge()); + adminUserDO.setBirthdayDay(idCardDO.getDate()); + // 执行更新 - userMapper.updateById(BeanUtils.toBean(reqVO, AdminUserDO.class).setId(id)); + userMapper.updateById(adminUserDO); } @Override