add [重置密码]

This commit is contained in:
lijiarao
2021-08-30 09:55:05 +08:00
parent 8027d01a01
commit fea13c7e20
4 changed files with 30 additions and 10 deletions
@@ -3,7 +3,6 @@ package com.jero.modules.system.controller;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -17,7 +16,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.PermissionData;
import com.jero.common.constant.CommonConstant;
@@ -33,8 +31,6 @@ import com.jero.modules.system.model.SysUserSysDepartModel;
import com.jero.modules.system.service.*;
import com.jero.modules.system.vo.SysDepartUsersVO;
import com.jero.modules.system.vo.SysUserRoleVO;
import org.apache.shiro.subject.Subject;
import org.checkerframework.framework.qual.RequiresQualifier;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -50,8 +46,6 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@@ -659,7 +653,7 @@ public class SysUserController {
*/
//@RequiresRoles({"admin"})
@RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
public Result<?> changPassword(@RequestBody JSONObject json) {
public Result<?> changePassword(@RequestBody JSONObject json) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = json.getString("username");
String oldPassword = json.getString("oldpassword");
@@ -669,8 +663,20 @@ public class SysUserController {
if(user==null) {
return Result.error("用户不存在!");
}
return sysUserService.resetPassword(username,oldPassword,password,confirmPassword);
return sysUserService.changePassword(username,oldPassword,password,confirmPassword);
}
/**
* 重置密码
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:user:resetPassword")
@PostMapping(value = "/resetPassword")
public Result<?> resetPassword(@RequestBody JSONObject json) {
String username = json.getString("username");
return Result.OK(sysUserService.resetPassword(username));
}
@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/userRoleList", method = RequestMethod.GET)
public Result<IPage<SysUser>> userRoleList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -37,7 +37,7 @@ public interface ISysUserService extends IService<SysUser> {
* @param confirmPassword
* @return
*/
public Result<?> resetPassword(String username, String oldPassword, String newPassword, String confirmPassword);
public Result<?> changePassword(String username, String oldPassword, String newPassword, String confirmPassword);
/**
* 修改密码
@@ -238,4 +238,6 @@ public interface ISysUserService extends IService<SysUser> {
IPage<SysUserVo> queryPageListByRoleAndDepart(Page<SysUserVo> page, SysUser user, String roleId, String departId);
Map<String, String> getRoleNameByUserIds(List<String> userIds);
String resetPassword(String username);
}
@@ -23,6 +23,7 @@ import com.jero.modules.system.model.SysUserSysDepartModel;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.vo.SysUserDepVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -63,10 +64,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
private SysDepartRoleMapper sysDepartRoleMapper;
@Resource
private BaseCommonService baseCommonService;
@Value("${defaultPassword}")
private String defaultPassword;
@Override
@CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
public Result<?> resetPassword(String username, String oldPassword, String newPassword, String confirmPassword) {
public Result<?> changePassword(String username, String oldPassword, String newPassword, String confirmPassword) {
SysUser user = userMapper.getUserByName(username);
String passwordEncode = PasswordUtil.encrypt(username, oldPassword, user.getSalt());
if (!user.getPassword().equals(passwordEncode)) {
@@ -461,4 +464,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return res;
}
@Override
public String resetPassword(String username) {
SysUser user = userMapper.getUserByName(username);
String password = PasswordUtil.encrypt(username, defaultPassword, user.getSalt());
this.userMapper.update(new SysUser().setPassword(password), new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, user.getId()));
return "密码重置成功!,默认密码为:"+defaultPassword;
}
}