From 8d053c03d0738efabc33183c1db20e05ced5cfb0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 25 Nov 2021 16:01:23 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 266 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 161 insertions(+), 105 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 cf2f185..01561d2 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
@@ -15,6 +15,8 @@
import com.xcong.excoin.common.system.service.CommonService;
import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.fish.dao.MemberAccountGoldDao;
+import com.xcong.excoin.modules.fish.entity.MemberAccountGold;
import com.xcong.excoin.modules.member.dao.*;
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto;
@@ -38,8 +40,10 @@
import com.xcong.excoin.utils.MessageSourceUtils;
import com.xcong.excoin.utils.RedisUtils;
import com.xcong.excoin.utils.ShareCodeUtil;
+import com.xcong.excoin.utils.ThreadPoolUtils;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -83,6 +87,9 @@
MemberAuthenticationDao memberAuthenticationDao;
@Resource
+ MemberAccountGoldDao memberAccountGoldDao;
+
+ @Resource
RedisUtils redisUtils;
@Resource
@@ -102,9 +109,11 @@
@Resource
MemberCoinWithdrawDao memberCoinWithdrawDao;
-
+
@Resource
AppVersionDao appVersionDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
@Resource
private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@@ -141,20 +150,24 @@
// }
if (!AppContants.SYSTEM_REFERER.equals(registerDto.getRefererId())) {
MemberEntity isExist = memberDao.selectMemberInfoByInviteId(registerDto.getRefererId());
- if (isExist == null) {
- return Result.fail("推荐人不存在");
+ if (isExist != null) {
+ member.setRefererId(registerDto.getRefererId());
}
}
-
- member.setRefererId(registerDto.getRefererId());
member.setAccountStatus(MemberEntity.ACCOUNT_STATUS_ENABLE);
- member.setAccountType(registerDto.getType());
+ member.setAccountType(MemberEntity.ACCOUNT_TYPE_NORMAL);
member.setAgentLevel(MemberEntity.ACCOUNT_AGENT_LEVEL);
member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
- member.setIsForce(0);
+ member.setIsForce(1);
member.setIsProfit(0);
- member.setSpread(BigDecimal.ZERO);
memberDao.insert(member);
+
+ MemberSettingEntity memberSettingEntity = new MemberSettingEntity();
+ memberSettingEntity.setSpread(BigDecimal.ONE);
+ memberSettingEntity.setClosingSpread(BigDecimal.valueOf(5));
+ memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0030));
+ memberSettingEntity.setMemberId(member.getId());
+ memberSettingDao.insert(memberSettingEntity);
String inviteId = ShareCodeUtil.toSerialCode(member.getId());
member.setInviteId(inviteId);
@@ -162,19 +175,29 @@
boolean flag = false;
String parentId = member.getRefererId();
String ids = "";
- while (!flag) {
+ 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);
+
+ MemberAccountGold memberAccountGoldNew = new MemberAccountGold();
+ memberAccountGoldNew.setMemberId(member.getId());
+ memberAccountGoldNew.setTotalBalance(BigDecimal.ZERO);
+ memberAccountGoldNew.setAvailableBalance(BigDecimal.ZERO);
+ memberAccountGoldNew.setFrozenBalance(BigDecimal.ZERO);
+ memberAccountGoldDao.insert(memberAccountGoldNew);
//初始化合约钱包
MemberWalletContractEntity walletContract = new MemberWalletContractEntity();
@@ -221,7 +244,8 @@
levelRate.setSymbol(symbolEnum.getValue());
memberLevelRateDao.insert(levelRate);
}
- return Result.ok("success");
+
+ return Result.ok(MessageSourceUtils.getString("home_service_0009"));
}
@Override
@@ -328,13 +352,13 @@
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity member = memberDao.selectById(memberId);
- if(MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) {
- return Result.fail(MessageSourceUtils.getString("member_service_4000"));
- }
+ if (MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) {
+ return Result.fail(MessageSourceUtils.getString("member_service_4000"));
+ }
if (ObjectUtil.isNotEmpty(member)) {
-
- MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
-
+
+ MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
+
if (MemberEntity.CERTIFY_STATUS_Y == member.getCertifyStatus()) {
return Result.fail(MessageSourceUtils.getString("member_service_0055"));
}
@@ -357,19 +381,24 @@
return Result.fail(MessageSourceUtils.getString("member_service_0059"));
}
memberAuthenticationEntity.setSecondName(memberAuthenticationDto.getSecondName());
-
+
String type = memberAuthenticationDto.getType();
memberAuthenticationEntity.setType(type);
-
+
String idCardNo = memberAuthenticationDto.getIdCardNo();
if (StrUtil.isBlank(idCardNo)) {
- return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0060"));
}
memberAuthenticationEntity.setIdcardNo(idCardNo);
//同一个身份证号码不能重复实名认证
int count = memberAuthenticationDao.findMemberbyIdCardNoCount(idCardNo);
if (count > 0) {
- return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+ }
+ // 同一个人只能认证一次
+ int authenByMemberId = memberAuthenticationDao.findAuthenByMemberId(memberId);
+ if (authenByMemberId > 0) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0055"));
}
if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront())
|| StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse())
@@ -379,28 +408,22 @@
memberAuthenticationEntity.setIdcardImageFront(memberAuthenticationDto.getIdCardFront());
memberAuthenticationEntity.setIdcardImageBack(memberAuthenticationDto.getIdCardReverse());
memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage());
-
+
Map<String, Object> columnMap = new HashMap<>();
- columnMap.put("member_id", memberId);
- List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap);
- if(CollUtil.isEmpty(selectByMap)) {
- memberAuthenticationDao.insert(memberAuthenticationEntity);
- }else {
- memberAuthenticationEntity.setId(selectByMap.get(0).getId());
- memberAuthenticationDao.updateById(memberAuthenticationEntity);
- }
+ columnMap.put("member_id", memberId);
+ List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap);
+ if (CollUtil.isEmpty(selectByMap)) {
+ memberAuthenticationDao.insert(memberAuthenticationEntity);
+ } else {
+ memberAuthenticationEntity.setId(selectByMap.get(0).getId());
+ memberAuthenticationDao.updateById(memberAuthenticationEntity);
+ }
member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING);
member.setIdcardNo(idCardNo);
memberDao.updateById(member);
- /**
- * TODO dingtalk
- Constant.excutor.execute(new Runnable() {
- @Override public void run() {
- DingTalkUtils.sendActionCard(4);
- }
- });*/
+ ThreadPoolUtils.sendDingTalk(4);
return Result.ok(MessageSourceUtils.getString("member_service_0024"));
}
return Result.fail(MessageSourceUtils.getString("member_service_0063"));
@@ -458,7 +481,8 @@
@Transactional
public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
//获取用户ID
- MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity memberEntity = memberDao.selectById(memberId);
String code = memberForgetPwdDto.getCode();
String password = memberForgetPwdDto.getPassword();
@@ -488,17 +512,17 @@
if (!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) {
return Result.fail(MessageSourceUtils.getString("member_service_0077"));
}
-
+
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("member_id", memberId);
- List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
- if(CollUtil.isNotEmpty(selectByMap)) {
- for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
- if(memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) {
- return Result.fail(MessageSourceUtils.getString("member_service_0097"));
- }
- }
- }
+ List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
+ if (CollUtil.isNotEmpty(selectByMap)) {
+ for (MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
+ if (memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0097"));
+ }
+ }
+ }
String account = memberPaymethodDto.getAccount();
String bank = memberPaymethodDto.getBank();
String name = memberPaymethodDto.getName();
@@ -579,7 +603,7 @@
@Override
@Transactional
public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto) {
- //获取用户ID
+ //获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
String phone = memberBindPhoneDto.getPhone();
String code = memberBindPhoneDto.getCode();
@@ -587,18 +611,22 @@
MemberEntity member = memberDao.selectById(memberId);
if (ObjectUtil.isNotEmpty(member)) {
- if (!commonservice.verifyCode(phone, code)) {
+ 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"));
+// }
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("phone", phone);
- List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap );
- if(CollUtil.isEmpty(selectByMap)) {
- member.setPhone(phone);
- memberDao.updateById(member);
- return Result.ok(MessageSourceUtils.getString("member_service_0014"));
- }else {
- return Result.fail(MessageSourceUtils.getString("member_service_1400"));
+ List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
+ if (CollUtil.isEmpty(selectByMap)) {
+ member.setPhone(phone);
+ memberDao.updateById(member);
+ return Result.ok(MessageSourceUtils.getString("member_service_0014"));
+ } else {
+ return Result.fail(MessageSourceUtils.getString("member_service_1400"));
}
}
@@ -609,24 +637,31 @@
@Transactional
public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto) {
- //获取用户ID
+ //获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
String email = memberBindEmailDto.getEmail();
String code = memberBindEmailDto.getCode();
MemberEntity member = memberDao.selectById(memberId);
- boolean flag = commonservice.verifyCode(email, code);
+ boolean flag = commonservice.mutiVerifyCode(email, code, member.getPhone(), memberBindEmailDto.getOtherCode());
+// boolean flag2 = commonservice.verifyCode(member.getPhone(), memberBindEmailDto.getOtherCode());
+ if(!flag){
+ return Result.fail(MessageSourceUtils.getString("member_service_0013"));
+ }
+// if(!flag2){
+// return Result.fail("手机"+MessageSourceUtils.getString("member_service_0013"));
+// }
if (ObjectUtil.isNotEmpty(member)) {
if (flag) {
- Map<String, Object> columnMap = new HashMap<>();
+ Map<String, Object> columnMap = new HashMap<>();
columnMap.put("email", email);
- List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap );
- if(CollUtil.isEmpty(selectByMap)) {
- member.setEmail(email);
+ List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
+ if (CollUtil.isEmpty(selectByMap)) {
+ member.setEmail(email);
memberDao.updateById(member);
return Result.ok(MessageSourceUtils.getString("member_service_0018"));
- }else {
- return Result.fail(MessageSourceUtils.getString("member_service_1400"));
+ } else {
+ return Result.fail(MessageSourceUtils.getString("member_service_1400"));
}
}
}
@@ -688,7 +723,7 @@
MemberCoinAddressEntity memberCoinAddressEntity = new MemberCoinAddressEntity();
memberCoinAddressEntity.setAddress(address);
memberCoinAddressEntity.setMemberId(memberId);
- memberCoinAddressEntity.setIsBiyict(isBiyict);
+ memberCoinAddressEntity.setIsBiyict(MemberCoinAddressEntity.IS_BIYICT_NO);
memberCoinAddressEntity.setSymbolscoinId(symbolscoinId);
memberCoinAddressEntity.setLabel(remark);
memberCoinAddressEntity.setSymbol(platformSymbolsCoinEntity.getName());
@@ -755,19 +790,19 @@
MemberEntity member = memberDao.selectById(memberId);
MemberPersonCenterInfoVo memberPersonCenterInfoVo = new MemberPersonCenterInfoVo();
-
+
Integer certifyStatus = member.getCertifyStatus();
memberPersonCenterInfoVo.setCertifyStatus(certifyStatus);
-
+
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("member_id", memberId);
List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
- if(CollUtil.isEmpty(selectByMap)) {
- memberPersonCenterInfoVo.setMemberPaymentMethod(0);
- }else {
- memberPersonCenterInfoVo.setMemberPaymentMethod(1);
+ if (CollUtil.isEmpty(selectByMap)) {
+ memberPersonCenterInfoVo.setMemberPaymentMethod(0);
+ } else {
+ memberPersonCenterInfoVo.setMemberPaymentMethod(1);
}
-
+
if (StrUtil.isNotEmpty(member.getPhone())) {
memberPersonCenterInfoVo.setPhone(1);
} else {
@@ -824,20 +859,20 @@
}
List<MemberAvivableCoinInfoVo> arrayList = new ArrayList<>();
-
-
- List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol);
+
+
+ List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol);
if (CollUtil.isEmpty(feeSettingByTypeAndSymbolLable)) {
return Result.fail(MessageSourceUtils.getString("member_service_0087"));
}
- for(PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) {
- MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
- memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
- memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice());
- memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable());
- arrayList.add(memberAvivableCoinInfoVo);
+ for (PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) {
+ MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
+ memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
+ memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice());
+ memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable());
+ arrayList.add(memberAvivableCoinInfoVo);
}
-
+
return Result.ok(arrayList);
}
@@ -872,6 +907,14 @@
//获取用户ID
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.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"));
}
@@ -904,6 +947,7 @@
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("symbol", memberSubmitCoinApplyDto.getSymbol());
columnMap.put("address", memberSubmitCoinApplyDto.getAddress());
+ columnMap.put("is_biyict", MemberCoinAddressEntity.IS_BIYICT_YES);
List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectByMap(columnMap);
if (CollUtil.isEmpty(selectByMap)) {
memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
@@ -921,18 +965,13 @@
accountRecord.setContent("提币");
accountRecord.setMemberId(memberId);
accountRecord.setAmount(coinNumber);
+ accountRecord.setWithdrawId(memberCoinWithdrawEntity.getId());
accountRecord.setStatus(MemberAccountMoneyChange.STATUS_WAIT_INTEGER);
accountRecord.setSymbol(memberSubmitCoinApplyDto.getSymbol());
accountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
memberAccountMoneyChangeDao.insert(accountRecord);
- /**
- * TODO dingtalk
- Constant.excutor.execute(new Runnable() {
- @Override public void run() {
- DingTalkUtils.sendActionCard(3);
- }
- });
- */
+
+ ThreadPoolUtils.sendDingTalk(3);
return Result.ok(MessageSourceUtils.getString("member_service_0086"));
} else {
return Result.fail(MessageSourceUtils.getString("member_service_0005"));
@@ -960,22 +999,39 @@
return Result.ok("");
}
- @Override
- public Result getAppVersionInfo() {
- Map<String, Object> columnMap = new HashMap<>();
- List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
- List<Object> arrayList = new ArrayList<>();
- if(CollUtil.isNotEmpty(selectByMap)) {
- for(AppVersionEntity appVersionEntity : selectByMap) {
- AppVersionVo appVersionVo = new AppVersionVo();
- appVersionVo.setAddress(appVersionEntity.getAddress());
- appVersionVo.setType(appVersionEntity.getType());
- appVersionVo.setVersion(appVersionEntity.getVersion());
- arrayList.add(appVersionVo);
- }
- }
- return Result.ok(arrayList);
- }
+ @Override
+ public Result getAppVersionInfo() {
+ Map<String, Object> columnMap = new HashMap<>();
+ List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
+ List<Object> arrayList = new ArrayList<>();
+ if (CollUtil.isNotEmpty(selectByMap)) {
+ for (AppVersionEntity appVersionEntity : selectByMap) {
+ AppVersionVo appVersionVo = new AppVersionVo();
+ appVersionVo.setAddress(appVersionEntity.getAddress());
+ appVersionVo.setType(appVersionEntity.getType());
+ appVersionVo.setVersion(appVersionEntity.getVersion());
+ arrayList.add(appVersionVo);
+ }
+ }
+ return Result.ok(arrayList);
+ }
+
+ @Override
+ public Result getPcVersionInfo() {
+ Map<String, Object> columnMap = new HashMap<>();
+ List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
+ List<Object> arrayList = new ArrayList<>();
+ if (CollUtil.isNotEmpty(selectByMap)) {
+ for (AppVersionEntity appVersionEntity : selectByMap) {
+ AppVersionVo appVersionVo = new AppVersionVo();
+ appVersionVo.setAddress(appVersionEntity.getAddress());
+ appVersionVo.setType(appVersionEntity.getType());
+ appVersionVo.setVersion(appVersionEntity.getVersion());
+ arrayList.add(appVersionVo);
+ }
+ }
+ return Result.ok(arrayList);
+ }
}
--
Gitblit v1.9.1