用户中心 - 修改用户信息

    科技2025-05-20  44

    package com.leon.pojo.bo.center; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.*; import java.util.Date; @ApiModel(value="用户对象", description="从客户端,由用户传入的数据封装在此entity中") public class CenterUserBO { @ApiModelProperty(value="用户名", name="username", example="json", required = false) private String username; @ApiModelProperty(value="密码", name="password", example="123456", required = false) private String password; @ApiModelProperty(value="确认密码", name="confirmPassword", example="123456", required = false) private String confirmPassword; @NotBlank(message = "用户昵称不能为空") @Length(max = 12, message = "用户昵称不能超过12位") @ApiModelProperty(value="用户昵称", name="nickname", example="杰森", required = false) private String nickname; @Length(max = 12, message = "用户真实姓名不能超过12位") @ApiModelProperty(value="真实姓名", name="realname", example="杰森", required = false) private String realname; @Pattern(regexp = "^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\\d{8})$", message = "手机号格式不正确") @ApiModelProperty(value="手机号", name="mobile", example="13999999999", required = false) private String mobile; @Email @ApiModelProperty(value="邮箱地址", name="email", example="leon@leon.com", required = false) private String email; @Min(value = 0, message = "性别选择不正确") @Max(value = 2, message = "性别选择不正确") @ApiModelProperty(value="性别", name="sex", example="0:女 1:男 2:保密", required = false) private Integer sex; @ApiModelProperty(value="生日", name="birthday", example="1900-01-01", required = false) private Date birthday; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getConfirmPassword() { return confirmPassword; } public void setConfirmPassword(String confirmPassword) { this.confirmPassword = confirmPassword; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } public String getRealname() { return realname; } public void setRealname(String realname) { this.realname = realname; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Integer getSex() { return sex; } public void setSex(Integer sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return "CenterUserBO{" + "username='" + username + '\'' + ", password='" + password + '\'' + ", confirmPassword='" + confirmPassword + '\'' + ", nickname='" + nickname + '\'' + ", realname='" + realname + '\'' + ", mobile='" + mobile + '\'' + ", email='" + email + '\'' + ", sex=" + sex + ", birthday=" + birthday + '}'; } } @ApiOperation(value = "修改用户信息", notes = "修改用户信息", httpMethod = "POST") @PostMapping("update") public JSONResult update( @ApiParam(name = "userId", value = "用户id", required = true) @RequestParam String userId, @RequestBody @Valid CenterUserBO centerUserBO, BindingResult result, HttpServletRequest request, HttpServletResponse response) { System.out.println(centerUserBO); // 判断BindingResult是否保存错误的验证信息,如果有,则直接return if (result.hasErrors()) { Map<String, String> errorMap = getErrors(result); return JSONResult.errorMap(errorMap); } Users userResult = centerUserService.updateUserInfo(userId, centerUserBO); userResult = setNullProperty(userResult); CookieUtils.setCookie(request, response, "user", JsonUtils.objectToJson(userResult), true); // TODO 后续要改,增加令牌token,会整合进redis,分布式会话 return JSONResult.ok(); } /** * 修改用户信息 * @param userId * @param centerUserBO */ public Users updateUserInfo(String userId, CenterUserBO centerUserBO); @Transactional(propagation = Propagation.REQUIRED) @Override public Users updateUserInfo(String userId, CenterUserBO centerUserBO) { Users updateUser = new Users(); BeanUtils.copyProperties(centerUserBO, updateUser); updateUser.setId(userId); updateUser.setUpdatedTime(new Date()); usersMapper.updateByPrimaryKeySelective(updateUser); return queryUserInfo(userId); } private Users setNullProperty(Users userResult) { userResult.setPassword(null); userResult.setMobile(null); userResult.setEmail(null); userResult.setCreatedTime(null); userResult.setUpdatedTime(null); userResult.setBirthday(null); return userResult; }

     

    Processed: 0.010, SQL: 8