Ver Fonte

抽层费用保存修改

helixiao há 1 ano atrás
pai
commit
5168353694

+ 168 - 52
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -322,6 +322,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                         sysPremiumDetails.setIndustrySector(1);
                         sysPremiumDetailsMapper.insert(sysPremiumDetails);
                     }
+                    //总费用
+                    BigDecimal bigDecimal = insAreaCompany.getJqpremium().add(insAreaCompany.getJypremium()).add(insAreaCompany.getSypremium());
                     //查询一级合伙人的比例配置
                     SysRelationPerson sysRelationPerson1 = sysRelationPersonMapper.selectOne(new LambdaQueryWrapper<SysRelationPerson>()
                             .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader.getUserId())
@@ -330,65 +332,179 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                     SysProportionConfig sysProportionConfig = sysProportionConfigMapper.selectOne(new LambdaQueryWrapper<SysProportionConfig>()
                             .eq(SysProportionConfig::getUserId, sysRelationPerson1.getSuggestId()));
 
+
+
+                    Map<Integer, BigDecimal> map = new HashMap<>();
+                    //每级人员所要分的钱+
+                    String oneProportion = sysProportionConfig.getOneProportion();
+                    if (StringUtils.isNotEmpty(oneProportion)) {
+                        BigDecimal bigDecimal1 = bigDecimal.multiply(new BigDecimal(sysProportionConfig.getOneProportion())
+                                .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                        map.put(1, bigDecimal1);
+                    }else {
+                        map.put(1, null);
+                    }
+                    String twoProportion = sysProportionConfig.getTwoProportion();
+                    if (StringUtils.isNotEmpty(twoProportion)) {
+                        BigDecimal bigDecimal2 = bigDecimal.multiply(new BigDecimal(sysProportionConfig.getTwoProportion())
+                                .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                        map.put(2, bigDecimal2);
+                    }else {
+                        map.put(2, null);
+                    }
+
+                    String threeProportion = sysProportionConfig.getThreeProportion();
+                    if (StringUtils.isNotEmpty(threeProportion)) {
+
+                        BigDecimal bigDecimal3 = bigDecimal.multiply(new BigDecimal(sysProportionConfig.getThreeProportion())
+                                .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                        map.put(3, bigDecimal3);
+                    }else {
+                        map.put(3, null);
+                    }
+
+                    String fourProportion = sysProportionConfig.getFourProportion();
+                    if (StringUtils.isNotEmpty(fourProportion)) {
+
+                        BigDecimal bigDecimal4 = bigDecimal.multiply(new BigDecimal(sysProportionConfig.getFourProportion())
+                                .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                        map.put(4, bigDecimal4);
+                    }else {
+                        map.put(4, null);
+                    }
+
+                    String fiveProportion = sysProportionConfig.getFiveProportion();
+                    if (StringUtils.isNotEmpty(fiveProportion)) {
+                        BigDecimal bigDecimal5 = bigDecimal.multiply(new BigDecimal(sysProportionConfig.getFiveProportion())
+                                .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                        map.put(5, bigDecimal5);
+                    }else {
+                        map.put(5, null);
+                    }
+
+                    List<Integer> collect1 = map.keySet().stream().sorted((a, b) -> b - a).collect(Collectors.toList());
                     //合伙人抽层费用记录
                     List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                             .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader.getUserId()).eq(SysRelationPerson::getType, 1));
 
-                    if (sysRelationPersonList.size()>0) {
-                        for (SysRelationPerson sysRelationPerson : sysRelationPersonList) {
-                            SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
-                                    .eq(SysPartner::getUserId, sysRelationPerson.getSuggestId()).eq(SysPartner::getDelFlag, 1));
-                            if (sysPartner == null) continue;
-                            SysPremiumDetails sysPremiumDetail = new SysPremiumDetails();
-                            sysPremiumDetail.setUserId(sysPartner.getUserId());
-                            sysPremiumDetail.setUserName(sysPartner.getUserName());
-                            sysPremiumDetail.setCompanyId(insAreaCompany.getId());
-                            sysPremiumDetail.setOrderno(insAreaCompany.getOrderno());
-                            sysPremiumDetail.setJqpremium(insAreaCompany.getJqpremium());
-                            sysPremiumDetail.setJypremium(insAreaCompany.getJypremium());
-                            sysPremiumDetail.setSypremium(insAreaCompany.getSypremium());
-                            sysPremiumDetail.setSumpremium(insAreaCompany.getJqpremium().add(insAreaCompany.getJypremium()).add(insAreaCompany.getSypremium()));
-                            sysPremiumDetail.setStatus(0);
-                            sysPremiumDetail.setType(2);
-                            sysPremiumDetail.setIssuerId(userId);
-                            sysPremiumDetail.setIssuerName(insOrders.getUsername());
-                            sysPremiumDetail.setCreateTime(new Date());
-                            sysPremiumDetail.setIndustrySector(1);
-                            int suggestLevel = sysRelationPerson.getSuggestLevel();
-                            if (suggestLevel == 1) {
-                                String oneProportion = sysProportionConfig.getOneProportion();
-                                if (StringUtils.isEmpty(oneProportion)) continue;
-                                sysPremiumDetail.setProportional(oneProportion);
-                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(oneProportion)
-                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
-                            }else if (suggestLevel == 2) {
-                                String twoProportion = sysProportionConfig.getTwoProportion();
-                                if (StringUtils.isEmpty(twoProportion)) continue;
-                                sysPremiumDetail.setProportional(twoProportion);
-                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(twoProportion)
-                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
-                            }else if (suggestLevel == 3) {
-                                String threeProportion = sysProportionConfig.getThreeProportion();
-                                if (StringUtils.isEmpty(threeProportion)) continue;
-                                sysPremiumDetail.setProportional(threeProportion);
-                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(threeProportion)
-                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
-                            }else if (suggestLevel == 4) {
-                                String fourProportion = sysProportionConfig.getFourProportion();
-                                if (StringUtils.isEmpty(fourProportion)) continue;
-                                sysPremiumDetail.setProportional(sysProportionConfig.getFourProportion());
-                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(sysProportionConfig.getFourProportion())
-                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
-                            }else if (suggestLevel == 5) {
-                                String fiveProportion = sysProportionConfig.getFiveProportion();
-                                if (StringUtils.isEmpty(fiveProportion)) continue;
-                                sysPremiumDetail.setProportional(sysProportionConfig.getFiveProportion());
-                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(sysProportionConfig.getFiveProportion())
-                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
+                    Map<Integer, SysRelationPerson> collect = sysRelationPersonList.stream().collect(Collectors.toMap(SysRelationPerson::getSuggestLevel, x->x));
+
+                    for (Integer integer : collect1) {
+                        SysPremiumDetails sysPremiumDetail = new SysPremiumDetails();
+                        BigDecimal bigDecimal6 = map.get(integer);
+                        if(bigDecimal6 == null){
+                            continue;
+                        }
+
+                        if (integer == 1) {
+                            sysPremiumDetail.setProportional(oneProportion);
+                        }else if (integer == 2) {
+                            sysPremiumDetail.setProportional(twoProportion);
+                        }else if (integer == 3) {
+                            sysPremiumDetail.setProportional(threeProportion);
+                        }else if (integer == 4) {
+                            sysPremiumDetail.setProportional(fourProportion);
+                        }else if (integer == 5) {
+                            sysPremiumDetail.setProportional(fiveProportion);
+                        }
+                        SysRelationPerson sysRelationPerson = collect.get(integer);
+                        int c = integer;
+                        if (sysRelationPerson == null) {
+
+                            for(int a = collect1.indexOf(integer); a < collect1.size(); a++ ){
+                                System.out.println(a);
+                                Integer integer1 = collect1.get(a);
+
+                                sysRelationPerson = collect.get(integer1);
+
+                                c = integer1;
+                                if (sysRelationPerson != null) {
+                                    break;
+                                }
                             }
-                            sysPremiumDetailsMapper.insert(sysPremiumDetail);
+
                         }
+
+                        sysRelationPerson = collect.get(c);
+                        SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
+                                .eq(SysPartner::getUserId, sysRelationPerson.getSuggestId()).eq(SysPartner::getDelFlag, 1));
+
+
+                        sysPremiumDetail.setUserId(sysPartner.getUserId());
+                        sysPremiumDetail.setUserName(sysPartner.getUserName());
+                        sysPremiumDetail.setCompanyId(insAreaCompany.getId());
+                        sysPremiumDetail.setOrderno(insAreaCompany.getOrderno());
+                        sysPremiumDetail.setJqpremium(insAreaCompany.getJqpremium());
+                        sysPremiumDetail.setJypremium(insAreaCompany.getJypremium());
+                        sysPremiumDetail.setSypremium(insAreaCompany.getSypremium());
+                        sysPremiumDetail.setSumpremium(insAreaCompany.getJqpremium().add(insAreaCompany.getJypremium()).add(insAreaCompany.getSypremium()));
+                        sysPremiumDetail.setStatus(0);
+                        sysPremiumDetail.setType(2);
+                        sysPremiumDetail.setIssuerId(userId);
+                        sysPremiumDetail.setIssuerName(insOrders.getUsername());
+                        sysPremiumDetail.setCreateTime(new Date());
+                        sysPremiumDetail.setIndustrySector(1);
+                        sysPremiumDetail.setExtractFee(bigDecimal6);
+
+                        sysPremiumDetailsMapper.insert(sysPremiumDetail);
                     }
+
+//                    if (sysRelationPersonList.size()>0) {
+//                        for (SysRelationPerson sysRelationPerson : sysRelationPersonList) {
+//                            SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
+//                                    .eq(SysPartner::getUserId, sysRelationPerson.getSuggestId()).eq(SysPartner::getDelFlag, 1));
+//                            if (sysPartner == null) continue;
+//                            SysPremiumDetails sysPremiumDetail = new SysPremiumDetails();
+//                            sysPremiumDetail.setUserId(sysPartner.getUserId());
+//                            sysPremiumDetail.setUserName(sysPartner.getUserName());
+//                            sysPremiumDetail.setCompanyId(insAreaCompany.getId());
+//                            sysPremiumDetail.setOrderno(insAreaCompany.getOrderno());
+//                            sysPremiumDetail.setJqpremium(insAreaCompany.getJqpremium());
+//                            sysPremiumDetail.setJypremium(insAreaCompany.getJypremium());
+//                            sysPremiumDetail.setSypremium(insAreaCompany.getSypremium());
+//                            sysPremiumDetail.setSumpremium(insAreaCompany.getJqpremium().add(insAreaCompany.getJypremium()).add(insAreaCompany.getSypremium()));
+//                            sysPremiumDetail.setStatus(0);
+//                            sysPremiumDetail.setType(2);
+//                            sysPremiumDetail.setIssuerId(userId);
+//                            sysPremiumDetail.setIssuerName(insOrders.getUsername());
+//                            sysPremiumDetail.setCreateTime(new Date());
+//                            sysPremiumDetail.setIndustrySector(1);
+//                            int suggestLevel = sysRelationPerson.getSuggestLevel();
+//                            if (suggestLevel == 1) {
+//                                String oneProportion = sysProportionConfig.getOneProportion();
+//                                if (StringUtils.isEmpty(oneProportion)) continue;
+//                                sysPremiumDetail.setProportional(oneProportion);
+//                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(oneProportion)
+//                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
+//                            }else if (suggestLevel == 2) {
+//                                String twoProportion = sysProportionConfig.getTwoProportion();
+//                                if (StringUtils.isEmpty(twoProportion)) continue;
+//                                sysPremiumDetail.setProportional(twoProportion);
+//                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(twoProportion)
+//                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
+//                            }else if (suggestLevel == 3) {
+//                                String threeProportion = sysProportionConfig.getThreeProportion();
+//                                if (StringUtils.isEmpty(threeProportion)) continue;
+//                                sysPremiumDetail.setProportional(threeProportion);
+//                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(threeProportion)
+//                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
+//                            }else if (suggestLevel == 4) {
+//                                String fourProportion = sysProportionConfig.getFourProportion();
+//                                if (StringUtils.isEmpty(fourProportion)) continue;
+//                                sysPremiumDetail.setProportional(sysProportionConfig.getFourProportion());
+//                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(sysProportionConfig.getFourProportion())
+//                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
+//                            }else if (suggestLevel == 5) {
+//                                String fiveProportion = sysProportionConfig.getFiveProportion();
+//                                if (StringUtils.isEmpty(fiveProportion)) continue;
+//                                sysPremiumDetail.setProportional(sysProportionConfig.getFiveProportion());
+//                                sysPremiumDetail.setExtractFee(sysPremiumDetail.getSumpremium().multiply(new BigDecimal(sysProportionConfig.getFiveProportion())
+//                                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
+//                            }
+//
+//
+//                        }
+//                    }
                 }
             }
         }catch (Exception e){