From cb371230fa4f1d483dfe58e0b005e61cdb08a6d6 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 03 Mar 2021 18:07:15 +0800 Subject: [PATCH] 20210321 后台数据修改 --- src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 106 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java index e5f476a..8767b38 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java @@ -1,6 +1,7 @@ package com.xcong.excoin.modules.documentary.service.impl; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -11,6 +12,7 @@ import com.alibaba.fastjson.JSONObject; import com.xcong.excoin.common.utils.RedisUtils; +import com.xcong.excoin.modules.documentary.vo.SeeFollowerInfoVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -134,6 +136,9 @@ if(StrUtil.isNotEmpty(profitRatioStr)) { profitRatio = new BigDecimal(profitRatioStr); } + if(profitRatio.compareTo(BigDecimal.ZERO) < 0 || profitRatio.compareTo(BigDecimal.ONE) >= 0){ + return new FebsResponse().fail().message("利润率设置规则:只允许0到1之间的小数"); + } String isok = followTraderInfoDto.getIsok(); if("1".equals(isok)) { //更新【会员信息表】数据 @@ -238,11 +243,6 @@ } @Override - public IPage<FollowTraderProfitInfoEntity> findTraderDataInfoInfoInPage(FollowTraderProfitInfoEntity followTraderProfitInfoEntity, QueryRequest request) { - return null; - } - - @Override @Transactional public FebsResponse modifyProfitRatio(@Valid ModifyProfitRatioDto modifyProfitRatioDto) { Long id = modifyProfitRatioDto.getId(); @@ -254,6 +254,9 @@ String profitRatioStr = modifyProfitRatioDto.getProfitRatio(); if(StrUtil.isNotEmpty(profitRatioStr)) { profitRatio = new BigDecimal(profitRatioStr); + } + if(profitRatio.compareTo(BigDecimal.ZERO) < 0 || profitRatio.compareTo(BigDecimal.ONE) >= 0){ + return new FebsResponse().fail().message("利润率设置规则:只允许0到1之间的小数"); } //更新【交易员信息表】数据 selectById.setProfitRatio(profitRatio); @@ -284,4 +287,102 @@ return new FebsResponse().success(); } + @Override + public IPage<FollowTraderProfitInfoEntity> findTraderProfitInfoInfoInPage( + FollowTraderProfitInfoEntity followTraderProfitInfoEntity, QueryRequest request) { + + Page<FollowTraderProfitInfoEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<FollowTraderProfitInfoEntity> FollowTraderProfitInfoEntitys = followTraderProfitInfoMapper.findTraderProfitInfoInfoInPage(page, followTraderProfitInfoEntity); + List<FollowTraderProfitInfoEntity> records = FollowTraderProfitInfoEntitys.getRecords(); + + if(CollUtil.isNotEmpty(records)) { + for(FollowTraderProfitInfoEntity followTraderProfitInfo : records) { + Long traderId = followTraderProfitInfo.getTraderId(); + FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoMapper.selectById(traderId); + //利润率 + BigDecimal profitRatio = BigDecimal.ZERO; + //总返利 + BigDecimal profitRatioTotal = BigDecimal.ZERO; + if(ObjectUtil.isNotEmpty(followTraderInfoEntity)) { + profitRatio = followTraderInfoEntity.getProfitRatio(); + profitRatioTotal = new BigDecimal(followTraderInfoMapper.selectProfitRatioTotal(followTraderInfoEntity.getMemberId())).setScale(2, RoundingMode.HALF_UP); + } + followTraderProfitInfo.setProfitRatio(profitRatio); + followTraderProfitInfo.setProfitRatioTotal(profitRatioTotal); + + Long memberId = followTraderProfitInfo.getMemberId(); + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("member_id", memberId); + List<MemberAuthenticationEntity> selectByMap = memberAuthenticationMapper.selectByMap(columnMap ); + if(CollUtil.isNotEmpty(selectByMap)) { + MemberAuthenticationEntity memberAuthenticationEntity = selectByMap.get(0); + String firstName = memberAuthenticationEntity.getFirstName(); + String secondName = memberAuthenticationEntity.getSecondName(); + String realName = firstName + secondName; + followTraderProfitInfo.setRealName(realName); + } + } + } + return FollowTraderProfitInfoEntitys; + } + + @Override + public IPage<SeeFollowerInfoVo> findlistSeeFollowerInfo(QueryRequest request, FollowTraderProfitInfoEntity followTraderProfitInfoEntity) { + + Long id = followTraderProfitInfoEntity.getId(); + if(ObjectUtil.isEmpty(id)) { + return null; + } + //获取交易员信息 + FollowTraderProfitInfoEntity FollowTraderProfitInfo = followTraderProfitInfoMapper.selectById(id); + if(ObjectUtil.isEmpty(FollowTraderProfitInfo)) { + return null; + } + Long traderId = FollowTraderProfitInfo.getTraderId(); + Long traderMemberId = FollowTraderProfitInfo.getMemberId(); + FollowTraderInfoEntity FollowTraderInfo = followTraderInfoMapper.selectById(traderId); + if(ObjectUtil.isEmpty(FollowTraderInfo)) { + return null; + } + //获取当前的跟随者 + Page<SeeFollowerInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<SeeFollowerInfoVo> seeFollowerInfoVos = followFollowerProfitMapper.findFollowFollowerProfitInfo(page, FollowTraderInfo); + List<SeeFollowerInfoVo> records = seeFollowerInfoVos.getRecords(); + if(CollUtil.isNotEmpty(records)) { + for(SeeFollowerInfoVo seeFollowerInfoVo : records) { + long memberId = seeFollowerInfoVo.getMemberId(); + MemberEntity memberEntity = memberMapper.selectById(memberId); + if(ObjectUtil.isNotEmpty(memberEntity)) { + String phone = memberEntity.getPhone(); + String email = memberEntity.getEmail(); + String inviteId = memberEntity.getInviteId(); + seeFollowerInfoVo.setPhone(phone); + seeFollowerInfoVo.setEmail(email); + seeFollowerInfoVo.setInviteId(inviteId); + //合约账户总资产 + String totalString = memberMapper.selectMemberWalletContractByMemberId(memberId); + BigDecimal contractTotal = new BigDecimal(totalString); + seeFollowerInfoVo.setContractTotal(contractTotal); + //总返利 + String totalProfitStr = followTraderInfoMapper.selectAllProfitByMemberIdAndTraderMemberId(memberId,traderMemberId); + BigDecimal totalProfit = new BigDecimal(totalProfitStr); + seeFollowerInfoVo.setProfitTotal(totalProfit); + + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("member_id", memberId); + List<MemberAuthenticationEntity> selectByMap = memberAuthenticationMapper.selectByMap(columnMap ); + if(CollUtil.isNotEmpty(selectByMap)) { + MemberAuthenticationEntity memberAuthenticationEntity = selectByMap.get(0); + String firstName = memberAuthenticationEntity.getFirstName(); + String secondName = memberAuthenticationEntity.getSecondName(); + String realName = firstName + secondName; + seeFollowerInfoVo.setRealName(realName); + } + } + } + } + + return seeFollowerInfoVos; + } + } -- Gitblit v1.9.1