Browse Source

Merge remote-tracking branch 'origin/master'

master
21819 2 years ago
parent
commit
4996378395
  1. 4
      mailbox-common/src/main/java/com/biutag/enums/ErrorEnum.java
  2. 10
      mailbox-lan/src/main/java/com/biutag/lan/controller/system/SystemLoginController.java
  3. 2
      mailbox-lan/src/main/java/com/biutag/lan/service/ISystemLoginService.java
  4. 35
      mailbox-lan/src/main/java/com/biutag/lan/service/impl/SystemLoginServiceImpl.java
  5. 31
      mailbox-lan/src/main/java/com/biutag/lan/validate/system/ResetPasswordValidate.java

4
mailbox-common/src/main/java/com/biutag/enums/ErrorEnum.java

@ -9,7 +9,7 @@ public enum ErrorEnum {
REQUEST_METHOD_ERROR(312, "请求方法错误"),
ASSERT_ARGUMENT_ERROR(313, "断言参数错误"),
ASSERT_MYBATIS_ERROR(314, "断言Mybatis错误"),
REST_PASSWOED_FAILED(350, "密码错误"),
LOGIN_ACCOUNT_ERROR(330, "登录账号或密码错误"),
LOGIN_DISABLE_ERROR(331, "登录账号已被禁用了"),
@ -24,6 +24,8 @@ public enum ErrorEnum {
SYSTEM_ERROR(500, "系统错误");
/**
* 构造方法
*/

10
mailbox-lan/src/main/java/com/biutag/lan/controller/system/SystemLoginController.java

@ -4,6 +4,7 @@ import com.biutag.aop.NotLogin;
import com.biutag.aop.NotPower;
import com.biutag.lan.service.ISystemLoginService;
import com.biutag.lan.validate.system.PoliceUserLoginsValidate;
import com.biutag.lan.validate.system.ResetPasswordValidate;
import com.biutag.lan.vo.system.SystemCaptchaVo;
import com.biutag.lan.vo.system.SystemLoginVo;
import com.biutag.core.AjaxResult;
@ -47,4 +48,13 @@ public class SystemLoginController {
return AjaxResult.success();
}
@NotPower
@PostMapping("/resetPassword")
@ApiOperation(value="重置密码")
public AjaxResult<Void> resetPassword(@Validated() @RequestBody ResetPasswordValidate resetPasswordValidate) {
iSystemLoginService.resetPassword(resetPasswordValidate);
return AjaxResult.success();
}
}

2
mailbox-lan/src/main/java/com/biutag/lan/service/ISystemLoginService.java

@ -1,6 +1,7 @@
package com.biutag.lan.service;
import com.biutag.lan.validate.system.PoliceUserLoginsValidate;
import com.biutag.lan.validate.system.ResetPasswordValidate;
import com.biutag.lan.vo.system.SystemCaptchaVo;
import com.biutag.lan.vo.system.SystemLoginVo;
@ -34,4 +35,5 @@ public interface ISystemLoginService {
*/
void logout(String token);
void resetPassword(ResetPasswordValidate resetPasswordValidate);
}

35
mailbox-lan/src/main/java/com/biutag/lan/service/impl/SystemLoginServiceImpl.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.biutag.lan.cache.CaptchaCache;
import com.biutag.lan.service.ISystemLoginService;
import com.biutag.lan.validate.system.PoliceUserLoginsValidate;
import com.biutag.lan.validate.system.ResetPasswordValidate;
import com.biutag.lan.vo.system.SystemCaptchaVo;
import com.biutag.lan.vo.system.SystemLoginVo;
import com.biutag.entity.system.PoliceUser;
@ -167,6 +168,40 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
//RedisUtil.del(AdminConfig.backstageTokenKey + token);
}
@Override
public void resetPassword(ResetPasswordValidate resetPasswordValidate) {
String oldpassword = resetPasswordValidate.getOldpassword();
String password = resetPasswordValidate.getPassword();
String passwordConfirm = resetPasswordValidate.getPasswordConfirm();
if (!password.equals(passwordConfirm)) {
throw new LoginException(ErrorEnum.PARAMS_VALID_ERROR.getCode(), ErrorEnum.PARAMS_VALID_ERROR.getMsg());
}
Integer id = Integer.valueOf(StpUtil.getLoginId().toString());
PoliceUser sysAdmin = policeUserMapper.selectOne(new QueryWrapper<PoliceUser>()
.eq("id", id)
.last("limit 1"));
System.out.println("sysAdmin"+sysAdmin);
String oldPWd = oldpassword + sysAdmin.getSalt();
String md5Pwd = ToolUtils.makeMd5(oldPWd);
if (!md5Pwd.equals(sysAdmin.getPassword())) {
throw new LoginException(ErrorEnum.REST_PASSWOED_FAILED.getCode(), ErrorEnum.REST_PASSWOED_FAILED.getMsg());
}
String newPWd = password + sysAdmin.getSalt();
String newMd5Pwd = ToolUtils.makeMd5(newPWd);
try {
PoliceUser policeUser = new PoliceUser();
policeUser.setId(id);
policeUser.setPassword(newMd5Pwd);
System.out.println("policeUser"+policeUser);
policeUserMapper.updateById(policeUser);
} catch (Exception e) {
throw new OperateException(e.getMessage());
}
}
/**
* 记录登录日志
*/

31
mailbox-lan/src/main/java/com/biutag/lan/validate/system/ResetPasswordValidate.java

@ -0,0 +1,31 @@
package com.biutag.lan.validate.system;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.io.Serializable;
@Data
@ApiModel("重置密码参数")
public class ResetPasswordValidate implements Serializable {
private static final long serialVersionUID = 1L;
@NotEmpty(message = "密码不能为空")
@Length(min = 6, max = 18, message = "密码错误")
@ApiModelProperty(value = "登录账号", required = true)
private String oldpassword;
@NotEmpty(message = "密码不能为空")
@Length(min = 6, max = 18, message = "密码错误")
@ApiModelProperty(value = "登录密码", required = true)
private String password;
@NotEmpty(message = "密码不能为空")
@Length(min = 6, max = 18, message = "密码错误")
@ApiModelProperty(value = "登录密码", required = true)
private String passwordConfirm;
}
Loading…
Cancel
Save