From e4f129a3edeaeba4d717fc61f856d283b8e0f30b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 15 Oct 2020 17:05:31 +0800
Subject: [PATCH] 20201015

---
 src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java                      |    6 +++
 src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java |   85 ++++++++++++++----------------------------
 src/main/resources/mapper/modules/MemberMapper.xml                                          |   28 ++++++++++++++
 3 files changed, 63 insertions(+), 56 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
index 16df52b..e169a91 100644
--- a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
@@ -380,5 +380,11 @@
 	String selectHYZCForDataInfoOneAllReal();
 	String selectDLZCForDataInfoOneAllReal();
 	IPage<MemberDataInfoVo> findMemberDataInfoOneAllRealInPage(Page<MemberEntity> page, @Param("record")MemberEntity memberEntity);
+
+	String selectWalletAvailableBalanceBymemberId(@Param("memberId")Long memberId);
+
+	String selectWalletTotalBalanceBymemberId(@Param("memberId")Long memberId);
+
+	String selectWalletFrozenBalanceBymemberId(@Param("memberId")Long memberId);
     
 }
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
index efe013f..1be5517 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
@@ -874,20 +874,13 @@
 			for(MemberAccountInfoVo memberAccountInfoVo : records) {
 				
 				Long memberId = memberAccountInfoVo.getId();
-				List<MemberAccountInfoVo> walletContracts = memberMapper.selectWalletContractByMemberId(memberId);
-				BigDecimal walletAvailableBalance = BigDecimal.ZERO;
-				BigDecimal walletTotalBalance = BigDecimal.ZERO;
-				BigDecimal walletFrozenBalance = BigDecimal.ZERO;
-				if(CollUtil.isNotEmpty(walletContracts)) {
-					for(MemberAccountInfoVo walletContract : walletContracts) {
-						walletAvailableBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletAvailableBalance()).add(walletAvailableBalance);
-						walletTotalBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletTotalBalance()).add(walletTotalBalance);
-						walletFrozenBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletFrozenBalance()).add(walletFrozenBalance);
-					}
-					memberAccountInfoVo.setWalletAvailableBalance(walletAvailableBalance);
-					memberAccountInfoVo.setWalletTotalBalance(walletTotalBalance);
-					memberAccountInfoVo.setWalletFrozenBalance(walletFrozenBalance);
-				}
+				String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
+				String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
+				String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
+					
+				memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
+				memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
+				memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
 				
 				Map<String, Object> columnMap = new HashMap<>();
 				columnMap.put("member_id", memberId);
@@ -931,20 +924,13 @@
 			for(MemberAccountInfoVo memberAccountInfoVo : records) {
 				
 				Long memberId = memberAccountInfoVo.getId();
-				List<MemberAccountInfoVo> walletContracts = memberMapper.selectWalletContractByMemberId(memberId);
-				BigDecimal walletAvailableBalance = BigDecimal.ZERO;
-				BigDecimal walletTotalBalance = BigDecimal.ZERO;
-				BigDecimal walletFrozenBalance = BigDecimal.ZERO;
-				if(CollUtil.isNotEmpty(walletContracts)) {
-					for(MemberAccountInfoVo walletContract : walletContracts) {
-						walletAvailableBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletAvailableBalance()).add(walletAvailableBalance);
-						walletTotalBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletTotalBalance()).add(walletTotalBalance);
-						walletFrozenBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletFrozenBalance()).add(walletFrozenBalance);
-					}
-					memberAccountInfoVo.setWalletAvailableBalance(walletAvailableBalance);
-					memberAccountInfoVo.setWalletTotalBalance(walletTotalBalance);
-					memberAccountInfoVo.setWalletFrozenBalance(walletFrozenBalance);
-				}
+				String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
+				String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
+				String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
+					
+				memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
+				memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
+				memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
 				
 				Map<String, Object> columnMap = new HashMap<>();
 				columnMap.put("member_id", memberId);
@@ -988,20 +974,13 @@
 			for(MemberAccountInfoVo memberAccountInfoVo : records) {
 				Long memberId = memberAccountInfoVo.getId();
 
-				List<MemberAccountInfoVo> walletContracts = memberMapper.selectWalletContractByMemberId(memberId);
-				BigDecimal walletAvailableBalance = BigDecimal.ZERO;
-				BigDecimal walletTotalBalance = BigDecimal.ZERO;
-				BigDecimal walletFrozenBalance = BigDecimal.ZERO;
-				if(CollUtil.isNotEmpty(walletContracts)) {
-					for(MemberAccountInfoVo walletContract : walletContracts) {
-						walletAvailableBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletAvailableBalance()).add(walletAvailableBalance);
-						walletTotalBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletTotalBalance()).add(walletTotalBalance);
-						walletFrozenBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletFrozenBalance()).add(walletFrozenBalance);
-					}
-					memberAccountInfoVo.setWalletAvailableBalance(walletAvailableBalance);
-					memberAccountInfoVo.setWalletTotalBalance(walletTotalBalance);
-					memberAccountInfoVo.setWalletFrozenBalance(walletFrozenBalance);
-				}
+				String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
+				String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
+				String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
+					
+				memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
+				memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
+				memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
 				
 				Map<String, Object> columnMap = new HashMap<>();
 				columnMap.put("member_id", memberId);
@@ -1044,20 +1023,14 @@
 		if(records.size() > 0) {
 			for(MemberAccountInfoVo memberAccountInfoVo : records) {
 				Long memberId = memberAccountInfoVo.getId();
-				List<MemberAccountInfoVo> walletContracts = memberMapper.selectWalletContractByMemberId(memberId);
-				BigDecimal walletAvailableBalance = BigDecimal.ZERO;
-				BigDecimal walletTotalBalance = BigDecimal.ZERO;
-				BigDecimal walletFrozenBalance = BigDecimal.ZERO;
-				if(CollUtil.isNotEmpty(walletContracts)) {
-					for(MemberAccountInfoVo walletContract : walletContracts) {
-						walletAvailableBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletAvailableBalance()).add(walletAvailableBalance);
-						walletTotalBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletTotalBalance()).add(walletTotalBalance);
-						walletFrozenBalance = (ObjectUtil.isEmpty(walletContract.getWalletAvailableBalance()) ? BigDecimal.ZERO:walletContract.getWalletFrozenBalance()).add(walletFrozenBalance);
-					}
-					memberAccountInfoVo.setWalletAvailableBalance(walletAvailableBalance);
-					memberAccountInfoVo.setWalletTotalBalance(walletTotalBalance);
-					memberAccountInfoVo.setWalletFrozenBalance(walletFrozenBalance);
-				}
+				
+				String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
+				String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
+				String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
+					
+				memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
+				memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
+				memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
 				
 				Map<String, Object> columnMap = new HashMap<>();
 				columnMap.put("member_id", memberId);
diff --git a/src/main/resources/mapper/modules/MemberMapper.xml b/src/main/resources/mapper/modules/MemberMapper.xml
index f6fbf64..9261b17 100644
--- a/src/main/resources/mapper/modules/MemberMapper.xml
+++ b/src/main/resources/mapper/modules/MemberMapper.xml
@@ -1,6 +1,34 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xcong.excoin.modules.member.mapper.MemberMapper">
+
+	<select id="selectWalletFrozenBalanceBymemberId" resultType="java.lang.String">
+		SELECT
+			IFNULL(SUM(a.frozen_balance),'0')
+		FROM
+			member_wallet_contract a
+		LEFT JOIN member m ON m.id = a.member_id
+		WHERE
+			a.member_id = #{memberId}
+	</select>
+	<select id="selectWalletTotalBalanceBymemberId" resultType="java.lang.String">
+		SELECT
+			IFNULL(SUM(a.total_balance),'0')
+		FROM
+			member_wallet_contract a
+		LEFT JOIN member m ON m.id = a.member_id
+		WHERE
+			a.member_id = #{memberId}
+	</select>
+	<select id="selectWalletAvailableBalanceBymemberId" resultType="java.lang.String">
+		SELECT
+			IFNULL(SUM(a.available_balance),'0')
+		FROM
+			member_wallet_contract a
+		LEFT JOIN member m ON m.id = a.member_id
+		WHERE
+			a.member_id = #{memberId}
+	</select>
 	
 	<select id="findMemberDataInfoOneAllRealInPage" resultType="com.xcong.excoin.modules.member.vo.MemberDataInfoVo">
 		select COUNT(m.id) as memberCount  from member m 	

--
Gitblit v1.9.1