From 0a20e26c1074ef02af5599fa418b32e3d39f2002 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 22 Mar 2021 14:21:56 +0800
Subject: [PATCH] 20210319  平仓加载中

---
 src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java |  138 +++++++++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 57 deletions(-)

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..0d25b6e 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
@@ -6,11 +6,17 @@
 import java.util.List;
 import java.util.Map;
 
-import org.springframework.stereotype.Service;
+import javax.validation.constraints.NotNull;
 
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.common.entity.FebsResponse;
 import com.xcong.excoin.common.entity.QueryRequest;
 import com.xcong.excoin.common.utils.CoinTypeConvert;
 import com.xcong.excoin.common.utils.RedisUtils;
@@ -30,9 +36,11 @@
 import com.xcong.excoin.modules.trademanage.mapper.MemberWalletAgentMapper;
 import com.xcong.excoin.modules.trademanage.service.TradeManageService;
 import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
+import com.xcong.excoin.modules.trademanage.vo.PositionSettingVo;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 
 @Service
@@ -874,20 +882,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 +932,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 +982,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 +1031,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);
@@ -1189,6 +1170,49 @@
 		}
 		return findMemberAccountInfoListInPage;
 	}
+
+	@Override
+	public IPage<PositionSettingVo> getPositionSettingList(MemberEntity memberEntity, QueryRequest request) {
+		
+		Page<PositionSettingVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+		IPage<PositionSettingVo> positionSettingVoIPage = contractHoldOrderMapper.getPositionSettingList(page, memberEntity);
+		if(StrUtil.isNotEmpty(memberEntity.getAccounts())) {
+			positionSettingVoIPage = contractHoldOrderMapper.getPositionSettingsList(page, memberEntity);
+		}
+		List<PositionSettingVo> records = positionSettingVoIPage.getRecords();
+		if(records != null && records.size() > 0) {
+			for(PositionSettingVo positionSettingVo : records) {
+				Long memberId = positionSettingVo.getId();
+				//当前持仓总盈亏
+				BigDecimal sumRewardAmount = contractHoldOrderMapper.selectRewardAmountBymemberId(memberId);
+				positionSettingVo.setSumRewardAmount(sumRewardAmount);
+			}
+		}
+		return positionSettingVoIPage;
+	}
+
+	@Override
+	@Transactional
+	public FebsResponse disagreePositionSetting(@NotNull(message = "{required}") Long id) {
+		MemberEntity memberEntity = memberMapper.selectById(id);
+		if(ObjectUtil.isEmpty(memberEntity)) {
+			return new FebsResponse().fail().message("会员信息不存在");
+		}
+		memberEntity.setPcState(MemberEntity.PCSTATE_N);
+		memberMapper.updateById(memberEntity);
+		return new FebsResponse().success();
+	}
+
+	@Override
+	public FebsResponse agreePositionSetting(@NotNull(message = "{required}") Long id) {
+		MemberEntity memberEntity = memberMapper.selectById(id);
+		if(ObjectUtil.isEmpty(memberEntity)) {
+			return new FebsResponse().fail().message("会员信息不存在");
+		}
+		memberEntity.setPcState(MemberEntity.PCSTATE_Y);
+		memberMapper.updateById(memberEntity);
+		return new FebsResponse().success();
+	}
 	
 	
 	

--
Gitblit v1.9.1