From f50a44247369c38e404ad962d341b2d66852a53c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 24 Nov 2020 11:52:39 +0800
Subject: [PATCH] 20201124
---
src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberSubmitCoinApplyDto.java | 12 ++--
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 92 ++++++++++++++++++++----------
src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java | 4
src/main/java/com/xcong/excoin/common/system/dto/OutCenterRegisterDto.java | 7 ++
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 22 ++++++-
src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdOutcenterDto.java | 24 ++++++++
src/main/java/com/xcong/excoin/modules/member/service/MemberService.java | 7 +
7 files changed, 124 insertions(+), 44 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/system/dto/OutCenterRegisterDto.java b/src/main/java/com/xcong/excoin/common/system/dto/OutCenterRegisterDto.java
index a768ea2..4b51ea3 100644
--- a/src/main/java/com/xcong/excoin/common/system/dto/OutCenterRegisterDto.java
+++ b/src/main/java/com/xcong/excoin/common/system/dto/OutCenterRegisterDto.java
@@ -1,5 +1,7 @@
package com.xcong.excoin.common.system.dto;
+import javax.validation.constraints.NotNull;
+
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -10,10 +12,15 @@
@ApiModelProperty(value = "推荐人Uid", example = "rxadr3")
private String refererId;
+
+ @NotNull(message = "资金交易密码不能为空")
@ApiModelProperty(value = "资金交易密码", example = "1qazwsx")
private String password;
+
+
@ApiModelProperty(value = "钱包名称", example = "qwer")
private String walletName;
+
@ApiModelProperty(value = "终端ID", example = "21220sdsf")
private String terminalId;
diff --git a/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java b/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java
index 5ed6bcb..832e456 100644
--- a/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java
+++ b/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java
@@ -55,9 +55,9 @@
String redisKey = "";
// 根据user-agent判断pc端还是app端
if (LoginUserUtils.isBrowser(request)) {
- redisKey = token;
+ redisKey = AppContants.APP_LOGIN_PREFIX + token;;
} else {
- redisKey = token;
+ redisKey = AppContants.APP_LOGIN_PREFIX + token;;
}
String loginStr = (String) redisUtils.get(redisKey);
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 d5b3381..c39e248 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
@@ -20,6 +20,7 @@
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberTradersPwdOutcenterDto;
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.dto.MemberUpdateTradersPwdTimeDto;
@@ -117,6 +118,19 @@
}
/**
+ * 获取对应的助记词
+ * @return
+ */
+ @ApiOperation(value="获取对应的助记词", notes="获取对应的助记词")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "address", value = "地址", required = true, dataType = "String", paramType="query"),
+ })
+ @GetMapping(value = "/getMnemonicWordList")
+ public Result getMnemonicWordList(String address) {
+ return memberService.getMnemonicWordList(address);
+ }
+
+ /**
* 修改密码
* @return
*/
@@ -165,8 +179,8 @@
*/
@ApiOperation(value="修改资金密码", notes="修改资金密码")
@PostMapping(value="/memberUpdateTradePwd")
- public Result memberUpdateTradePwd(@RequestBody @Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) {
- return memberService.memberUpdateTradePwd(memberUpdateTradePwdDto);
+ public Result memberUpdateTradePwd(@RequestBody @Valid MemberTradersPwdOutcenterDto memberTradersPwdOutcenterDto) {
+ return memberService.memberUpdateTradePwd(memberTradersPwdOutcenterDto);
}
/**
@@ -188,8 +202,8 @@
*/
@ApiOperation(value="设置交易密码", notes="设置交易密码")
@PostMapping(value="/memberTradersPwd")
- public Result memberTradersPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) {
- return memberService.memberTradersPwd(memberForgetPwdDto);
+ public Result memberTradersPwd(@RequestBody @Valid MemberTradersPwdOutcenterDto memberTradersPwdOutcenterDto) {
+ return memberService.memberTradersPwd(memberTradersPwdOutcenterDto);
}
/**
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberSubmitCoinApplyDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberSubmitCoinApplyDto.java
index 5d4fa7b..b5ec250 100644
--- a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberSubmitCoinApplyDto.java
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberSubmitCoinApplyDto.java
@@ -28,13 +28,13 @@
@ApiModelProperty(value = "交易密码", example = "123456")
private String tradePassword;
- @NotNull(message = "验证码不能为空")
- @ApiModelProperty(value = "验证码", example = "123456")
- private String code;
+// @NotNull(message = "验证码不能为空")
+// @ApiModelProperty(value = "验证码", example = "123456")
+// private String code;
- @NotNull(message = "验证方式不能为空")
- @ApiModelProperty(value = "验证方式", example = "13412341234")
- private String account;
+// @NotNull(message = "验证方式不能为空")
+// @ApiModelProperty(value = "验证方式", example = "13412341234")
+// private String account;
@NotNull(message = "币种不能为空")
@ApiModelProperty(value = "币种", example = "BTC")
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdOutcenterDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdOutcenterDto.java
new file mode 100644
index 0000000..503bf6d
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdOutcenterDto.java
@@ -0,0 +1,24 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import java.util.List;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberTradersPwdOutcenterDto", description = "忘记密码参数接收类")
+public class MemberTradersPwdOutcenterDto {
+
+ @NotNull(message = "新密码不能为空")
+ @ApiModelProperty(value = "新密码", example = "qq123456")
+ private String password;
+
+ @ApiModelProperty(value = "助记词 ", example = "13412341234")
+ @NotBlank(message = "助记词不能为空")
+ private List<String> mnemonicWordList;
+
+}
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 2b01e95..4f62d6a 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
@@ -17,6 +17,7 @@
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberTradersPwdOutcenterDto;
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.dto.MemberUpdateTradersPwdTimeDto;
@@ -40,11 +41,11 @@
public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto);
- public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto);
+ public Result memberUpdateTradePwd(@Valid MemberTradersPwdOutcenterDto memberTradersPwdOutcenterDto);
public Result memberLogout();
- public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto);
+ public Result memberTradersPwd(@Valid MemberTradersPwdOutcenterDto memberTradersPwdOutcenterDto);
public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto);
@@ -96,6 +97,8 @@
public Result recovery(WtWalletDto wtWalletDto);
+ public Result getMnemonicWordList(String address);
+
}
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 39564d2..4bd0f33 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
@@ -40,6 +40,7 @@
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberTradersPwdOutcenterDto;
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.dto.MemberUpdateTradersPwdTimeDto;
@@ -451,27 +452,27 @@
@Override
@Transactional
- public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) {
+ public Result memberUpdateTradePwd(@Valid MemberTradersPwdOutcenterDto memberTradersPwdOutcenterDto) {
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity memberEntity = memberDao.selectById(memberId);
- String code = memberUpdateTradePwdDto.getCode();
- String password = memberUpdateTradePwdDto.getPassword();
- String account = memberUpdateTradePwdDto.getAccount();
- String phone = memberEntity.getPhone();
- String email = memberEntity.getEmail();
- int type = memberUpdateTradePwdDto.getType();
-
- //验证手机号或者邮箱是否是该账户绑定的手机号或者邮箱
- if (MemberEntity.ACCOUNT_TYPE_PHONE.equals(type) && !phone.equals(account)) {
- return Result.fail(MessageSourceUtils.getString("member_service_0041"));
+ String password = memberTradersPwdOutcenterDto.getPassword();
+ List<String> mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
+ /**
+ * 判断钱包是否存在
+ */
+ if(CollectionUtils.isEmpty(mnemonicWordList)){
+ return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
}
- if (MemberEntity.ACCOUNT_TYPE_EMAIL.equals(type) && !email.equals(account)) {
- return Result.fail(MessageSourceUtils.getString("member_service_0041"));
+ String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
+ WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
+ if(wtWallet==null){
+ return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
}
- boolean flag = commonservice.verifyCode(account, code);
+
+ boolean flag = true;
if (flag) {
memberEntity.setTradePassword(SecureUtil.md5(password));
memberDao.updateById(memberEntity);
@@ -499,17 +500,27 @@
@Override
@Transactional
- public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
+ public Result memberTradersPwd(@Valid MemberTradersPwdOutcenterDto memberTradersPwdOutcenterDto) {
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity memberEntity = memberDao.selectById(memberId);
- String code = memberForgetPwdDto.getCode();
- String password = memberForgetPwdDto.getPassword();
- String account = memberForgetPwdDto.getAccount();
- int type = memberForgetPwdDto.getType();
+ String password = memberTradersPwdOutcenterDto.getPassword();
+ List<String> mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
+ /**
+ * 判断钱包是否存在
+ */
+ if(CollectionUtils.isEmpty(mnemonicWordList)){
+ return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
+ }
+ String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
+ WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
+ if(wtWallet==null){
+ return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
+ }
- boolean flag = commonservice.verifyCode(account, code);
+ boolean flag = true;
+// boolean flag = commonservice.verifyCode(account, code);
if (flag) {
memberEntity.setTradePassword(SecureUtil.md5(password));
memberDao.updateById(memberEntity);
@@ -928,16 +939,19 @@
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity member = memberDao.selectById(memberId);
String golden_limit_transfer = redisUtils.getString("GOLDEN_LIMIT_TRANSFER");
- // 判断是否限制
- if(StringUtils.isNotBlank(member.getPhone()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getPhone())){
- return Result.fail("此账号有财务问题,需联系客服");
+ // 判断是否限制[邀请码限制条件]
+ if(StringUtils.isNotBlank(member.getInviteId()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getInviteId())){
+ return Result.fail("此账号有财务问题,需联系客服");
}
- if(StringUtils.isNotBlank(member.getEmail()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getEmail())){
- return Result.fail("此账号有财务问题,需联系客服");
- }
- if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) {
- return Result.fail(MessageSourceUtils.getString("member_service_0077"));
- }
+// if(StringUtils.isNotBlank(member.getPhone()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getPhone())){
+// return Result.fail("此账号有财务问题,需联系客服");
+// }
+// if(StringUtils.isNotBlank(member.getEmail()) &&StringUtils.isNotBlank(golden_limit_transfer) && golden_limit_transfer.contains(member.getEmail())){
+// return Result.fail("此账号有财务问题,需联系客服");
+// }
+// if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) {
+// return Result.fail(MessageSourceUtils.getString("member_service_0077"));
+// }
if (StrUtil.isEmpty(member.getTradePassword())) {
return Result.fail(MessageSourceUtils.getString("member_service_0081"));
}
@@ -948,7 +962,8 @@
return Result.fail(MessageSourceUtils.getString("member_service_0082"));
}
- boolean flag = commonservice.verifyCode(memberSubmitCoinApplyDto.getAccount(), memberSubmitCoinApplyDto.getCode());
+ boolean flag = true;
+// boolean flag = commonservice.verifyCode(memberSubmitCoinApplyDto.getAccount(), memberSubmitCoinApplyDto.getCode());
if (flag) {
MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyDto.getSymbol());
BigDecimal availableBalance = walletCoin.getAvailableBalance();
@@ -1376,6 +1391,23 @@
return Result.ok(loginVo);
}
+
+ @Override
+ public Result getMnemonicWordList(String address) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity memberEntity = memberDao.selectById(memberId);
+
+ WtWallet wtWallet = wtWalletDao.selectById(address);
+
+ String mnemonicWords = wtWallet.getMnemonicWords();
+ String[] split = mnemonicWords.split(",");
+ List<String> list = new ArrayList<>();
+ for(String s : split){
+ list.add(s);
+ }
+ return Result.ok(list);
+ }
}
--
Gitblit v1.9.1