From 4f9e3043fa36daa7ce18b358e38bd5d5c42bc0c1 Mon Sep 17 00:00:00 2001
From: gao <gaoleox@163>
Date: Tue, 26 May 2020 11:32:06 +0800
Subject: [PATCH] Merge branch 'master' of https://chonggaoxiao:xcg523511090712@gitee.com/chonggaoxiao/new_excoin.git

---
 src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java |  134 ++++++++++++++++++++++++++------------------
 1 files changed, 79 insertions(+), 55 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 7f8ea9e..a5615d3 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,9 +2,7 @@
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
@@ -18,8 +16,11 @@
 import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao;
 import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo;
+import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinVo;
+import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletContractInfoVo;
 import com.xcong.excoin.modules.coin.service.CoinService;
 import com.xcong.excoin.modules.member.dao.MemberWalletAgentDao;
 import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
@@ -51,49 +52,51 @@
 	
 	@Override
 	public Result getWalletCoin() {
-		try {
-			BigDecimal totalUsdt = BigDecimal.ZERO;
 			//获取用户ID
 			Long memberId = LoginUserUtils.getAppLoginUser().getId();
-			
 			CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne();
 			BigDecimal cnyUsdt = cnyUsdtExchange.getValue();
 			
+			BigDecimal totalUsdts = BigDecimal.ZERO;
 			if(!StrUtil.isEmpty(memberId.toString())) {
 				
 				List<MemberWalletCoinEntity> memberWalletCoinlist = memberWalletCoinDao.selectMemberWalletCoinsByMemberId(memberId);
-				
 				List<MemberWalletCoinInfoVo> memberWalletCoinInfoVolist = new ArrayList<MemberWalletCoinInfoVo>();
-				MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo();
-				if(ObjectUtil.isNotEmpty(memberWalletCoinlist)) {
+				
+				if(CollUtil.isNotEmpty(memberWalletCoinlist)) {
 					for(MemberWalletCoinEntity memberWalletCoinEntity : memberWalletCoinlist) {
-						memberWalletCoinInfoVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance());
-						memberWalletCoinInfoVo.setFrozenBalance(memberWalletCoinEntity.getFrozenBalance());
+						MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo();
+						memberWalletCoinInfoVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN));
+						memberWalletCoinInfoVo.setFrozenBalance(memberWalletCoinEntity.getFrozenBalance().setScale(4, BigDecimal.ROUND_DOWN));
 						memberWalletCoinInfoVo.setMemberId(memberWalletCoinEntity.getMemberId());
-						memberWalletCoinInfoVo.setTotalBalance(memberWalletCoinEntity.getTotalBalance());
+						memberWalletCoinInfoVo.setTotalBalance(memberWalletCoinEntity.getTotalBalance().setScale(4, BigDecimal.ROUND_DOWN));
+						memberWalletCoinInfoVo.setWalletCode(memberWalletCoinEntity.getWalletCode());
 						memberWalletCoinInfoVolist.add(memberWalletCoinInfoVo);
 					}
 				}
 				
-				
-				if(CollUtil.isNotEmpty(memberWalletCoinlist)) {
-					for(MemberWalletCoinEntity walletCoin : memberWalletCoinlist) {
+				if(CollUtil.isNotEmpty(memberWalletCoinInfoVolist)) {
+					for(MemberWalletCoinInfoVo walletCoin : memberWalletCoinInfoVolist) {
 						if(MemberWalletCoinEnum.WALLETCOINCODE.getValue().equals(walletCoin.getWalletCode())) {	
+							BigDecimal totalUsdt = BigDecimal.ZERO;
 							totalUsdt = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
+							totalUsdts = totalUsdts.add(totalUsdt);
 							BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
 							walletCoin.setTotalBalance(totalCny.setScale(4, BigDecimal.ROUND_DOWN));
 						}else {
 							BigDecimal amount = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
 							BigDecimal closePrice = new BigDecimal("10.0000");
+							BigDecimal totalUsdt = BigDecimal.ZERO;
 							//Double closePrice = symbolsService.getCloseSymbolsBySymbolsName(walletCoin.getWalletCode()+"/USDT");
 							totalUsdt = totalUsdt.add(amount.multiply(closePrice));
-							walletCoin.setTotalBalance(totalUsdt.multiply(closePrice).multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
+							totalUsdts = totalUsdts.add(totalUsdt);
+							walletCoin.setTotalBalance(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
 						}
 					}
 				}
 				MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo();
-				memberWalletCoinVo.setTotalUsdt(totalUsdt.setScale(4, BigDecimal.ROUND_DOWN));
-				memberWalletCoinVo.setTotalCny(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
+				memberWalletCoinVo.setTotalUsdt(totalUsdts.setScale(4, BigDecimal.ROUND_DOWN));
+				memberWalletCoinVo.setTotalCny(totalUsdts.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
 				memberWalletCoinVo.setMemberWalletCoinInfoVo(memberWalletCoinInfoVolist);
 				return Result.ok(memberWalletCoinVo);
 			}else {
@@ -120,20 +123,15 @@
 				memberWalletCoinlist.add(coin);
 				
 				MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo();
-				memberWalletCoinVo.setTotalUsdt(totalUsdt.setScale(4, BigDecimal.ROUND_DOWN));
-				memberWalletCoinVo.setTotalCny(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
+				memberWalletCoinVo.setTotalUsdt(totalUsdts.setScale(4, BigDecimal.ROUND_DOWN));
+				memberWalletCoinVo.setTotalCny(totalUsdts.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
 				memberWalletCoinVo.setMemberWalletCoinInfoVo(memberWalletCoinlist);;
 				return Result.ok(memberWalletCoinVo);
 			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			return Result.fail(MessageSourceUtils.getString("member_service_0003"));
-		}
 	}
 
 	@Override
 	public Result getWalletCoinBySymbol(String symbol) {
-		try {
 			//获取用户ID
 			Long memberId = LoginUserUtils.getAppLoginUser().getId();
 			MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId,symbol);
@@ -157,10 +155,6 @@
 				}
 			}
 			return Result.ok(memberWalletCoinInfoVo);
-		} catch (Exception e) {
-			e.printStackTrace();
-			return Result.fail(MessageSourceUtils.getString("member_service_0003"));
-		}
 	}
 
 	@Override
@@ -185,9 +179,6 @@
 			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);
@@ -195,14 +186,13 @@
 				lastTotalBalance = new BigDecimal("0");
 			}
 			
-			walletContract.setAvailableBalance(walletContract.getAvailableBalance());
-			walletContract.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
+			MemberWalletContractInfoVo memberWalletContractInfoVo = new MemberWalletContractInfoVo();
+			memberWalletContractInfoVo.setFrozenBalance(totalPayment.setScale(4, BigDecimal.ROUND_DOWN));
+			memberWalletContractInfoVo.setAvailableBalance(walletContract.getAvailableBalance());
+			memberWalletContractInfoVo.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
+			memberWalletContractInfoVo.setTotalRMBBalance(lastTotalBalance.multiply(cnyUsdt).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);
+			return Result.ok(memberWalletContractInfoVo);
 	}
 
 	@Override
@@ -331,8 +321,8 @@
 		Long memberId = LoginUserUtils.getAppLoginUser().getId();
 		String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
 		MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode);
-		
-		return Result.ok(walletContract);
+		BigDecimal availableBalance = walletContract.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN);
+		return Result.ok(availableBalance);
 	}
 
 	@Override
@@ -342,26 +332,50 @@
 		
 		MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol);
 		BigDecimal availableBalance = walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN);
-		walletCoin.setAvailableBalance(availableBalance);
-		return Result.ok(walletCoin);
+		return Result.ok(availableBalance);
 	}
 
 	@Override
 	public Result getWalletCoinRecords() {
 		//获取用户ID
 		Long memberId = LoginUserUtils.getAppLoginUser().getId();
-		
 		List<MemberAccountMoneyChange> coinRecordList = memberAccountMoneyChangeDao.selectWalletCoinRecordsByMemIdTypeSymbol(memberId);
-		return Result.ok(coinRecordList);
+		List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
+		if(CollUtil.isNotEmpty(coinRecordList)) {
+			for(MemberAccountMoneyChange memberAccountMoneyChange : coinRecordList) {
+				MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
+				memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
+				memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
+				memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
+				memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
+				memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
+				arrayList.add(memberAccountMoneyChangeInfoVo);
+			}
+		}
+		return Result.ok(arrayList);
 	}
 
 	@Override
-	public Result getWalletContractRecords(String symbol) {
+	public Result getWalletContractRecords() {
 		//获取用户ID
 		Long memberId = LoginUserUtils.getAppLoginUser().getId();
-		
+		String symbol = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
 		List<MemberAccountMoneyChange> contractRecordList = memberAccountMoneyChangeDao.selectWalletContractRecordsByMemIdTypeSymbol(symbol,memberId);
-		return Result.ok(contractRecordList);
+		
+		List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
+		if(ObjectUtil.isNotNull(contractRecordList)) {
+			for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
+				MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
+				memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
+				memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
+				memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
+				memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
+				memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
+				arrayList.add(memberAccountMoneyChangeInfoVo);
+			}
+		}
+		
+		return Result.ok(arrayList);
 	}
 
 	@Override
@@ -371,7 +385,20 @@
 		
 		List<MemberAccountMoneyChange> contractRecordList = 
 				memberAccountMoneyChangeDao.selectWalletAgentRecordByMemIdTypeSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue(),memberId);
-		return Result.ok(contractRecordList);
+		
+		List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
+		if(ObjectUtil.isNotNull(contractRecordList)) {
+			for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
+				MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
+				memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
+				memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
+				memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
+				memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
+				memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
+				arrayList.add(memberAccountMoneyChangeInfoVo);
+			}
+		}
+		return Result.ok(arrayList);
 	}
 
 	@Override
@@ -472,15 +499,12 @@
 		
 		CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne();
 		BigDecimal cnyUsdt = cnyUsdtExchange.getValue();
-		
 		BigDecimal multiply = availableBalance.multiply(cnyUsdt);
 		
-		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.WALLETAGENT.getValue(), walletAgent);
-		map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(),  multiply.setScale(4, BigDecimal.ROUND_DOWN));
-		return Result.ok(map);
+		MemberWalletAgentInfoVo memberWalletAgentInfoVo = new MemberWalletAgentInfoVo();
+		memberWalletAgentInfoVo.setTotalBalance(availableBalance.setScale(4, BigDecimal.ROUND_DOWN));
+		memberWalletAgentInfoVo.setTotalRMBBalance(multiply.setScale(4, BigDecimal.ROUND_DOWN));
+		return Result.ok(memberWalletAgentInfoVo);
 	}
 
 }

--
Gitblit v1.9.1