用户信息变更

This commit is contained in:
2025-11-26 12:03:34 +08:00
parent 8ff849d050
commit 8d8ecf8763
15 changed files with 203 additions and 88 deletions

View File

@@ -1,6 +1,6 @@
-- 修复字符编码问题
-- 删除现有数据库(如果存在)
-- DROP DATABASE IF EXISTS `school_news`;
DROP DATABASE IF EXISTS `school_news`;
-- 创建数据库使用utf8mb4字符集
CREATE DATABASE IF NOT EXISTS `school_news` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

View File

@@ -32,6 +32,7 @@ CREATE TABLE `tb_sys_user_info` (
`given_name` VARCHAR(50) DEFAULT NULL COMMENT '',
`full_name` VARCHAR(100) DEFAULT NULL COMMENT '全名',
`level` INT(4) DEFAULT 1 COMMENT '等级',
`student_id` VARCHAR(50) DEFAULT NULL COMMENT '学号',
`id_card` VARCHAR(50) DEFAULT NULL COMMENT '身份证号',
`address` VARCHAR(255) DEFAULT NULL COMMENT '地址',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

View File

@@ -11,7 +11,7 @@ import org.xyzh.common.dto.BaseDTO;
public class TbSysUser extends BaseDTO {
private static final long serialVersionUID = 1L;
/**
* @description 用户名
* @author yslg

View File

@@ -62,6 +62,13 @@ public class TbSysUserInfo extends BaseDTO {
*/
private Float level;
/**
* @description 学号
* @author yslg
* @since 2025-11-26
*/
private String studentId;
/**
* @description 身份证号
* @author yslg
@@ -132,6 +139,14 @@ public class TbSysUserInfo extends BaseDTO {
this.level = level;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public String getIdCard() {
return idCard;
}
@@ -160,6 +175,7 @@ public class TbSysUserInfo extends BaseDTO {
", givenName='" + givenName + '\'' +
", fullName='" + fullName + '\'' +
", level=" + level +
", studentId='" + studentId + '\'' +
", idCard='" + idCard + '\'' +
", address='" + address + '\'' +
", createTime=" + getCreateTime() +

View File

@@ -16,6 +16,7 @@ public class UserVO {
private String givenName;
private String fullName;
private Float level;
private String studentId;
private String idCard;
private String address;
private String deptID;
@@ -138,6 +139,12 @@ public class UserVO {
public void setLevel(Float level) {
this.level = level;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public Date getCreateTime() {
return createTime;
}

View File

@@ -611,12 +611,12 @@ public class SysUserServiceImpl implements SysUserService {
filter.setEmail(email);
filter.setDeleted(false);
if (StringUtils.hasText(excludeId)) {
filter.setID(excludeId);
}
// if (StringUtils.hasText(excludeId)) {
// filter.setID(excludeId);
// }
long count = userMapper.selectByFilter(filter, userDeptRoles).size();
boolean exists = count > 0;
List<TbSysUser> userList = userMapper.selectByFilter(filter, userDeptRoles);
boolean exists = userList.size() >1 && (userList.size() == 1 && !userList.get(0).getID().equals(excludeId));
logger.info("邮箱存在性检查完成:{},存在:{}", email, exists);
resultDomain.success("检查完成", exists);

View File

@@ -10,6 +10,7 @@
<result column="given_name" property="givenName" />
<result column="full_name" property="fullName" />
<result column="level" property="level" />
<result column="student_id" property="studentId" />
<result column="id_card" property="idCard" />
<result column="address" property="address" />
<result column="create_time" property="createTime" />
@@ -19,7 +20,7 @@
</resultMap>
<sql id="Base_Column_List">
id, user_id, avatar, gender, family_name, given_name, full_name, level, id_card, address, create_time, update_time, delete_time, deleted
id, user_id, avatar, gender, student_id, family_name, given_name, full_name, level, id_card, address, create_time, update_time, delete_time, deleted
</sql>
<!-- insertUserInfo -->
@@ -39,6 +40,7 @@
<if test="userInfo.givenName != null">given_name = #{userInfo.givenName},</if>
<if test="userInfo.fullName != null">full_name = #{userInfo.fullName},</if>
<if test="userInfo.level != null">level = #{userInfo.level},</if>
<if test="userInfo.studentId != null">student_id = #{userInfo.studentId},</if>
<if test="userInfo.idCard != null">id_card = #{userInfo.idCard},</if>
<if test="userInfo.address != null">address = #{userInfo.address},</if>
<if test="userInfo.updater != null">updater = #{userInfo.updater},</if>

View File

@@ -50,6 +50,7 @@
<result column="dept_name" property="deptName" jdbcType="VARCHAR"/>
<result column="role_name" property="roleName" jdbcType="VARCHAR"/>
<result column="level" property="level" jdbcType="INTEGER"/>
<result column="student_id" property="studentId" jdbcType="VARCHAR"/>
<result column="id_card" property="idCard" jdbcType="VARCHAR"/>
<result column="address" property="address" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
@@ -64,13 +65,13 @@
</sql>
<sql id="FullUser_Column_List">
id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address,
id, user_id, avatar, gender, family_name, given_name, full_name, student_id,id_card, address,
create_time, update_time, delete_time, deleted, status
</sql>
<!-- 用户信息字段 -->
<sql id="UserInfo_Column_List">
id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address,
id, user_id, avatar, gender, family_name, given_name, full_name, student_id,id_card, address,
create_time, update_time, delete_time, deleted
</sql>
@@ -230,6 +231,7 @@
ui.given_name,
ui.full_name,
ui.level,
ui.student_id,
ui.id_card,
ui.address,
udr.dept_id,
@@ -349,6 +351,7 @@
ui.given_name,
ui.full_name,
ui.level,
ui.student_id,
ui.id_card,
ui.address,
udr.dept_id,
@@ -491,6 +494,8 @@
<if test="userInfo.familyName != null">family_name = #{userInfo.familyName},</if>
<if test="userInfo.givenName != null">given_name = #{userInfo.givenName},</if>
<if test="userInfo.fullName != null">full_name = #{userInfo.fullName},</if>
<if test="userInfo.level != null">level = #{userInfo.level},</if>
<if test="userInfo.studentId != null">student_id = #{userInfo.studentId},</if>
<if test="userInfo.idCard != null">id_card = #{userInfo.idCard},</if>
<if test="userInfo.address != null">address = #{userInfo.address},</if>
<if test="userInfo.updateTime != null">update_time = #{userInfo.updateTime}</if>
@@ -562,6 +567,7 @@
tus.email,
tsui.avatar,
tsui.gender,
tsui.student_id,
(SELECT dept_path FROM dept_hierarchy WHERE parent_id IS NULL LIMIT 1) as dept_name,
tsr.name as role_name,
tsui.level,

View File

@@ -56,15 +56,34 @@ public class UserProfileController {
* 更新个人信息
*/
@PutMapping("/info/update")
public ResultDomain<TbSysUserInfo> updateUserProfile(@HttpLogin LoginDomain loginDomain, @RequestBody TbSysUserInfo userInfo) {
// TODO: 实现更新个人信息(姓名、部门、联系方式等)
ResultDomain<TbSysUserInfo> result = userService.updateUserInfo(userInfo);
if (result.isSuccess()) {
public ResultDomain<UserVO> updateUserProfile(@HttpLogin LoginDomain loginDomain, @RequestBody UserVO userVO) {
ResultDomain<UserVO> result = new ResultDomain<>();
// 更新tb_sys_user
TbSysUser user = new TbSysUser();
user.setID(userVO.getUserID());
user.setUsername(userVO.getUsername());
user.setEmail(userVO.getEmail());
user.setPhone(userVO.getPhone());
ResultDomain<TbSysUser> re = userService.updateUser(user);
if (!re.isSuccess()) {
result.fail(re.getMessage());
return result;
}
// 更新tb_sys_user_info
TbSysUserInfo userInfo = new TbSysUserInfo();
userInfo.setUserID(userVO.getUserID());
userInfo.setAvatar(userVO.getAvatar());
userInfo.setGender(userVO.getGender());
userInfo.setStudentId(userVO.getStudentId());
ResultDomain<TbSysUserInfo> result1 = userService.updateUserInfo(userInfo);
if (result1.isSuccess()) {
result.success("个人信息更新成功", userVO);
return result;
} else {
ResultDomain<TbSysUserInfo> result2 = new ResultDomain<>();
result2.fail(result.getCode(), result.getMessage());
return result2;
result.fail(result1.getCode(), result1.getMessage());
return result;
}
}