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;}@Overridepublic 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是否保存错误的验证信息,如果有,则直接returnif (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;
}

用户中心 - 修改用户信息相关推荐

  1. Django博客系统(用户中心修改)

    1. 用户中心接口设计 1.请求方式 选项 方案 请求方法 POST 请求地址 /center/ 2.请求参数:表单 参数名 类型 是否必传 说明 username string 否 用户名 avat ...

  2. 用户中心 - 查询用户信息

    /*** 根据用户id查询用户信息* @param userId* @return*/ public Users queryUserInfo(String userId); @Transactiona ...

  3. MongoDB增加用户认证:增加用户、删除用户、修改用户密码、读写权限、只读权限...

    MongoDB增加用户认证:增加用户.删除用户.修改用户密码.读写权限.只读权限 说明:增加用户是针对数据库进行操作    www.2cto.com   1.进入到数据库 use dbname 2.针 ...

  4. Unknown column 'password_lifetime' in 'field list';创建数据库时创建用户,修改用户时报错

    Unknown column 'password_lifetime' in 'field list'创建数据库时创建用户,修改用户时报错 xampp安装较新的版本,通过xampp安装MySQL的是Ma ...

  5. MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限

    MongoDB增加用户认证: 增加用户.删除用户.修改用户密码.读写权限.只读权限 - 半叶寒羽

  6. Centos中用户相关操作(创建用户、设置密码、切换用户、修改用户信息、附加组、删除用户、用户分类)

    1.创建新用户 在root用户权限下新建用户: useradd -m xxx 选项 说明 -m 自动创建用户主目录,主目录的名字就是用户名 -g 指定用户所属的用户组,默认不指定会自动创建一个同名的用 ...

  7. 个人中心修改用户头像

    今天我来记录一下修改用户头像的方法,当然啦,这是我第一次实现这个功能,方法不成熟,多多包涵--- 这个需求是基于nuxt实现的,首先我来说一下需要下载的插件.修改用户头像肯定要能裁剪头像的大小,需要用 ...

  8. mysql之库操作_创建用户_修改用户权限_修改用户密码

    用户操作: 1.create user 'Faye'@'127.0.0.1'IDENTIFIED BY '123'  #添加一个用户名字为Faye的用户,127.0.0.1为本机的ip,123为密码 ...

  9. MySQL数据库创建用户_修改用户_删除用户_设置用户

    文章目录 创建新用户 使用 CREATE USER 语句创建用户 创建新用户,并且使用哈希值设置密码 创建一个只能在数据库所在主机访问数据库的用户 创建一个只能从指定 IP 连接数据库的用户 创建一个 ...

最新文章

  1. poj2420A Star not a Tree?(模拟退火)
  2. (C++)201709-1 打酱油
  3. swoole process进程 多分发
  4. RT-Thread移植到STM32F103ZET6具体操作步骤(利用keil5新建工程,添加RT-Thread源码到工程)
  5. 我是如何使用laydate日历插件更换掉老项目不好用的日历插件datepicker的
  6. vue中组件的data为什么是一个函数
  7. java jpms_JDK9的新特性:JPMS模块化
  8. Linux交换空间(swap space)
  9. Flink-CEP快速入门
  10. Unity 性能优化归纳
  11. 基于SNMP网络管理系统的实现
  12. 红帽linux系统内核版本7,如何查看Linux发行版内核版本及系统版本?
  13. react中使用微信jssdk分享总结
  14. ROS深度图转化为点云
  15. Let's Encrypt证书自动更新
  16. Android Fragment 使用解析
  17. 守住一份平淡,宁静坦然,不浮不躁
  18. JDK11的下载与安装(windows和macOS)
  19. 数据分析让网络推广事半功倍
  20. 2015061708 - 波斯王子遗忘之沙游戏志

热门文章

  1. Java学习笔记-网络编程
  2. OAuth的MVC实现(微软)
  3. nsq源码阅读笔记之nsqd(一)——nsqd的配置解析和初始化
  4. Oracle学习操作(6)函数与存储过程
  5. oracleDBA-D1
  6. MyBatis的高级映射之多对一
  7. .NET连接MySQL数据库方法
  8. 【Redis学习】Redis的安装、管理、适用场合以及使用
  9. 使用canvas绘制楼梯(canvas直线绘制练习)
  10. 真正掌握vuex的使用方法(六)