Browse Source

新增修改密码功能

master
caojianbin 2 months ago
parent
commit
687a62cae5
  1. 49
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/UserController.java
  2. 30
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/entity/dto/ChangePasswordDto.java
  3. 5
      ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages.properties
  4. 1
      ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_ru.properties
  5. 1
      ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_zh_CN.properties
  6. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java
  7. 3
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/FactoryLogInfoServiceImpl.java

49
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/UserController.java

@ -3,10 +3,7 @@ package com.ecell.internationalize.app.controller;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ecell.internationalize.app.entity.UserVo; import com.ecell.internationalize.app.entity.UserVo;
import com.ecell.internationalize.app.entity.dto.DeviceUnbindDto; import com.ecell.internationalize.app.entity.dto.*;
import com.ecell.internationalize.app.entity.dto.UpdateUserDto;
import com.ecell.internationalize.app.entity.dto.UserDto;
import com.ecell.internationalize.app.entity.dto.UserLoginDto;
import com.ecell.internationalize.app.service.BindingDevice; import com.ecell.internationalize.app.service.BindingDevice;
import com.ecell.internationalize.app.service.UserDeviceBindService; import com.ecell.internationalize.app.service.UserDeviceBindService;
import com.ecell.internationalize.app.service.UserService; import com.ecell.internationalize.app.service.UserService;
@ -15,6 +12,7 @@ import com.ecell.internationalize.app.util.I18nUtil;
import com.ecell.internationalize.app.util.UserAgentUtil; import com.ecell.internationalize.app.util.UserAgentUtil;
import com.ecell.internationalize.common.core.context.SecurityContextHolder; import com.ecell.internationalize.common.core.context.SecurityContextHolder;
import com.ecell.internationalize.common.core.entity.Rest; import com.ecell.internationalize.common.core.entity.Rest;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.issue.constant.CommonConstant; import com.ecell.internationalize.common.issue.constant.CommonConstant;
import com.ecell.internationalize.common.issue.mqtt.dto.AccountMessage; import com.ecell.internationalize.common.issue.mqtt.dto.AccountMessage;
import com.ecell.internationalize.common.issue.mqtt.dto.AccountMessageChild; import com.ecell.internationalize.common.issue.mqtt.dto.AccountMessageChild;
@ -238,6 +236,49 @@ public class UserController {
userService.updateById(user); userService.updateById(user);
return Rest.ok(I18nUtil.getMessage(FieldConstant.MESSAGES_SUCCESS,request.getHeader("Accept-Language"))); return Rest.ok(I18nUtil.getMessage(FieldConstant.MESSAGES_SUCCESS,request.getHeader("Accept-Language")));
} }
/**
* 忘记密码功能
* @param userDto 邮箱
*/
@ApiOperation("修改密码功能")
@PostMapping("send/editPwd")
public Rest ChangePassword(@RequestBody ChangePasswordDto userDto, HttpServletRequest request){
if (StringUtils.isEmpty(userDto.getEmail())){
userDto.setEmail(SecurityContextHolder.getUserName());
}
logger.info("修改密码邮箱===:"+userDto.getEmail());
//1.根据email查询当前登陆用户
LambdaQueryWrapper<User> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(User::getUserEmail,userDto.getEmail());
User user = userService.getBaseMapper().selectOne(lambdaQueryWrapper);
//2.判断当前用户是否存在
if (null == user){
return Rest.fail(I18nUtil.getMessage(FieldConstant.EMAIL_LOGIN_EXIT,request.getHeader("Accept-Language")));
}
//2.判断旧密码是否匹配
if (!SecurityUtils.matchesPassword(userDto.getOldPassword(),user.getPassword())){
return Rest.fail(I18nUtil.getMessage(FieldConstant.OLD_PASSWORD_ERROR,request.getHeader("Accept-Language")));
}
//对新密码进行加密
String encryptPassword = SecurityUtils.encryptPassword(userDto.getPassword());
user.setPassword(encryptPassword);
//调用新增接口
userService.updateById(user);
return Rest.ok(I18nUtil.getMessage(FieldConstant.MESSAGES_SUCCESS,request.getHeader("Accept-Language")));
}
/** /**
* 查看个人资料 * 查看个人资料
*/ */

30
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/entity/dto/ChangePasswordDto.java

@ -0,0 +1,30 @@
package com.ecell.internationalize.app.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ChangePasswordDto {
/**
* 邮箱
*/
@ApiModelProperty(example = "邮箱账号")
private String email;
/**
* 旧密码
*/
@ApiModelProperty(example = "旧密码")
private String OldPassword;
/**
* 密码
*/
@ApiModelProperty(example = "新密码")
private String password;
/**
* APP信息相关
*/
@ApiModelProperty(hidden = true)
private String userAgent;
}

5
ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages.properties

@ -18,5 +18,6 @@ messages.imei.isNull=\u6B64imei\u5728\u540E\u53F0\u7CFB\u7EDF\u4E2D\u4E0D\u5B58\
messages.imei.notAudit=\u6B64imei\u5728\u540E\u53F0\u7CFB\u7EDF\u4E2D\u672A\u901A\u8FC7\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458 messages.imei.notAudit=\u6B64imei\u5728\u540E\u53F0\u7CFB\u7EDF\u4E2D\u672A\u901A\u8FC7\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
messages.maximum.limit.exceeded=\u60A8\u5DF2\u7ECF\u6DFB\u52A0\u7533\u8BF7\u4E866\u4E2A\u8BBE\u5907\u4E0D\u80FD\u5728\u6DFB\u52A0\u5176\u5B83\u8BBE\u5907 messages.maximum.limit.exceeded=\u60A8\u5DF2\u7ECF\u6DFB\u52A0\u7533\u8BF7\u4E866\u4E2A\u8BBE\u5907\u4E0D\u80FD\u5728\u6DFB\u52A0\u5176\u5B83\u8BBE\u5907
messages.device.phone=\u8BBE\u5907\u624B\u673A\u53F7\u4E0D\u80FD\u4E3A\u7A7A messages.device.phone=\u8BBE\u5907\u624B\u673A\u53F7\u4E0D\u80FD\u4E3A\u7A7A
messages.bad.request=不被允许的操作 messages.bad.request=\u4E0D\u88AB\u5141\u8BB8\u7684\u64CD\u4F5C
messages.user.hasLogin=您的账号已在其他设备登录 messages.user.hasLogin=\u60A8\u7684\u8D26\u53F7\u5DF2\u5728\u5176\u4ED6\u8BBE\u5907\u767B\u5F55
messages.password.error=\u65E7\u5BC6\u7801\u9519\u8BEF

1
ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_ru.properties

@ -79,3 +79,4 @@ messages.title=\u0418\u043D\u0442\u0435\u0440\u043D\u0430\u0446\u0438\u043E\u043
messages.apply.device.model.error=Unable to find the device model, unable to follow messages.apply.device.model.error=Unable to find the device model, unable to follow
messages.whether.apply.error=The device application requires administrator review messages.whether.apply.error=The device application requires administrator review
messages.apply.bind.error=This device has already been bound, cannot be bound again messages.apply.bind.error=This device has already been bound, cannot be bound again
messages.password.error=Old password incorrect

1
ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_zh_CN.properties

@ -80,3 +80,4 @@ messages.apply.device.model.error=\u6CA1\u6709\u627E\u5230\u8BE5\u8BBE\u5907\u6A
messages.whether.apply.error=\u8BE5\u8BBE\u5907\u7533\u8BF7\u9700\u8981\u7BA1\u7406\u5458\u5BA1\u6838 messages.whether.apply.error=\u8BE5\u8BBE\u5907\u7533\u8BF7\u9700\u8981\u7BA1\u7406\u5458\u5BA1\u6838
messages.apply.bind.error=\u5DF2\u7ECF\u7ED1\u5B9A\u8FC7\u8BE5\u8BBE\u5907,\u4E0D\u80FD\u91CD\u590D\u7ED1\u5B9A messages.apply.bind.error=\u5DF2\u7ECF\u7ED1\u5B9A\u8FC7\u8BE5\u8BBE\u5907,\u4E0D\u80FD\u91CD\u590D\u7ED1\u5B9A
messages.ios.automaticApproval=\u7528\u6237\uFF08%s\uFF09\u52A0\u5165\u7FA4\u7EC4 messages.ios.automaticApproval=\u7528\u6237\uFF08%s\uFF09\u52A0\u5165\u7FA4\u7EC4
messages.password.error=\u65E7\u5BC6\u7801\u9519\u8BEF

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java

@ -221,6 +221,8 @@ public class FieldConstant {
public static final String EMAIL_REGISTER_EXIT="messages.email.register.exit"; public static final String EMAIL_REGISTER_EXIT="messages.email.register.exit";
/** 登录用户不存在*/ /** 登录用户不存在*/
public static final String EMAIL_LOGIN_EXIT="messages.login.not.exit"; public static final String EMAIL_LOGIN_EXIT="messages.login.not.exit";
/** 旧密码有误*/
public static final String OLD_PASSWORD_ERROR="messages.password.error";
/** 用户已被停用*/ /** 用户已被停用*/
public static final String EMAIL_STOP="messages.email.stop"; public static final String EMAIL_STOP="messages.email.stop";
/** 用户密码错误*/ /** 用户密码错误*/

3
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/FactoryLogInfoServiceImpl.java

@ -10,6 +10,7 @@ import com.ecell.internationalize.system.entity.FactoryLogInfo;
import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO; import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO;
import com.ecell.internationalize.system.mapper.FactoryLogInfoMapper; import com.ecell.internationalize.system.mapper.FactoryLogInfoMapper;
import com.ecell.internationalize.system.service.FactoryLogInfoService; import com.ecell.internationalize.system.service.FactoryLogInfoService;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -53,7 +54,7 @@ public class FactoryLogInfoServiceImpl extends ServiceImpl<FactoryLogInfoMapper,
} }
@Async("threadPoolTaskExecutor") @Async
public void saveDelImeiLog(FactoryLogInfo info) { public void saveDelImeiLog(FactoryLogInfo info) {
save(info); save(info);

Loading…
Cancel
Save