From ac10a564db63c7f9060a2e99c9cb7cc17f9832b7 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 11 Nov 2020 16:07:13 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 169 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 100 insertions(+), 69 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 940b8ca..e5bda2a 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
@@ -29,6 +29,7 @@
import com.xcong.excoin.modules.member.mapper.MemberMapper;
import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper;
import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper;
+import com.xcong.excoin.modules.member.service.EthService;
import com.xcong.excoin.modules.member.service.IMemberService;
import com.xcong.excoin.modules.member.service.RocService;
import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo;
@@ -49,6 +50,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ExecutionException;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
@@ -445,6 +447,10 @@
BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount();
BigDecimal subtract = amount.subtract(feeAmount);
memberCoinWithdrawVo.setRealAmount(subtract);
+ if("Y".equals(memberCoinWithdrawVo.getIsInside())){
+ // 是内部转账 查询对应的地址
+
+ }
}
}
return findmemberQuickBuySaleListInPage;
@@ -452,7 +458,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) {
+ public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) throws ExecutionException, InterruptedException {
MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
Long memberId = selectById.getMemberId();
@@ -463,7 +469,16 @@
if(status != 1) {
return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
}
-
+ // 转币 需要扣除手续费
+ amount = amount.subtract(selectById.getFeeAmount());
+ if("ROC".equals(symbol) && !"Y".equals(selectById.getIsInside())){
+ // 如果是ROC 则自动转
+ String transfer = RocService.transfer(amount, address, "ROC");
+ if(!"success".equals(transfer)){
+ FebsResponse febsResponse = new FebsResponse();
+ return febsResponse.fail().message(transfer);
+ }
+ }
// 查询币币钱包
MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
@@ -486,8 +501,8 @@
Long aimMemberId = selectByMap.get(0).getMemberId();
MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol);
- BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(selectById.getAmount());
- BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(selectById.getAmount());
+ BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(amount);
+ BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(amount);
aimWalletCoin.setTotalBalance(addTotal);
aimWalletCoin.setAvailableBalance(addAvailable);
@@ -496,7 +511,7 @@
MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
memberAccountMoneyChangeEntity.setContent("收款");
memberAccountMoneyChangeEntity.setMemberId(aimMemberId);
- memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+ memberAccountMoneyChangeEntity.setAmount(amount);
memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol());
memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
@@ -528,9 +543,21 @@
if(StrUtil.isNotBlank(phone)) {
Sms106Send.sendWithdrawalCoinMsg(phone, time);
}
- if("ROC".equals(symbol)){
- // 如果是ROC 则自动转
- String transfer = RocService.transfer(amount, address, "ROC");
+ if("USDT".equals(symbol) && !"Y".equals(selectById.getIsInside())){
+// EthService ethService = new EthService();
+// // 查询余额是否足够
+// BigDecimal bigDecimal = ethService.tokenGetBalance(EthService.TOTAL_ADDRESS);
+// if(bigDecimal==null ||bigDecimal.compareTo(amount)<0 ){
+// FebsResponse fail = new FebsResponse().fail();
+// fail.message("总钱包余额不足");
+// return fail;
+// }
+// amount = amount.multiply(new BigDecimal("1000000"));
+// String usdtStr = amount.toPlainString();
+// if (usdtStr.contains(".")) {
+// usdtStr = usdtStr.substring(0, usdtStr.lastIndexOf("."));
+// }
+// String s = ethService.tokenSend(address, usdtStr, null);
}
/**
@@ -710,38 +737,38 @@
@Override
public FebsResponse addCoinConfirm(@Valid MemberEntity memberEntity) {
- Long memberId = memberEntity.getId();
- String walletCode = "USDT";
- BigDecimal amountUsdt = memberEntity.getCoinNumber();
-
- MemberEntity selectById = this.baseMapper.selectById(memberId);
- if(ObjectUtils.isEmpty(selectById)) {
- return new FebsResponse().message("用户已不存在");
- }
- //获取币币钱包
- MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
- BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
- BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
-
- memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
- memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
- // 更新
- memberWalletCoinMapper.updateById(memberWalletCoinEntity);
-
- //添加币币资金划转历史记录
- MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
- memberAccountMoneyChangeEntity.setContent("充值");
- memberAccountMoneyChangeEntity.setMemberId(memberId);
- memberAccountMoneyChangeEntity.setAmount(amountUsdt);
- memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
- memberAccountMoneyChangeEntity.setSymbol("USDT");
- memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
- memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
- memberAccountMoneyChangeEntity.setCreateTime(new Date());
- memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
- memberAccountMoneyChangeEntity.setUpdateTime(new Date());
-
- memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
+// Long memberId = memberEntity.getId();
+// String walletCode = "USDT";
+// BigDecimal amountUsdt = memberEntity.getCoinNumber();
+//
+// MemberEntity selectById = this.baseMapper.selectById(memberId);
+// if(ObjectUtils.isEmpty(selectById)) {
+// return new FebsResponse().message("用户已不存在");
+// }
+// //获取币币钱包
+// MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
+// BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
+// BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
+//
+// memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
+// memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
+// // 更新
+// memberWalletCoinMapper.updateById(memberWalletCoinEntity);
+//
+// //添加币币资金划转历史记录
+// MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+// memberAccountMoneyChangeEntity.setContent("充值");
+// memberAccountMoneyChangeEntity.setMemberId(memberId);
+// memberAccountMoneyChangeEntity.setAmount(amountUsdt);
+// memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
+// memberAccountMoneyChangeEntity.setSymbol("USDT");
+// memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
+// memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
+// memberAccountMoneyChangeEntity.setCreateTime(new Date());
+// memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
+// memberAccountMoneyChangeEntity.setUpdateTime(new Date());
+//
+// memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
/**
* todo
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@@ -763,47 +790,51 @@
MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
//USDT充币总额+USDT提币总额
- String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId);
+ String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
+ String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"ROC");
memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
+ memberInfoDetailVo.setChargeCoinRoc(totalAmountUsdtBRoc == null ? 0 : Double.parseDouble(totalAmountUsdtBRoc));
String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
//USDT充值总额+USDT提现总额
- String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
- String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
+// String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
+// String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
//总剩余
- double platformProfitAndLoss = 0 ;
- platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
- platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
- platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
- platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
- memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
+// double platformProfitAndLoss = 0 ;
+// platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
+// platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
+// platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+// platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
+// memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
//佣金
- String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
+// String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
//开仓手续费总额
- String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
+// String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
//平仓总手续费
- String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
+// String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
- //总盈亏
- String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
+// //总盈亏
+// String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
//持仓手续费
- String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
+// String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
+// memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
//账户金额
- String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
+ String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
+ String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"ROC");
memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
- String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
- String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
- memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
+ memberInfoDetailVo.setWalletCoinNumRoc(walletNumRoc == null ? 0 : Double.parseDouble(walletNumRoc));
+ //String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
+ //memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
+ //String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
+ //memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
return memberInfoDetailVo;
}
@@ -1324,7 +1355,7 @@
MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
//USDT充币总额+USDT提币总额
- String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId);
+ String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
@@ -1359,7 +1390,7 @@
memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
//账户金额
- String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
+ String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
--
Gitblit v1.9.1