店铺修改操作密码校验验证码

This commit is contained in:
张松 2025-03-05 15:56:03 +08:00
parent dd2dd98bcf
commit eba6ce5b32
5 changed files with 74 additions and 1 deletions

View File

@ -2,6 +2,7 @@ package com.czg.controller.admin;
import com.czg.account.dto.user.SysUserAddDTO;
import com.czg.account.dto.user.SysUserEditDTO;
import com.czg.account.dto.user.SysUserEditPwdDTO;
import com.czg.account.entity.SysUser;
import com.czg.account.entity.SysUsersRoles;
import com.czg.account.service.SysUserService;
@ -9,6 +10,7 @@ import com.czg.account.vo.SysUserDetailVO;
import com.czg.annotation.SaAdminCheckPermission;
import com.czg.annotation.SaAdminCheckRole;
import com.czg.resp.CzgResult;
import com.czg.sa.StpKit;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
@ -65,6 +67,17 @@ public class SysController {
return CzgResult.success(sysUserService.edit(sysUserEditDTO));
}
/**
* 登录账号密码修改
* @param sysUserEditPwdDTO 修改西悉尼
* @return 是否成功
*/
@SaAdminCheckRole("admin")
@PutMapping("/pwd")
public CzgResult<Boolean> editPwd(@RequestBody @Validated SysUserEditPwdDTO sysUserEditPwdDTO) {
return CzgResult.success(sysUserService.editPwd(StpKit.USER.getLoginIdAsLong(), sysUserEditPwdDTO));
}
/**
* 系统用户删除
* @param id 用户id

View File

@ -5,7 +5,6 @@ import jakarta.validation.constraints.Size;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author Administrator

View File

@ -0,0 +1,40 @@
package com.czg.account.dto.user;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author Administrator
*/
@Data
public class SysUserEditPwdDTO {
/**
* ID
*/
@NotNull(message = "ID不能为空")
private Long id;
/**
* 原密码
*/
@NotBlank(message = "原密码不为空")
private String originalPassword;
/**
* 确认密码
*/
@NotBlank(message = "确认密码不为空")
private String checkPassword;
/**
* 密码
*/
@Size(min = 1, message = "密码不为空")
private String password;
}

View File

@ -2,6 +2,7 @@ package com.czg.account.service;
import com.czg.account.dto.user.SysUserAddDTO;
import com.czg.account.dto.user.SysUserEditDTO;
import com.czg.account.dto.user.SysUserEditPwdDTO;
import com.czg.account.entity.SysUser;
import com.czg.account.vo.SysUserDetailVO;
import com.mybatisflex.core.paginate.Page;
@ -35,4 +36,7 @@ public interface SysUserService extends IService<SysUser> {
void download(String key, String startTime, String endTime, Integer status, HttpServletResponse response) throws IOException;
SysUserDetailVO detail(Integer id);
Boolean editPwd(long sysUserId, SysUserEditPwdDTO sysUserEditPwdDTO);
}

View File

@ -8,6 +8,7 @@ import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.czg.account.dto.user.SysUserAddDTO;
import com.czg.account.dto.user.SysUserEditDTO;
import com.czg.account.dto.user.SysUserEditPwdDTO;
import com.czg.account.entity.SysRole;
import com.czg.account.entity.SysUser;
import com.czg.account.entity.SysUsersRoles;
@ -203,4 +204,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> imp
sysUserDetailVO.setRoleId(usersRoles.getRoleId());
return sysUserDetailVO;
}
@Override
public Boolean editPwd(long sysUserId, SysUserEditPwdDTO sysUserEditPwdDTO) {
SysUser sysUser = getById(sysUserId);
if (!sysUserEditPwdDTO.getPassword().equals(SecureUtil.md5(sysUser.getId() + sysUserEditPwdDTO.getOriginalPassword()))) {
throw new ApiNotPrintException("原密码不正确");
}
if (!sysUserEditPwdDTO.getPassword().equals(sysUserEditPwdDTO.getCheckPassword())) {
throw new ApiNotPrintException("两次密码不一致");
}
sysUser.setPassword(SecureUtil.md5(sysUser.getId() + sysUserEditPwdDTO.getPassword()));
return updateById(sysUser);
}
}