From 28f0aa6728abd49e6789179ef43c213d42a750b0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 28 Aug 2020 11:31:42 +0800
Subject: [PATCH] 20200828
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 103 insertions(+), 14 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 4e52040..591f214 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
@@ -26,6 +26,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.MemberSubmitCoinApplyInDto;
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;
@@ -106,6 +107,8 @@
@Resource
AppVersionDao appVersionDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
@Resource
private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@@ -154,10 +157,14 @@
member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
member.setIsForce(1);
member.setIsProfit(0);
- member.setSpread(BigDecimal.ONE);
- member.setClosingSpread(BigDecimal.ONE);
- member.setForceParam(BigDecimal.valueOf(0.0015));
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);
@@ -179,16 +186,6 @@
member.setRefererIds(ids);
memberDao.updateById(member);
- //初始化合约钱包
- MemberWalletContractEntity walletContract = new MemberWalletContractEntity();
- walletContract.setMemberId(member.getId());
- walletContract.setAvailableBalance(AppContants.INIT_MONEY);
- walletContract.setFrozenBalance(AppContants.INIT_MONEY);
- walletContract.setTotalBalance(AppContants.INIT_MONEY);
- walletContract.setBorrowedFund(AppContants.INIT_MONEY);
- walletContract.setWalletCode(CoinTypeEnum.USDT.name());
- memberWalletContractDao.insert(walletContract);
-
MemberWalletContractSimulateEntity walletContractSimulate = new MemberWalletContractSimulateEntity();
walletContractSimulate.setMemberId(member.getId());
walletContractSimulate.setAvailableBalance(new BigDecimal(AppContants.INIT_SIMULATE_MONEY));
@@ -199,8 +196,18 @@
memberWalletContractSimulateDao.insert(walletContractSimulate);
- // 初始化币币钱包
for (CoinTypeEnum coinTypeEnum : CoinTypeEnum.values()) {
+ //初始化合约钱包
+ MemberWalletContractEntity walletContract = new MemberWalletContractEntity();
+ walletContract.setMemberId(member.getId());
+ walletContract.setAvailableBalance(AppContants.INIT_MONEY);
+ walletContract.setFrozenBalance(AppContants.INIT_MONEY);
+ walletContract.setTotalBalance(AppContants.INIT_MONEY);
+ walletContract.setBorrowedFund(AppContants.INIT_MONEY);
+ walletContract.setWalletCode(coinTypeEnum.name());
+ memberWalletContractDao.insert(walletContract);
+
+ // 初始化币币钱包
MemberWalletCoinEntity walletCoin = new MemberWalletCoinEntity();
walletCoin.setWalletCode(coinTypeEnum.name());
walletCoin.setMemberId(member.getId());
@@ -995,6 +1002,88 @@
}
return Result.ok(arrayList);
}
+
+ @Override
+ public Result memberSubmitCoinApplyIn(@Valid MemberSubmitCoinApplyInDto memberSubmitCoinApplyInDto) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity member = memberDao.selectById(memberId);
+ 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"));
+ }
+ if (member.getTradePassword() == null) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0082"));
+ }
+ if (!member.getTradePassword().equals(SecureUtil.md5(memberSubmitCoinApplyInDto.getTradePassword()))) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0082"));
+ }
+
+ boolean flag = commonservice.verifyCode(memberSubmitCoinApplyInDto.getAccount(), memberSubmitCoinApplyInDto.getCode());
+ if (flag) {
+ //获取到账地址
+ String address = memberSubmitCoinApplyInDto.getAddress();
+ //根据账号获取会员信息
+ MemberEntity selectMemberInfoByAccount = memberDao.selectMemberInfoByAccount(address);
+ if(ObjectUtil.isEmpty(selectMemberInfoByAccount)) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0087"));
+ }
+ Long memberInfoId = selectMemberInfoByAccount.getId();
+ String symbol = memberSubmitCoinApplyInDto.getSymbol();
+
+ Map<String, Object> columnMapAddress = new HashMap<>();
+ columnMapAddress.put("member_id", memberInfoId);
+ columnMapAddress.put("symbol", symbol);
+ List<MemberCoinAddressEntity> selectByMap2 = memberCoinAddressDao.selectByMap(columnMapAddress );
+ if(CollUtil.isEmpty(selectByMap2)) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0087"));
+ }
+ MemberCoinAddressEntity memberCoinAddressEntity = selectByMap2.get(0);
+ String addressIn = memberCoinAddressEntity.getAddress();
+
+ MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyInDto.getSymbol());
+ BigDecimal availableBalance = walletCoin.getAvailableBalance();
+ BigDecimal coinNumber = memberSubmitCoinApplyInDto.getCoinNumber();
+ if (availableBalance.compareTo(BigDecimal.ZERO) > 0
+ && availableBalance.compareTo(coinNumber) >= 0) {
+ //新增提币记录
+ MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity();
+ memberCoinWithdrawEntity.setAddress(addressIn);
+ memberCoinWithdrawEntity.setAmount(coinNumber);
+ memberCoinWithdrawEntity.setFeeAmount(BigDecimal.ZERO);
+ memberCoinWithdrawEntity.setSymbol(memberSubmitCoinApplyInDto.getSymbol());
+ memberCoinWithdrawEntity.setMemberId(memberId);
+ memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
+ memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES);
+ memberCoinWithdrawDao.insert(memberCoinWithdrawEntity);
+ BigDecimal subtract = walletCoin.getAvailableBalance().subtract(coinNumber);
+ walletCoin.setAvailableBalance(subtract);
+ BigDecimal add = walletCoin.getFrozenBalance().add(coinNumber);
+ walletCoin.setFrozenBalance(add);
+ memberWalletCoinDao.updateById(walletCoin);
+
+ MemberAccountMoneyChange accountRecord = new MemberAccountMoneyChange();
+ accountRecord.setContent("提币");
+ accountRecord.setMemberId(memberId);
+ accountRecord.setAmount(coinNumber);
+ accountRecord.setWithdrawId(memberCoinWithdrawEntity.getId());
+ accountRecord.setStatus(MemberAccountMoneyChange.STATUS_WAIT_INTEGER);
+ accountRecord.setSymbol(memberSubmitCoinApplyInDto.getSymbol());
+ accountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
+ memberAccountMoneyChangeDao.insert(accountRecord);
+
+ ThreadPoolUtils.sendDingTalk(3);
+ return Result.ok(MessageSourceUtils.getString("member_service_0086"));
+ } else {
+ return Result.fail(MessageSourceUtils.getString("member_service_0005"));
+ }
+
+ } else {
+ return Result.fail(MessageSourceUtils.getString("member_service_0039"));
+ }
+ }
}
--
Gitblit v1.9.1