Mybatis-Plus修改指定字段

本文详细解析了一个用于更新用户密码的RESTful API实现。该API允许用户通过POST请求修改自己的密码,验证旧密码的正确性,并确保新密码不为空。文章深入介绍了代码逻辑,包括会话管理、密码加密及数据库更新过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

核心代码  22 - 30

/**
	 * 修改密码(只能修改自己的密码)
	 * 
	 * @author zhangxuewei
	 * @param userID
	 * @param password
	 * @param session
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value = "/updateUserPWD", method = RequestMethod.POST)
	public ResultCode updateUserPWD(@RequestParam(value = "password_old") String password,
			@RequestParam(value = "password_new") String newpassword, HttpSession session) {
		logger.info("updateUserPWD ...........");
		User user1 = (User) session.getAttribute("sessionUser");
		ResultCode res = new ResultCode();
		EntityWrapper<User> ew = new EntityWrapper<>();
		ew.eq("user_name", user1.getUserName());
		User user2=  userService.selectOne(ew);
		if(user2.getPassWord().equals(AIAppUtils.encrypt(password))) {
			if (StringUtils.isNotBlank(password) && StringUtils.isNotBlank(newpassword)) {
				String setSql = "pass_word = " + "'" + AIAppUtils.encrypt(newpassword) + "'";
				EntityWrapper<User> ew1 = new EntityWrapper<>();

				ew1.eq("user_id", user1.getUserID());

				try {
					userService.updateForSet(setSql, ew1);
					session.removeAttribute("sessionUser");
					res.setCode(0);
					
				} catch (Exception e) {
					// TODO: handle exception
					res.setCode(1);
				}
			} else {
				// 参数不能为空
				res.setCode(1);
				res.setMsg("参数不能为空");
			}

		}else {
			res.setCode(1);
			res.setMsg("原始密码不正确!");
		}
		
		return res;
	}

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值