diff --git a/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java b/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java index 1c45d18..36906fb 100644 --- a/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java +++ b/mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java @@ -4,6 +4,7 @@ import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.UmsAdminLoginParam; import com.macro.mall.dto.UmsAdminParam; +import com.macro.mall.dto.UpdateAdminPasswordParam; import com.macro.mall.model.UmsAdmin; import com.macro.mall.model.UmsPermission; import com.macro.mall.model.UmsRole; @@ -126,6 +127,24 @@ public class UmsAdminController { return CommonResult.failed(); } + @ApiOperation("修改指定用户密码") + @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) + @ResponseBody + public CommonResult updatePassword(@RequestBody UpdateAdminPasswordParam updatePasswordParam) { + int status = adminService.updatePassword(updatePasswordParam); + if (status > 0) { + return CommonResult.success(status); + } else if (status == -1) { + return CommonResult.failed("提交参数不合法"); + } else if (status == -2) { + return CommonResult.failed("找不到该用户"); + } else if (status == -3) { + return CommonResult.failed("旧密码错误"); + } else { + return CommonResult.failed(); + } + } + @ApiOperation("删除指定用户信息") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody diff --git a/mall-admin/src/main/java/com/macro/mall/dto/UpdateAdminPasswordParam.java b/mall-admin/src/main/java/com/macro/mall/dto/UpdateAdminPasswordParam.java new file mode 100644 index 0000000..956423d --- /dev/null +++ b/mall-admin/src/main/java/com/macro/mall/dto/UpdateAdminPasswordParam.java @@ -0,0 +1,21 @@ +package com.macro.mall.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotEmpty; + +/** + * 修改用户名密码参数 + * Created by macro on 2019/10/9. + */ +@Getter +@Setter +public class UpdateAdminPasswordParam { + @ApiModelProperty(value = "用户名", required = true) + private String username; + @ApiModelProperty(value = "旧密码", required = true) + private String oldPassword; + @ApiModelProperty(value = "新密码", required = true) + private String newPassword; +} diff --git a/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java b/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java index 870149d..520b1a8 100644 --- a/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java +++ b/mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java @@ -1,6 +1,7 @@ package com.macro.mall.service; import com.macro.mall.dto.UmsAdminParam; +import com.macro.mall.dto.UpdateAdminPasswordParam; import com.macro.mall.model.UmsAdmin; import com.macro.mall.model.UmsPermission; import com.macro.mall.model.UmsRole; @@ -78,4 +79,9 @@ public interface UmsAdminService { * 获取用户所有权限(包括角色权限和+-权限) */ List getPermissionList(Long adminId); + + /** + * 修改密码 + */ + int updatePassword(UpdateAdminPasswordParam updatePasswordParam); } diff --git a/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java b/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java index 1d0121b..65cf5f5 100644 --- a/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java +++ b/mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java @@ -1,9 +1,12 @@ package com.macro.mall.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.UmsAdminPermissionRelationDao; import com.macro.mall.dao.UmsAdminRoleRelationDao; import com.macro.mall.dto.UmsAdminParam; +import com.macro.mall.dto.UpdateAdminPasswordParam; import com.macro.mall.mapper.UmsAdminLoginLogMapper; import com.macro.mall.mapper.UmsAdminMapper; import com.macro.mall.mapper.UmsAdminPermissionRelationMapper; @@ -249,4 +252,26 @@ public class UmsAdminServiceImpl implements UmsAdminService { public List getPermissionList(Long adminId) { return adminRoleRelationDao.getPermissionList(adminId); } + + @Override + public int updatePassword(UpdateAdminPasswordParam param) { + if(StrUtil.isEmpty(param.getUsername()) + ||StrUtil.isEmpty(param.getOldPassword()) + ||StrUtil.isEmpty(param.getNewPassword())){ + return -1; + } + UmsAdminExample example = new UmsAdminExample(); + example.createCriteria().andUsernameEqualTo(param.getUsername()); + List adminList = adminMapper.selectByExample(example); + if(CollUtil.isEmpty(adminList)){ + return -2; + } + UmsAdmin umsAdmin = adminList.get(0); + if(!passwordEncoder.matches(param.getOldPassword(),umsAdmin.getPassword())){ + return -3; + } + umsAdmin.setPassword(passwordEncoder.encode(param.getNewPassword())); + adminMapper.updateByPrimaryKey(umsAdmin); + return 1; + } }