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