diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 41a13818..a7c944ce 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -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> userRoleList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index 1b7cbd75..5a1b2e6f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -37,7 +37,7 @@ public interface ISysUserService extends IService { * @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 { IPage queryPageListByRoleAndDepart(Page page, SysUser user, String roleId, String departId); Map getRoleNameByUserIds(List userIds); + + String resetPassword(String username); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index b6fb4a95..df6cb373 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -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 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 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().eq(SysUser::getId, user.getId())); + return "密码重置成功!,默认密码为:"+defaultPassword; + } + } diff --git a/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot-single-startup/src/main/resources/application-dev.yml index 7b973242..83f3f07c 100644 --- a/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -294,3 +294,4 @@ justauth: type: default prefix: 'demo::' timeout: 1h +defaultPassword: HZWLsoft.com123 \ No newline at end of file