From 7b91ec6ba5b0ae35bdef5df4bd6b2e43ddbc2686 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 22 May 2020 16:37:19 +0800
Subject: [PATCH] 20200522   代码修改

---
 src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java    |   15 +++----
 src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java |   59 +++++++++++++++++++++++------
 src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java          |    2 
 src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java    |    7 ++-
 4 files changed, 58 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java b/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java
index bb4ecee..20d6648 100644
--- a/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java
+++ b/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java
@@ -3,9 +3,12 @@
 public enum MemberWalletCoinEnum {
 	
 	WALLETCOINUSDT("walletCoinUsdt", "usdt"),
-	WALLETCOINLIST("walletCoinList", "walletList"),
 	WALLETCOINCNY("walletCoinCny", "cny"),
-	WALLETAGENTCNY("walletCoinCny", "wallet"),
+	
+	WALLETCOINLIST("walletCoinList", "walletList"),
+	WALLETAGENT("walletCoin", "wallet"),
+	
+	WALLETCONTRACT("walletContract", "walletContract"),
 	
 	CONTENTTOCONTRACT("0001","转出至合约账户"),
 	CONTENTFROMWALLETCOIN("0002","由币币账户转入"),
diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
index dfeea1f..e24da80 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
@@ -8,9 +8,7 @@
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -19,7 +17,6 @@
 import com.xcong.excoin.modules.coin.service.CoinService;
 
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 
@@ -64,13 +61,13 @@
 	}
 	
 	/**
-	 * 查询合约账户里面的资产余额
+	 * 查询合约账户里面的可用资产余额
 	 * @return
 	 */
-	@ApiOperation(value="查询合约账户里面的资产余额", notes="查询合约账户里面的资产余额")
+	@ApiOperation(value="查询合约账户里面的可用资产余额", notes="查询合约账户里面的可用资产余额")
 	@GetMapping(value="/findWalletContractBySymbol")
-	public Result findWalletContractBySymbol(String symbol) {
-		return coinService.findWalletContractBySymbol(symbol);
+	public Result findWalletContractBySymbol() {
+		return coinService.findWalletContractBySymbol();
 	}
 	
 	/**
@@ -87,7 +84,7 @@
 	 * 查询代理账户里面的资产余额
 	 * @return
 	 */
-	@ApiOperation(value="查询代理账户里面的资产余额", notes="查询代理账户里面的资产余额")
+	@ApiOperation(value="查询代理账户里面的可用资产余额", notes="查询代理账户里面的可用资产余额")
 	@GetMapping(value="/findWalletAgentBySymbol")
 	public Result findWalletAgentBySymbol() {
 		return coinService.findWalletAgentBySymbol();
@@ -151,7 +148,7 @@
 	 * 代理账户划转到USDT账户
 	 * @return
 	 */
-	@ApiOperation(value="代理账户划转到USDT账户", notes="代理账户划转到USDT账户")
+	@ApiOperation(value="代理账户划转到合约或币币USDT账户()", notes="代理账户划转到合约或币币USDT账户")
 	@PostMapping(value="/agentTransferToWalletCoin")
 	public Result  agentTransferToWalletCoin(@RequestBody @Valid TransferOfBalanceDto transferOfBalanceDto) {
 		BigDecimal balance = transferOfBalanceDto.getBalance();
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java b/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java
index 71e1a7d..ab9556b 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java
@@ -18,7 +18,7 @@
 
 	public Result contractTransferToWalletCoin(BigDecimal balance, String symbol);
 
-	public Result findWalletContractBySymbol(String symbol);
+	public Result findWalletContractBySymbol();
 
 	public Result findWalletCoinBySymbol(String symbol);
 
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 3ddaaeb..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,21 +2,17 @@
 
 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;
 import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum;
-import com.xcong.excoin.common.exception.GlobalException;
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
 import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao;
@@ -31,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
@@ -151,8 +147,43 @@
 	@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
@@ -276,11 +307,13 @@
 	}
 
 	@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
@@ -426,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