From 0ae35d0397349099ef79a2f8835d177cad3b719a Mon Sep 17 00:00:00 2001 From: zainali5120 <512061637@qq.com> Date: Tue, 03 Nov 2020 21:49:19 +0800 Subject: [PATCH] 绑定邮箱或者手机号时需要已由账号的验证码 --- src/main/java/com/xcong/excoin/common/system/service/impl/CommonServiceImpl.java | 3 +++ src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java | 4 ++++ src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 13 ++++++++++++- src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindPhoneDto.java | 8 ++++++-- 4 files changed, 25 insertions(+), 3 deletions(-) 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 265b41a..5e44ac6 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 @@ -25,6 +25,9 @@ @Override public boolean verifyCode(String account, String code) { + if(StrUtil.isBlank(code)){ + return false; + } String cacheCode = redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account); if (StrUtil.isBlank(cacheCode)) { return false; 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 1a8f2cc..70da0ba 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 @@ -13,6 +13,10 @@ @NotNull(message = "验证码不能为空") @ApiModelProperty(value = "验证码", example = "123456") private String code; + + @NotNull(message = "手机验证码验证码不能为空") + @ApiModelProperty(value = "手机验证码验证码", example = "123456") + private String otherCode; @NotNull(message = "邮箱不能为空") @ApiModelProperty(value = "邮箱", example = "www.13412341234@134.com") 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 f7d6afc..6faddc9 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 @@ -10,9 +10,13 @@ @ApiModel(value = "MemberBindPhoneDto", description = "绑定手机号参数接收类") public class MemberBindPhoneDto { - @NotNull(message = "验证码不能为空") - @ApiModelProperty(value = "验证码", example = "123456") + @NotNull(message = "手机验证码不能为空") + @ApiModelProperty(value = "手机验证码", example = "123456") private String code; + + @NotNull(message = "邮箱验证码不能为空") + @ApiModelProperty(value = "邮箱验证码", example = "123456") + private String otherCode; @NotNull(message = "电话号码不能为空") @ApiModelProperty(value = "电话号码", example = "13412341234") 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 7e350ff..7e989d3 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 @@ -600,7 +600,11 @@ if (ObjectUtil.isNotEmpty(member)) { if (!commonservice.verifyCode(phone, code)) { - return Result.fail(MessageSourceUtils.getString("member_service_0013")); + 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); @@ -628,6 +632,13 @@ MemberEntity member = memberDao.selectById(memberId); boolean flag = commonservice.verifyCode(email, code); + boolean flag2 = commonservice.verifyCode(member.getPhone(), memberBindEmailDto.getOtherCode()); + if(!flag){ + return Result.ok("邮箱"+MessageSourceUtils.getString("member_service_0018")); + } + if(!flag2){ + return Result.ok("手机"+MessageSourceUtils.getString("member_service_0018")); + } if (ObjectUtil.isNotEmpty(member)) { if (flag) { Map<String, Object> columnMap = new HashMap<>(); -- Gitblit v1.9.1