From 3e559a23137c7c992add11029b53a578d867b4d3 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 04 Nov 2020 11:39:33 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/common/system/service/impl/CommonServiceImpl.java | 20 ++++++++++ src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java | 7 ++- src/main/java/com/xcong/excoin/common/system/service/CommonService.java | 2 + src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 22 +++++----- src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindPhoneDto.java | 7 ++- src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 3 + src/main/java/com/xcong/excoin/common/system/controller/CommonController.java | 2 src/main/resources/application.yml | 2 8 files changed, 45 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java index 61639f7..723bd6b 100644 --- a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java +++ b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java @@ -64,7 +64,7 @@ boolean result = Sms106Send.sendVerifyCode(account, code.toString(), 2); if (result) { Map<String, Object> map = new HashMap<>(); - boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120); + boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 600); map.put("code", flag); return Result.ok(MessageSourceUtils.getString("member_service_0010"), map); } diff --git a/src/main/java/com/xcong/excoin/common/system/service/CommonService.java b/src/main/java/com/xcong/excoin/common/system/service/CommonService.java index 444fc77..0450a3f 100644 --- a/src/main/java/com/xcong/excoin/common/system/service/CommonService.java +++ b/src/main/java/com/xcong/excoin/common/system/service/CommonService.java @@ -8,5 +8,7 @@ public boolean verifyCode(String account, String code); + boolean mutiVerifyCode(String email, String emailCode, String phone, String phoneCode); + public String generateOrderNo(Long mid); } diff --git a/src/main/java/com/xcong/excoin/common/system/service/impl/CommonServiceImpl.java b/src/main/java/com/xcong/excoin/common/system/service/impl/CommonServiceImpl.java index 5e44ac6..3530375 100644 --- a/src/main/java/com/xcong/excoin/common/system/service/impl/CommonServiceImpl.java +++ b/src/main/java/com/xcong/excoin/common/system/service/impl/CommonServiceImpl.java @@ -41,6 +41,26 @@ } @Override + public boolean mutiVerifyCode(String email, String emailCode, String phone, String phoneCode) { + if (StrUtil.isBlank(emailCode) || StrUtil.isBlank(phoneCode)) { + return false; + } + + String cacheEmailCode = redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + email); + String cachePhoneCode = redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + phone); + if (StrUtil.isBlank(cacheEmailCode) || StrUtil.isBlank(cachePhoneCode)) { + return false; + } + + if (emailCode.equals(cacheEmailCode) && phoneCode.equals(cachePhoneCode)) { + redisUtils.del(AppContants.VERIFY_CODE_PREFIX + email); + redisUtils.del(AppContants.VERIFY_CODE_PREFIX + phone); + return true; + } + return false; + } + + @Override public String generateOrderNo(Long mid) { StringBuilder orderNo = new StringBuilder(); String date = DateUtil.format(new Date(), "yyyyMMdd"); 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 c2a3f6e..d5b3381 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 @@ -3,6 +3,7 @@ import javax.annotation.Resource; import javax.validation.Valid; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -252,7 +253,7 @@ */ @ApiOperation(value="绑定邮箱", notes="绑定邮箱") @PostMapping(value="/memberBindEmail") - public Result memberBindEmail(@RequestBody @Valid MemberBindEmailDto memberBindEmailDto) { + public Result memberBindEmail(@RequestBody @Validated MemberBindEmailDto memberBindEmailDto) { return memberService.memberBindEmail(memberBindEmailDto); } diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java index 70da0ba..eb24244 100644 --- a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java @@ -1,5 +1,6 @@ package com.xcong.excoin.modules.member.parameter.dto; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import io.swagger.annotations.ApiModel; @@ -10,15 +11,15 @@ @ApiModel(value = "MemberBindEmailDto", description = "绑定邮箱参数接收类") public class MemberBindEmailDto { - @NotNull(message = "验证码不能为空") + @NotBlank(message = "验证码不能为空") @ApiModelProperty(value = "验证码", example = "123456") private String code; - @NotNull(message = "手机验证码验证码不能为空") + @NotBlank(message = "手机验证码验证码不能为空") @ApiModelProperty(value = "手机验证码验证码", example = "123456") private String otherCode; - @NotNull(message = "邮箱不能为空") + @NotBlank(message = "邮箱不能为空") @ApiModelProperty(value = "邮箱", example = "www.13412341234@134.com") private String email; diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindPhoneDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindPhoneDto.java index 6faddc9..0606c70 100644 --- a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindPhoneDto.java +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindPhoneDto.java @@ -1,5 +1,6 @@ package com.xcong.excoin.modules.member.parameter.dto; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import io.swagger.annotations.ApiModel; @@ -10,15 +11,15 @@ @ApiModel(value = "MemberBindPhoneDto", description = "绑定手机号参数接收类") public class MemberBindPhoneDto { - @NotNull(message = "手机验证码不能为空") + @NotBlank(message = "手机验证码不能为空") @ApiModelProperty(value = "手机验证码", example = "123456") private String code; - @NotNull(message = "邮箱验证码不能为空") + @NotBlank(message = "邮箱验证码不能为空") @ApiModelProperty(value = "邮箱验证码", example = "123456") private String otherCode; - @NotNull(message = "电话号码不能为空") + @NotBlank(message = "电话号码不能为空") @ApiModelProperty(value = "电话号码", example = "13412341234") private String phone; 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 7e989d3..a493a8a 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 @@ -599,13 +599,13 @@ MemberEntity member = memberDao.selectById(memberId); if (ObjectUtil.isNotEmpty(member)) { - if (!commonservice.verifyCode(phone, code)) { - return Result.fail("手机"+MessageSourceUtils.getString("member_service_0013")); + if (!commonservice.mutiVerifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode(), phone, code)) { + return Result.fail(MessageSourceUtils.getString("member_service_0013")); } // 验证邮箱验证码 - if (!commonservice.verifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode())) { - return Result.fail("邮箱"+MessageSourceUtils.getString("member_service_0013")); - } +// if (!commonservice.verifyCode(member.getEmail(), memberBindPhoneDto.getOtherCode())) { +// return Result.fail("邮箱"+MessageSourceUtils.getString("member_service_0013")); +// } Map<String, Object> columnMap = new HashMap<>(); columnMap.put("phone", phone); List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap); @@ -631,14 +631,14 @@ String code = memberBindEmailDto.getCode(); MemberEntity member = memberDao.selectById(memberId); - boolean flag = commonservice.verifyCode(email, code); - boolean flag2 = commonservice.verifyCode(member.getPhone(), memberBindEmailDto.getOtherCode()); + boolean flag = commonservice.mutiVerifyCode(email, code, member.getPhone(), memberBindEmailDto.getOtherCode()); +// boolean flag2 = commonservice.verifyCode(member.getPhone(), memberBindEmailDto.getOtherCode()); if(!flag){ - return Result.ok("邮箱"+MessageSourceUtils.getString("member_service_0018")); + return Result.fail(MessageSourceUtils.getString("member_service_0013")); } - if(!flag2){ - return Result.ok("手机"+MessageSourceUtils.getString("member_service_0018")); - } +// if(!flag2){ +// return Result.fail("手机"+MessageSourceUtils.getString("member_service_0013")); +// } if (ObjectUtil.isNotEmpty(member)) { if (flag) { Map<String, Object> columnMap = new HashMap<>(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4a0fe1f..0c57f69 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -5,7 +5,7 @@ spring: profiles: - active: dayline + active: dev datasource: url: jdbc:mysql://rm-bp1i2g5rg5dubo9s40o.mysql.rds.aliyuncs.com:3306/db_roc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8 username: roc_user -- Gitblit v1.9.1