1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

小程序修改密码

This commit is contained in:
2023-04-17 18:46:15 +08:00
parent 0238251ab0
commit b72f36febc
14 changed files with 255 additions and 14 deletions

View File

@@ -99,7 +99,7 @@ public class UserController {
user = new User();
user.setId(null);
user.setUsername(UUID.randomUUID().toString().replace("-", "").substring(0, 10));
user.setPassword(UUID.randomUUID().toString());
user.setPassword("");
user.setRealname("微信用户" + user.getUsername().substring(0, 5));
user.setRoleId(3);
user.setPermission("1");
@@ -127,6 +127,34 @@ public class UserController {
return userService.getUserById(id);
}
/**
* 修改密码的接口
*
* @param oldpwd
* @param newpwd
* @return
*/
@PostMapping("/updatePwd")
@ResponseBody
public Res updatePwd(@RequestParam("userId") Integer userId,
@RequestParam("oldpwd") String oldpwd,
@RequestParam("newpwd") String newpwd) {
if (newpwd == null || Objects.equals(newpwd, "")) {
return Res.error("新密码不能为空");
}
if (oldpwd == null) {
oldpwd = "";
}
// 调用Service层的方法传入旧密码和新密码
boolean result = userService.updatePwd(userId, oldpwd, newpwd);
// 根据结果返回响应
if (result) {
return Res.success("修改成功");
} else {
return Res.error("旧密码不正确,修改失败");
}
}
/**
* 获取用户列表
*

View File

@@ -3,6 +3,7 @@ package com.cxyxiaomo.epp.user.dao;
import com.cxyxiaomo.epp.common.pojo.User;
import com.cxyxiaomo.epp.common.vo.UserVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -15,6 +16,8 @@ public interface UserDao {
public boolean updateUser(User user);
public boolean updatePwd(@Param("id") Integer id, @Param("password") String password);
public User getUserById(Integer id);
User getUserByUsername(String username);

View File

@@ -3,10 +3,12 @@ package com.cxyxiaomo.epp.user.service;
import com.cxyxiaomo.epp.common.pojo.User;
import com.cxyxiaomo.epp.common.vo.UserVO;
import com.cxyxiaomo.epp.user.dao.UserDao;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
@Service
public class UserService {
@@ -47,4 +49,30 @@ public class UserService {
public boolean deleteUser(Integer userId) {
return userDao.deleteUserById(userId);
}
/**
* 修改密码的方法
*
* @param oldpwd
* @param newpwd
* @return
*/
public boolean updatePwd(Integer userId, String oldpwd, String newpwd) {
// 获取当前登录的用户信息
User user = userDao.getUserById(userId);
// 创建一个密码加密器
String oldpwdHash = DigestUtils.sha512Hex(oldpwd);
// 判断旧密码是否匹配 (或者是未设置密码的初始用户)
if (Objects.equals(oldpwdHash, user.getPassword()) ||
(Objects.equals(oldpwd, "") && Objects.equals(user.getPassword(), ""))) {
// 如果匹配,对新密码进行加密
String newpwdHash = DigestUtils.sha512Hex(newpwd);
// 调用mapper层的方法更新数据库中的密码
userDao.updatePwd(user.getId(), newpwdHash);
return true;
} else {
// 如果不匹配返回false
return false;
}
}
}

View File

@@ -48,6 +48,11 @@
</set>
WHERE id = #{id}
</update>
<update id="updatePwd" parameterType="com.cxyxiaomo.epp.common.pojo.User">
UPDATE user
SET `password` = #{password}
WHERE id = #{id}
</update>
<select id="getUserById" parameterType="java.lang.Integer" resultType="com.cxyxiaomo.epp.common.pojo.User">
SELECT *
FROM user