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. 3
      ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_ru.properties
  5. 3
      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; @@ -3,10 +3,7 @@ package com.ecell.internationalize.app.controller;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ecell.internationalize.app.entity.UserVo;
import com.ecell.internationalize.app.entity.dto.DeviceUnbindDto;
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.entity.dto.*;
import com.ecell.internationalize.app.service.BindingDevice;
import com.ecell.internationalize.app.service.UserDeviceBindService;
import com.ecell.internationalize.app.service.UserService;
@ -15,6 +12,7 @@ import com.ecell.internationalize.app.util.I18nUtil; @@ -15,6 +12,7 @@ import com.ecell.internationalize.app.util.I18nUtil;
import com.ecell.internationalize.app.util.UserAgentUtil;
import com.ecell.internationalize.common.core.context.SecurityContextHolder;
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.mqtt.dto.AccountMessage;
import com.ecell.internationalize.common.issue.mqtt.dto.AccountMessageChild;
@ -238,6 +236,49 @@ public class UserController { @@ -238,6 +236,49 @@ public class UserController {
userService.updateById(user);
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 @@ @@ -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\ @@ -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.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.bad.request=不被允许的操作
messages.user.hasLogin=您的账号已在其他设备登录
messages.bad.request=\u4E0D\u88AB\u5141\u8BB8\u7684\u64CD\u4F5C
messages.user.hasLogin=\u60A8\u7684\u8D26\u53F7\u5DF2\u5728\u5176\u4ED6\u8BBE\u5907\u767B\u5F55
messages.password.error=\u65E7\u5BC6\u7801\u9519\u8BEF

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

@ -78,4 +78,5 @@ message.chant.video=\u041D\u0435\u0431\u043E\u043B\u044C\u0448\u043E\u0439 \u044 @@ -78,4 +78,5 @@ message.chant.video=\u041D\u0435\u0431\u043E\u043B\u044C\u0448\u043E\u0439 \u044
messages.title=\u0418\u043D\u0442\u0435\u0440\u043D\u0430\u0446\u0438\u043E\u043D\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043A\u0438\u0442\u0430\u0439\u0441\u043A\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430
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.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

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

@ -79,4 +79,5 @@ phone.has.exit=\u624B\u673A\u53F7\u5DF2\u88AB\u4F7F\u7528,\u8BF7\u91CD\u65B0\u8F @@ -79,4 +79,5 @@ phone.has.exit=\u624B\u673A\u53F7\u5DF2\u88AB\u4F7F\u7528,\u8BF7\u91CD\u65B0\u8F
messages.apply.device.model.error=\u6CA1\u6709\u627E\u5230\u8BE5\u8BBE\u5907\u6A21\u578B\uFF0C\u4E0D\u80FD\u5173\u6CE8
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.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 { @@ -221,6 +221,8 @@ public class FieldConstant {
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 OLD_PASSWORD_ERROR="messages.password.error";
/** 用户已被停用*/
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; @@ -10,6 +10,7 @@ import com.ecell.internationalize.system.entity.FactoryLogInfo;
import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO;
import com.ecell.internationalize.system.mapper.FactoryLogInfoMapper;
import com.ecell.internationalize.system.service.FactoryLogInfoService;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@ -53,7 +54,7 @@ public class FactoryLogInfoServiceImpl extends ServiceImpl<FactoryLogInfoMapper, @@ -53,7 +54,7 @@ public class FactoryLogInfoServiceImpl extends ServiceImpl<FactoryLogInfoMapper,
}
@Async("threadPoolTaskExecutor")
@Async
public void saveDelImeiLog(FactoryLogInfo info) {
save(info);

Loading…
Cancel
Save