From 775a0bec87873faeb0558d8c0edec37253e3b41c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 25 May 2020 10:03:42 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 106 ++++++++++++++++++++++++++++++-----------------------
1 files changed, 60 insertions(+), 46 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
index f5ff2fb..1a392da 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -2,16 +2,13 @@
import java.math.BigDecimal;
import java.util.ArrayList;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.LoginUserUtils;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
@@ -30,8 +27,8 @@
import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
import com.xcong.excoin.utils.MessageSourceUtils;
-
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@Service
@@ -150,14 +147,48 @@
@Override
public Result getWalletContractById() {
- return Result.fail(MessageSourceUtils.getString("member_service_0002"));
-
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+
+ CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne();
+ BigDecimal cnyUsdt = cnyUsdtExchange.getValue();
+
+ String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
+ MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode);
+ if(ObjectUtil.isEmpty(walletContract)) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0001"));
+ }
+ /**
+ * todo
+ */
+ //获取当前的合约持仓
+ //获取实时盈亏
+ BigDecimal profitAndLoss = new BigDecimal("50.000");
+ //获取总付款
+ BigDecimal totalPayment = new BigDecimal("50.000");
+
+ walletContract.setFrozenBalance(totalPayment.setScale(4, BigDecimal.ROUND_DOWN));
+
+ BigDecimal lastTotalBalance = new BigDecimal("0");
+ BigDecimal totalBalance = walletContract.getTotalBalance();
+ lastTotalBalance = totalBalance.add(profitAndLoss);
+ if(lastTotalBalance.compareTo(BigDecimal.ZERO) < 0) {
+ lastTotalBalance = new BigDecimal("0");
+ }
+
+ walletContract.setAvailableBalance(walletContract.getAvailableBalance());
+ walletContract.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
+
+ Map<String,Object> map = new HashMap<String, Object>();
+ map.put(MemberWalletCoinEnum.WALLETCOINUSDT.getValue(), lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
+ map.put(MemberWalletCoinEnum.WALLETCONTRACT.getValue(), walletContract);
+ map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(), lastTotalBalance.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
+ return Result.ok(map);
}
@Override
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public Result coinWalletTransferToContract(BigDecimal balance, String symbol) {
- try {
if(balance.compareTo(BigDecimal.ZERO) <= 0) {
return Result.fail(MessageSourceUtils.getString("member_service_0004"));
}
@@ -200,31 +231,25 @@
MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange();
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOCONTRACT.getValue());
memberAccountRecord.setMemberId(memberId);
- memberAccountRecord.setPrice(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
memberAccountRecord.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER);
memberAccountRecord.setSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue());
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
- memberAccountRecord.setTime(new Date());
memberAccountMoneyChangeDao.insert(memberAccountRecord);
//添加合约资金划转历史记录
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMWALLETCOIN.getValue());
memberAccountRecord.setSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue());
- memberAccountRecord.setPrice(balance.setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_CONTRACT);
memberAccountMoneyChangeDao.insert(memberAccountRecord);
}
- } catch (Exception e) {
- e.printStackTrace();
- return Result.fail(MessageSourceUtils.getString("member_service_0096"));
- }
return Result.ok(MessageSourceUtils.getString("member_service_0006"));
}
@Override
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public Result contractTransferToWalletCoin(BigDecimal balance, String symbol) {
- try {
if(balance.compareTo(BigDecimal.ZERO)<=0){
return Result.fail(MessageSourceUtils.getString("member_service_0004"));
}
@@ -251,12 +276,12 @@
// 加币
MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, walletCode);
BigDecimal walletCoinAvailableBalance = walletCoin.getAvailableBalance();
- walletCoinAvailableBalance.add(balance);
+ BigDecimal CoinAvailableBalance = walletCoinAvailableBalance.add(balance);
BigDecimal walletCoinTotalBalance = walletCoin.getTotalBalance();
- walletCoinTotalBalance.add(balance);
+ BigDecimal CoinTotalBalance = walletCoinTotalBalance.add(balance);
- walletCoin.setAvailableBalance(walletCoinAvailableBalance.setScale(4, BigDecimal.ROUND_DOWN));
- walletCoin.setTotalBalance(walletCoinTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
+ walletCoin.setAvailableBalance(CoinAvailableBalance.setScale(4, BigDecimal.ROUND_DOWN));
+ walletCoin.setTotalBalance(CoinTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
int updateById = memberWalletCoinDao.updateById(walletCoin);
if(updateById < 1) {
return Result.fail(MessageSourceUtils.getString("member_service_0096"));
@@ -266,32 +291,29 @@
MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange();
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOWALLETCOIN.getValue());
memberAccountRecord.setMemberId(memberId);
- memberAccountRecord.setPrice(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
memberAccountRecord.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER);
memberAccountRecord.setSymbol(walletCode);
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_CONTRACT);
- memberAccountRecord.setTime(new Date());
memberAccountMoneyChangeDao.insert(memberAccountRecord);
//添加资金划转历史记录
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMCONTRACT.getValue());
memberAccountRecord.setSymbol(walletCode);
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
- memberAccountRecord.setPrice(balance.setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
memberAccountMoneyChangeDao.insert(memberAccountRecord);
- } catch (Exception e) {
- e.printStackTrace();
- return Result.fail(MessageSourceUtils.getString("member_service_0096"));
- }
return Result.ok(MessageSourceUtils.getString("member_service_0006"));
}
@Override
- public Result findWalletContractBySymbol(String symbol) {
- /**
- * ---todo
- */
- return null;
+ public Result findWalletContractBySymbol() {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
+ MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode);
+
+ return Result.ok(walletContract);
}
@Override
@@ -334,9 +356,8 @@
}
@Override
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public Result agentTransferToWalletCoin(BigDecimal balance, Integer transfertype) {
- try {
if(balance.compareTo(BigDecimal.ZERO) <= 0) {
return Result.fail(MessageSourceUtils.getString("member_service_0004"));
}
@@ -386,8 +407,7 @@
memberAccountRecord.setSymbol(walletCode);
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMAGENT.getValue());
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
- memberAccountRecord.setTime(new Date());
- memberAccountRecord.setPrice(balance.setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
memberAccountMoneyChangeDao.insert(memberAccountRecord);
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOWALLETCOIN.getValue());
@@ -411,20 +431,14 @@
memberAccountRecord.setSymbol(walletCode);
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMAGENT.getValue());
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_CONTRACT);
- memberAccountRecord.setTime(new Date());
- memberAccountRecord.setPrice(balance.setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
memberAccountMoneyChangeDao.insert(memberAccountRecord);
memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOCONTRACT.getValue());
}
- memberAccountRecord.setPrice(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
+ memberAccountRecord.setAmount(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_AGENT);
- memberAccountRecord.setTime(new Date());
memberAccountMoneyChangeDao.insert(memberAccountRecord);
- } catch (Exception e) {
- e.printStackTrace();
- return Result.fail(MessageSourceUtils.getString("member_service_0096"));
- }
return Result.ok(MessageSourceUtils.getString("member_service_0006"));
}
@@ -445,7 +459,7 @@
walletAgent.setAvailableBalance(availableBalance);
Map<String,Object> map = new HashMap<String, Object>();
map.put(MemberWalletCoinEnum.WALLETCOINUSDT.getValue(), availableBalance.setScale(4, BigDecimal.ROUND_DOWN));
- map.put(MemberWalletCoinEnum.WALLETAGENTCNY.getValue(), walletAgent);
+ map.put(MemberWalletCoinEnum.WALLETAGENT.getValue(), walletAgent);
map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(), multiply.setScale(4, BigDecimal.ROUND_DOWN));
return Result.ok(map);
}
--
Gitblit v1.9.1