浏览代码

总费用和

helixiao 1 年之前
父节点
当前提交
b668385ef7
共有 1 个文件被更改,包括 59 次插入47 次删除
  1. 59 47
      src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

+ 59 - 47
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -1059,23 +1059,27 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 //直接工作室下所有的人
                 List<String> userIds = getUserIds(sysRelationPersons1);
 
+                BigDecimal sumPremium = BigDecimal.ZERO;
+                BigDecimal extractFee = BigDecimal.ZERO;
                 if (CollectionUtil.isNotEmpty(userIds)) {
-                    List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                            .eq(SysPremiumDetails::getUserId, BaseController.getUserId())
-                            .in(SysPremiumDetails::getIssuerId,userIds)
-                            .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
-                                    SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
-                            .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector())
-                            .eq(SysPremiumDetails::getStatus, 1));
-                    BigDecimal sumPremium = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    BigDecimal extractFee = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    for (String id : userIds) {
+                        List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                                .eq(SysPremiumDetails::getUserId, BaseController.getUserId())
+                                .eq(SysPremiumDetails::getIssuerId,id)
+                                .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
+                                        SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
+                                .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector())
+                                .eq(SysPremiumDetails::getStatus, 1));
+                        if (CollectionUtil.isNotEmpty(sysPremiumDetails)) {
+                            sumPremium = sumPremium.add(sysPremiumDetails.get(0).getSumpremium());
+                            BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                            extractFee = extractFee.add(reduce);
+                        }
 
-                    appSysPartnerVo.setSumPremium(sumPremium);
-                    appSysPartnerVo.setExtractFee(extractFee);
-                }else {
-                    appSysPartnerVo.setSumPremium(BigDecimal.ZERO);
-                    appSysPartnerVo.setExtractFee(BigDecimal.ZERO);
+                    }
                 }
+                appSysPartnerVo.setSumPremium(sumPremium);
+                appSysPartnerVo.setExtractFee(extractFee);
                 //每一级存入map
                 appSysPartnerVos.add(appSysPartnerVo);
             }
@@ -1159,24 +1163,29 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                     .eq(SysRelationPerson::getDelFlag, 1)
                     .eq(SysRelationPerson::getType, 1));
             List<String> userIds = getUserIds(sysRelationPersons1);
-
+            BigDecimal sumPremium = BigDecimal.ZERO;
+            BigDecimal extractFee = BigDecimal.ZERO;
             if (CollectionUtil.isNotEmpty(userIds)) {
-                //费用
-                List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                        .eq(SysPremiumDetails::getUserId, loginId)
-                        .in(SysPremiumDetails::getIssuerId,userIds)
-                        .between(StringUtils.isNotEmpty(partnerGradeInfo.getBeginTime()) && StringUtils.isNotEmpty(partnerGradeInfo.getEndTime()),
-                                SysPremiumDetails::getCreateTime, partnerGradeInfo.getBeginTime(), partnerGradeInfo.getEndTime())
-                        .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector())
-                        .eq(SysPremiumDetails::getStatus, 1));
-                BigDecimal sumPremium = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                BigDecimal extractFee = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
-                partnerInfoFreeVo.setSumPremium(sumPremium);
-                partnerInfoFreeVo.setExtractFee(extractFee);
-            }else {
-                partnerInfoFreeVo.setSumPremium(BigDecimal.ZERO);
-                partnerInfoFreeVo.setExtractFee(BigDecimal.ZERO);
+                for (String userId : userIds) {
+
+                    //费用
+                    List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                            .eq(SysPremiumDetails::getUserId, loginId)
+                            .eq(SysPremiumDetails::getIssuerId,userId)
+                            .between(StringUtils.isNotEmpty(partnerGradeInfo.getBeginTime()) && StringUtils.isNotEmpty(partnerGradeInfo.getEndTime()),
+                                    SysPremiumDetails::getCreateTime, partnerGradeInfo.getBeginTime(), partnerGradeInfo.getEndTime())
+                            .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector())
+                            .eq(SysPremiumDetails::getStatus, 1));
+                    if (CollectionUtil.isNotEmpty(sysPremiumDetails)) {
+                        sumPremium = sumPremium.add(sysPremiumDetails.get(0).getSumpremium());
+                        BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        extractFee = extractFee.add(reduce);
+                    }
+
+                }
             }
+            partnerInfoFreeVo.setSumPremium(sumPremium);
+            partnerInfoFreeVo.setExtractFee(extractFee);
 
             //合伙人
             List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
@@ -1219,26 +1228,29 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                             .eq(SysRelationPerson::getType, 1));
 
                     List<String> userIds1 = getUserIds(sysRelationPersonList2);
+                    BigDecimal sumPremium1 = BigDecimal.ZERO;
+                    BigDecimal extractFee1 = BigDecimal.ZERO;
                     if (CollectionUtil.isNotEmpty(userIds1)) {
-                        //费用
-                        List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                                .eq(SysPremiumDetails::getUserId, loginId)
-                                .in(SysPremiumDetails::getIssuerId,userIds1)
-                                .between(StringUtils.isNotEmpty(partnerGradeInfo.getBeginTime()) && StringUtils.isNotEmpty(partnerGradeInfo.getEndTime()),
-                                        SysPremiumDetails::getCreateTime, partnerGradeInfo.getBeginTime(), partnerGradeInfo.getEndTime())
-                                .eq(SysPremiumDetails::getStatus, 1)
-                                .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector()));
-                        BigDecimal sumPremium1 = sysPremiumDetail.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                        BigDecimal extractFee1 = sysPremiumDetail.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
-                        partnerInfoVo.setSumPremium(sumPremium1);
-                        partnerInfoVo.setExtractFee(extractFee1);
-                    }else {
-                        partnerInfoVo.setSumPremium(BigDecimal.ZERO);
-                        partnerInfoVo.setExtractFee(BigDecimal.ZERO);
-                    }
-
+                        for (String id : userIds1) {
+                            //费用
+                            List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                                    .eq(SysPremiumDetails::getUserId, loginId)
+                                    .eq(SysPremiumDetails::getIssuerId,id)
+                                    .between(StringUtils.isNotEmpty(partnerGradeInfo.getBeginTime()) && StringUtils.isNotEmpty(partnerGradeInfo.getEndTime()),
+                                            SysPremiumDetails::getCreateTime, partnerGradeInfo.getBeginTime(), partnerGradeInfo.getEndTime())
+                                    .eq(SysPremiumDetails::getStatus, 1)
+                                    .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector()));
 
+                            if (CollectionUtil.isNotEmpty(sysPremiumDetail)) {
+                                sumPremium1 = sumPremium1.add(sysPremiumDetail.get(0).getSumpremium());
+                                BigDecimal reduce = sysPremiumDetail.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                                extractFee1 = extractFee1.add(reduce);
+                            }
+                        }
 
+                    }
+                    partnerInfoVo.setSumPremium(sumPremium1);
+                    partnerInfoVo.setExtractFee(extractFee1);
 
                     int deptManNum = 0;
                     if (sysRelationPersonList2.size() > 0) {