From 8e59b50b2164392b06328f1215638a31238f1c9b Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 27 May 2020 19:13:09 +0800 Subject: [PATCH] 20200527 代码提交 --- src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java | 31 +++++++ src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 78 +++++++++++++++++++ src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 73 ++++++++++++++++++ src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java | 31 +++++++ src/main/java/com/xcong/excoin/modules/member/service/MemberService.java | 8 ++ 5 files changed, 219 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java index 5fc8ceb..fc2ee84 100644 --- a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java +++ b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java @@ -12,6 +12,8 @@ import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; +import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; +import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo; import com.xcong.excoin.modules.member.service.MemberService; @@ -55,9 +57,20 @@ * @return */ @ApiOperation(value=" 忘记密码", notes=" 忘记密码") - @RequestMapping(value="/memberForgetPwd") + @PostMapping(value="/memberForgetPwd") public Result memberForgetPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) { return memberService.memberForgetPwd(memberForgetPwdDto); + } + + /** + * 修改密码 + * @return + */ + @ApiOperation(value="修改密码", notes="修改密码") + @PostMapping(value="/memberUpdatePwd") + public Result memberUpdatePwd(@RequestBody @Valid MemberUpdatePwdDto memberUpdatePwdDto) { + //System.out.println("修改密码:"); + return memberService.memberUpdatePwd(memberUpdatePwdDto); } /** @@ -73,6 +86,64 @@ return memberService.memberAuthentication(memberAuthenticationDto); } + /** + * 修改资金密码 + * + * @param code 验证码 + * @param password 新密码 + * @param token 用户登录的token + * @return + */ + @ApiOperation(value="修改资金密码", notes="修改资金密码") + @PostMapping(value="/memberUpdateTradePwd") + public Result memberUpdateTradePwd(@RequestBody @Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) { + return memberService.memberUpdateTradePwd(memberUpdateTradePwdDto); + } + + /** + * 用户退出登录 + * @param token + * @return + */ + @ApiOperation(value="用户退出登录", notes="用户退出登录") + @GetMapping(value = "/memberLogout") + public Result memberLogout() { + return memberService.memberLogout(); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java new file mode 100644 index 0000000..0e2b96c --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java @@ -0,0 +1,31 @@ +package com.xcong.excoin.modules.member.parameter.dto; + +import javax.validation.constraints.NotNull; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberUpdatePwdDto", description = "修改密码参数接收类") +public class MemberUpdatePwdDto { + + @NotNull(message = "验证码不能为空") + @ApiModelProperty(value = "验证码", example = "123456") + private String code; + + @NotNull(message = "新密码不能为空") + @ApiModelProperty(value = "新密码", example = "qq123456") + private String password; + + @NotNull(message = "验证类型不能为空") + @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1") + private int type; + + @ApiModelProperty(value = "电话号码", example = "13412341234") + private String phone; + + @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com") + private String email; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java new file mode 100644 index 0000000..b40e1a2 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java @@ -0,0 +1,31 @@ +package com.xcong.excoin.modules.member.parameter.dto; + +import javax.validation.constraints.NotNull; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberUpdateTradePwdDto", description = "修改资金密码参数接收类") +public class MemberUpdateTradePwdDto { + + @NotNull(message = "验证码不能为空") + @ApiModelProperty(value = "验证码", example = "123456") + private String code; + + @NotNull(message = "新密码不能为空") + @ApiModelProperty(value = "新密码", example = "qq123456") + private String password; + + @NotNull(message = "验证类型不能为空") + @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1") + private int type; + + @ApiModelProperty(value = "电话号码", example = "13412341234") + private String phone; + + @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com") + private String email; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java index 0a70c84..f222c10 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java @@ -8,6 +8,8 @@ import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; +import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; +import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; /** * @author wzy @@ -22,4 +24,10 @@ public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto); + public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto); + + public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto); + + public Result memberLogout(); + } diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index af6f9ec..2753794 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; -import cn.hutool.crypto.digest.MD5; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; @@ -17,6 +16,8 @@ import com.xcong.excoin.modules.member.entity.*; import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; +import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; +import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo; import com.xcong.excoin.modules.member.service.MemberService; import com.xcong.excoin.utils.MessageSourceUtils; @@ -172,6 +173,7 @@ } @Override + @Transactional public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) { int type = memberForgetPwdDto.getType(); @@ -204,6 +206,33 @@ redisUtils.del("EMAIL_" + email); } return Result.ok(MessageSourceUtils.getString("member_service_0048")); + } + + @Override + @Transactional + public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + + String code = memberUpdatePwdDto.getCode(); + String password = memberUpdatePwdDto.getPassword(); + String phone = memberUpdatePwdDto.getPhone(); + String email = memberUpdatePwdDto.getEmail(); + int type = memberUpdatePwdDto.getType(); + boolean verificationCode = verificationCode(type, phone, code, email); + if(verificationCode) { + memberEntity.setPassword(SecureUtil.md5(password)); + memberDao.updateById(memberEntity); + }else { + return Result.fail(MessageSourceUtils.getString("member_service_0041")); + } + if(type == 1) { + redisUtils.del("SMS_" + phone); + }else { + redisUtils.del("EMAIL_" + email); + } + return Result.ok(MessageSourceUtils.getString("member_service_0040")); } /** @@ -298,4 +327,51 @@ return Result.fail(MessageSourceUtils.getString("member_service_0063")); } + @Override + public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + + String code = memberUpdateTradePwdDto.getCode(); + String password = memberUpdateTradePwdDto.getPassword(); + String phone = memberUpdateTradePwdDto.getPhone(); + String email = memberUpdateTradePwdDto.getEmail(); + int type = memberUpdateTradePwdDto.getType(); + boolean verificationCode = verificationCode(type, phone, code, email); + if(verificationCode) { + memberEntity.setTradePassword(SecureUtil.md5(password)); + memberDao.updateById(memberEntity); + }else { + return Result.fail(MessageSourceUtils.getString("member_service_0041")); + } + if(type == 1) { + redisUtils.del("SMS_" + phone); + }else { + redisUtils.del("EMAIL_" + email); + } + return Result.ok(MessageSourceUtils.getString("member_service_0051")); + } + + @Override + public Result memberLogout() { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + if (ObjectUtil.isEmpty(memberEntity)) { + return Result.fail(MessageSourceUtils.getString("member_service_0003")); + } + + String phone = memberEntity.getPhone(); + if(StrUtil.isEmpty(phone)) { + redisUtils.del(memberEntity.getPhone()); + } + String email = memberEntity.getEmail(); + if(StrUtil.isEmpty(email)) { + redisUtils.del(memberEntity.getPhone()); + } + + return Result.ok(MessageSourceUtils.getString("member_service_0071")); + } + } -- Gitblit v1.9.1