helixiao 1 år sedan
förälder
incheckning
faa1e056c8

+ 24 - 6
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -23,7 +23,6 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.dao.*;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.dto.*;
-import com.ydtech.modules.admin.model.po.SysUserAccountHistory;
 import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.admin.service.SysAgencyLeaderService;
 import com.ydtech.modules.admin.service.SysPartnerService;
@@ -1071,7 +1070,12 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                                 .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector())
                                 .eq(SysPremiumDetails::getStatus, 1));
                         if (CollectionUtil.isNotEmpty(sysPremiumDetails)) {
-                            sumPremium = sumPremium.add(sysPremiumDetails.get(0).getSumpremium());
+                            Map<String, List<SysPremiumDetails>> map = sysPremiumDetails.stream().sorted(Comparator.comparing(SysPremiumDetails::getId))
+                                    .collect(Collectors.groupingBy(SysPremiumDetails::getCompanyId));
+                            for (String s : map.keySet()) {
+                                List<SysPremiumDetails> sysPremiumDetails1 = map.get(s);
+                                sumPremium = sumPremium.add(sysPremiumDetails1.get(0).getSumpremium());
+                            }
                             BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
                             extractFee = extractFee.add(reduce);
                         }
@@ -1177,7 +1181,14 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                             .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector())
                             .eq(SysPremiumDetails::getStatus, 1));
                     if (CollectionUtil.isNotEmpty(sysPremiumDetails)) {
-                        sumPremium = sumPremium.add(sysPremiumDetails.get(0).getSumpremium());
+                        Map<String, List<SysPremiumDetails>> map = sysPremiumDetails.stream().sorted(Comparator.comparing(SysPremiumDetails::getId))
+                                .collect(Collectors.groupingBy(SysPremiumDetails::getCompanyId));
+                        for (String s : map.keySet()) {
+                            List<SysPremiumDetails> sysPremiumDetails1 = map.get(s);
+                            sumPremium = sumPremium.add(sysPremiumDetails1.get(0).getSumpremium());
+                        }
+
+//                        sumPremium = sumPremium.add(sysPremiumDetails.get(0).getSumpremium());
                         BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
                         extractFee = extractFee.add(reduce);
                     }
@@ -1242,7 +1253,14 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                                     .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector()));
 
                             if (CollectionUtil.isNotEmpty(sysPremiumDetail)) {
-                                sumPremium1 = sumPremium1.add(sysPremiumDetail.get(0).getSumpremium());
+                                Map<String, List<SysPremiumDetails>> map = sysPremiumDetail.stream().sorted(Comparator.comparing(SysPremiumDetails::getId))
+                                        .collect(Collectors.groupingBy(SysPremiumDetails::getCompanyId));
+                                for (String s : map.keySet()) {
+                                    List<SysPremiumDetails> sysPremiumDetails1 = map.get(s);
+                                    sumPremium1 = sumPremium1.add(sysPremiumDetails1.get(0).getSumpremium());
+                                }
+
+//                                sumPremium1 = sumPremium1.add(sysPremiumDetail.get(0).getSumpremium());
                                 BigDecimal reduce = sysPremiumDetail.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
                                 extractFee1 = extractFee1.add(reduce);
                             }
@@ -1741,7 +1759,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                                     .eq(partnerGradeInfo.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerGradeInfo.getIndustrySector()));
                             if (sysPremiumDetail.size() >0) {
                                 SysPremiumDetails sysPremiumDetails = sysPremiumDetail.get(0);
-                                sumPremium1= sumPremium1.add(sysPremiumDetails.getSumpremium());
+                                sumPremium1= sumPremium1.add(sysPremiumDetail.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add));
 
                                 extractFee1 = extractFee1.add(sysPremiumDetail.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add));
                             }
@@ -1772,7 +1790,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
                 if (sysPremiumDetails.size() >0) {
                     SysPremiumDetails sysPremiumDetails1 = sysPremiumDetails.get(0);
-                    sumPremium= sumPremium.add(sysPremiumDetails1.getSumpremium());
+                    sumPremium= sumPremium.add(sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add));
 
                     extractFee = extractFee.add(sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add));
                 }