From 58bfbdd031c7c21e0767bbe4cead8b676d9a2e26 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 07 Dec 2020 10:34:20 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 127 ++++++++++++++++++++++++++++--------------
1 files changed, 84 insertions(+), 43 deletions(-)
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 4bd0f33..92b921e 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
@@ -42,7 +42,6 @@
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;
import com.xcong.excoin.modules.member.parameter.vo.*;
import com.xcong.excoin.modules.member.service.MemberService;
@@ -275,17 +274,15 @@
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity memberEntity = memberDao.selectById(memberId);
MemberInfoVo memberInfoVo = new MemberInfoVo();
+
if (ObjectUtil.isNotEmpty(memberEntity)) {
- String email = memberEntity.getEmail();
- String phone = memberEntity.getPhone();
- if (StrUtil.isNotEmpty(phone)) {
- memberInfoVo.setPhone(phone);
- } else if (StrUtil.isNotEmpty(email)) {
- memberInfoVo.setPhone(email);
- }
-
+ String address = memberEntity.getAddress();
+ WtWallet wtWallet = wtWalletDao.selectSimpleById(address);
+ String walletName = wtWallet.getWalletName();
+ memberInfoVo.setWalletName(walletName);
memberInfoVo.setInviteId(memberEntity.getInviteId());
}
+
return Result.ok(memberInfoVo);
}
@@ -458,15 +455,14 @@
MemberEntity memberEntity = memberDao.selectById(memberId);
String password = memberTradersPwdOutcenterDto.getPassword();
- List<String> mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
+ String mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
/**
* 判断钱包是否存在
*/
- if(CollectionUtils.isEmpty(mnemonicWordList)){
+ if(StringUtils.isEmpty(mnemonicWordList)){
return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
}
- String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
- WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
+ WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWordList);
if(wtWallet==null){
return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
}
@@ -476,6 +472,8 @@
if (flag) {
memberEntity.setTradePassword(SecureUtil.md5(password));
memberDao.updateById(memberEntity);
+ wtWallet.setPassword(SecureUtil.md5(password));
+ wtWalletDao.updateByModel(wtWallet);
LoginUserUtils.resetAppLoginUser(memberEntity);
return Result.ok(MessageSourceUtils.getString("member_service_0051"));
}
@@ -493,7 +491,7 @@
return Result.fail(MessageSourceUtils.getString("member_service_0003"));
}
String token = LoginUserUtils.getAppLoginUserToken();
- redisUtils.del(AppContants.APP_LOGIN_PREFIX + token);
+ redisUtils.del(token);
SecurityContextHolder.clearContext();
return Result.ok(MessageSourceUtils.getString("member_service_0071"));
}
@@ -506,15 +504,14 @@
MemberEntity memberEntity = memberDao.selectById(memberId);
String password = memberTradersPwdOutcenterDto.getPassword();
- List<String> mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
+ String mnemonicWordList = memberTradersPwdOutcenterDto.getMnemonicWordList();
/**
* 判断钱包是否存在
*/
- if(CollectionUtils.isEmpty(mnemonicWordList)){
+ if(StringUtils.isEmpty(mnemonicWordList)){
return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
}
- String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
- WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
+ WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWordList);
if(wtWallet==null){
return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
}
@@ -933,6 +930,7 @@
return Result.ok("success");
}
+ @Transactional
@Override
public Result memberSubmitCoinApply(@Valid MemberSubmitCoinApplyDto memberSubmitCoinApplyDto) {
//获取用户ID
@@ -1182,26 +1180,44 @@
String inviteId = ShareCodeUtil.toSerialCode(member.getId());
member.setInviteId(inviteId);
-
-// boolean flag = false;
-// String parentId = member.getRefererId();
-// String ids = "";
-// while (!flag && StringUtils.isNotBlank(parentId)) {
-// ids += ("," + parentId);
-// MemberEntity parentMember = memberDao.selectMemberInfoByInviteId(parentId);
-// if (parentMember == null) {
-// break;
-// }
-// parentId = parentMember.getRefererId();
-// if(StringUtils.isBlank(parentId)){
-// break;
-// }
-// if (parentMember.getRefererId().equals(parentMember.getInviteId())) {
-// flag = true;
-// }
-// }
-// member.setRefererIds(ids);
+
+ String refererId = outCenterRegisterDto.getRefererId();
+ if(StrUtil.isNotEmpty(refererId)) {
+ MemberEntity selectMemberInfoByInviteId = memberDao.selectMemberInfoByInviteId(refererId);
+ if(ObjectUtil.isNotEmpty(selectMemberInfoByInviteId)) {
+ boolean flag = false;
+ String parentId = member.getRefererId();
+ String ids = "";
+ while (!flag && StringUtils.isNotBlank(parentId)) {
+ ids += ("," + parentId);
+ MemberEntity parentMember = memberDao.selectMemberInfoByInviteId(parentId);
+ if (parentMember == null) {
+ break;
+ }
+ parentId = parentMember.getRefererId();
+ if(StringUtils.isBlank(parentId)){
+ break;
+ }
+ if (parentMember.getRefererId().equals(parentMember.getInviteId())) {
+ flag = true;
+ }
+ }
+ member.setRefererIds(ids);
+ }
+ }
+
memberDao.updateById(member);
+
+ // 插入ser地址
+ MemberCoinAddressEntity coinAddress = new MemberCoinAddressEntity();
+ coinAddress.setAddress(address);
+ coinAddress.setIsBiyict(MemberCoinAddressEntity.IS_BIYICT_YES);
+ coinAddress.setMemberId(member.getId());
+ coinAddress.setPrivateKey(privateKey);
+ coinAddress.setSymbol(SymbolEnum.SER.name());
+ coinAddress.setLabel(member.getInviteId());
+ memberCoinAddressDao.insert(coinAddress);
+
//初始化合约钱包
MemberWalletContractEntity walletContract = new MemberWalletContractEntity();
@@ -1289,14 +1305,22 @@
/**
* 判断钱包是否存在
*/
- List<String> mnemonicWordList = wtWalletDto.getMnemonicWordList();
- if(CollectionUtils.isEmpty(mnemonicWordList)){
+ String mnemonicWordList = wtWalletDto.getMnemonicWordList();
+ if(StringUtils.isEmpty(mnemonicWordList)){
return Result.fail(MessageSourceUtils.getString("login_recovery_001"));
}
- String mnemonicWords = ToolUtil.listToString(mnemonicWordList, ",");
- WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWords);
+ WtWallet wtWallet = wtWalletDao.selectByMnemonicWords(mnemonicWordList);
if(wtWallet==null){
return Result.fail(MessageSourceUtils.getString("login_recovery_002"));
+ }
+ /**
+ * 资金密码验证
+ */
+ String pssword = wtWalletDto.getPassword();
+ String passwordToMD5 = MD5Util.strToMD5(pssword);
+ String passwordWallet = wtWallet.getPassword();
+ if(!passwordToMD5.equals(passwordWallet)) {
+ return Result.fail(MessageSourceUtils.getString("login_recovery_004"));
}
/**
@@ -1308,6 +1332,7 @@
loginVo.setAddressMd(strToMD5);
Wrapper<MemberEntity> queryWrapperOrepool = new QueryWrapper<>();
((QueryWrapper<MemberEntity>) queryWrapperOrepool).eq("address", address);
+ ((QueryWrapper<MemberEntity>) queryWrapperOrepool).eq("trade_password", passwordToMD5);
MemberEntity memberEntity = memberDao.selectOne(queryWrapperOrepool);
if(ObjectUtil.isEmpty(memberEntity)) {
log.info("用户初始化");
@@ -1393,11 +1418,11 @@
}
@Override
- public Result getMnemonicWordList(String address) {
+ public Result getMnemonicWordList() {
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity memberEntity = memberDao.selectById(memberId);
-
+ String address = memberEntity.getAddress();
WtWallet wtWallet = wtWalletDao.selectById(address);
String mnemonicWords = wtWallet.getMnemonicWords();
@@ -1408,6 +1433,22 @@
}
return Result.ok(list);
}
+
+ @Override
+ public Result getMemberTradeCode(String tradeCode) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity memberEntity = memberDao.selectById(memberId);
+ String tradePassword = memberEntity.getTradePassword();
+ if(StrUtil.isEmpty(tradePassword)) {
+ return Result.fail(MessageSourceUtils.getString("member_controller_0002"));
+ }
+ if(!SecureUtil.md5(tradeCode).equals(tradePassword)) {
+ return Result.fail(MessageSourceUtils.getString("member_controller_0004"));
+ }
+
+ return Result.ok("");
+ }
}
--
Gitblit v1.9.1