Jelajahi Sumber

合伙人登录查询下属合伙人上级无人问题

helixiao 1 tahun lalu
induk
melakukan
a5a4d36bde

+ 78 - 61
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -1185,6 +1185,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             List<SysPartner> sysPartnerList1 = listMap.get(integer);
             if (sysPartnerList1.size() > 0) {
                 AppSysPartnerVo appSysPartnerVo = new AppSysPartnerVo();
+                appSysPartnerVo.setPartnerType(integer);
                 //下级合伙人数
                 appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
                 List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
@@ -1236,9 +1237,12 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
                         //获取上一级合伙人,查询工作室数量
                         List<SysPartner> sysPartners = listMap.get(integer - 1);
-                        //上一级直接推荐的工作室数量
-                        List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
-                        list.addAll(list1);
+                        if (sysPartners == null) {
+                            //上一级直接推荐的工作室数量
+                            List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
+                            list.addAll(list1);
+                            extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
+                        }
                     }
                 }else if (type == 2) {
                     if (integer == 3) {
@@ -1248,9 +1252,12 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
                         //获取上一级合伙人,查询工作室数量
                         List<SysPartner> sysPartners = listMap.get(integer - 1);
-                        //上一级直接推荐的工作室数量
-                        List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
-                        list.addAll(list1);
+                        if (sysPartners != null) {
+                            //上一级直接推荐的工作室数量
+                            List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
+                            list.addAll(list1);
+                            extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
+                        }
                     }
 
                 }else if (type == 3) {
@@ -1261,9 +1268,12 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
                         //获取上一级合伙人,查询工作室数量
                         List<SysPartner> sysPartners = listMap.get(integer - 1);
-                        //上一级直接推荐的工作室数量
-                        List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
-                        list.addAll(list1);
+                        if (sysPartners != null) {
+                            //上一级直接推荐的工作室数量
+                            List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
+                            list.addAll(list1);
+                            extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
+                        }
                     }
 
                 }else if (type == 4) {
@@ -1274,71 +1284,78 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
                         //获取上一级合伙人,查询工作室数量
                         List<SysPartner> sysPartners = listMap.get(integer - 1);
-                        //上一级直接推荐的工作室数量
-                        List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
-                        list.addAll(list1);
+                        if (sysPartners != null) {
+                            //上一级直接推荐的工作室数量
+                            List<String> list1 = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
+                            list.addAll(list1);
+                            extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
+                        }
                     }
                 }
 
-                List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
-                        .in(CollectionUtil.isNotEmpty(list), SysRelationPerson::getSuggestId, list)
-                        .eq(SysRelationPerson::getDelFlag, 1)
-                        .eq(SysRelationPerson::getSource, 0)
-                        .eq(SysRelationPerson::getType, 1));
-                appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
-                List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
-                appSysPartnerVo.setLeaderIds(list1);
-                //直接工作室保费
-                List<SysPremiumDetails> sysPremiumDetails1 = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                        .in(CollectionUtil.isNotEmpty(list1), SysPremiumDetails::getUserId, list1)
-                        .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
-                                SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
-                        .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector()));
-                if (sysPremiumDetails1 != null) {
+//                extracted(partnerInfoDto, appSysPartnerVo, sumPremium, extractFee, deptManNum, list);
 
-                    BigDecimal sumPremium1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    BigDecimal extractFee1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                //每一级存入map
+                appSysPartnerVos.add(appSysPartnerVo);
+            }
+        }
 
-                    appSysPartnerVo.setSumPremium(sumPremium.add(sumPremium1));
-                    appSysPartnerVo.setExtractFee(extractFee.add(extractFee1));
-                }else {
-                    appSysPartnerVo.setSumPremium(sumPremium);
-                    appSysPartnerVo.setExtractFee(extractFee);
-                }
-                int leaderManNum=0;
-                //直接工作室总
-                List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
-                        .in(CollectionUtil.isNotEmpty(list1), SysAgencyLeader::getUserId, list1).eq(SysAgencyLeader::getDelFlag, 1));
 
-                if (leaderList.size() > 0) {
-                    for (SysAgencyLeader sysAgencyLeader : leaderList) {
-                        //获取机构下的团队
-                        List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
-                                .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
-                                .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
-                                .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
-                        if (sysDeptList.size() > 0) {
-                            for (SysDept sysDept : sysDeptList) {
-                                List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
-                                        .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
-                                leaderManNum = leaderManNum + sysUsers.size();
+        return appSysPartnerVos;
+    }
 
-                            }
-                        }
-                    }
-                }
+    private void extracted(PartnerInfoDto partnerInfoDto, AppSysPartnerVo appSysPartnerVo, BigDecimal sumPremium, BigDecimal extractFee, int deptManNum, List<String> list) {
+        List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                .in(CollectionUtil.isNotEmpty(list), SysRelationPerson::getSuggestId, list)
+                .eq(SysRelationPerson::getDelFlag, 1)
+                .eq(SysRelationPerson::getSource, 0)
+                .eq(SysRelationPerson::getType, 1));
+        appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
+        List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+        appSysPartnerVo.setLeaderIds(list1);
+        //直接工作室保费
+        List<SysPremiumDetails> sysPremiumDetails1 = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                .in(CollectionUtil.isNotEmpty(list1), SysPremiumDetails::getUserId, list1)
+                .between(StringUtils.isNotEmpty(partnerInfoDto.getBeginTime()) && StringUtils.isNotEmpty(partnerInfoDto.getEndTime()),
+                        SysPremiumDetails::getCreateTime, partnerInfoDto.getBeginTime(), partnerInfoDto.getEndTime())
+                .eq(partnerInfoDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, partnerInfoDto.getIndustrySector()));
+        if (sysPremiumDetails1 != null) {
+
+            BigDecimal sumPremium1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal extractFee1 = sysPremiumDetails1.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+            appSysPartnerVo.setSumPremium(sumPremium.add(sumPremium1));
+            appSysPartnerVo.setExtractFee(extractFee.add(extractFee1));
+        }else {
+            appSysPartnerVo.setSumPremium(sumPremium);
+            appSysPartnerVo.setExtractFee(extractFee);
+        }
+        int leaderManNum=0;
+        //直接工作室总
+        List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
+                .in(CollectionUtil.isNotEmpty(list1), SysAgencyLeader::getUserId, list1).eq(SysAgencyLeader::getDelFlag, 1));
 
-                appSysPartnerVo.setTeamManNum(deptManNum+leaderManNum);
+        if (leaderList.size() > 0) {
+            for (SysAgencyLeader sysAgencyLeader : leaderList) {
+                //获取机构下的团队
+                List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+                        .likeRight(SysDept::getId, sysAgencyLeader.getDeptId())
+                        .isNull(SysDept::getComlevel).eq(SysDept::getDelFlag, 0)
+                        .eq(SysDept::getManagementSource, sysAgencyLeader.getSource()));
+                if (sysDeptList.size() > 0) {
+                    for (SysDept sysDept : sysDeptList) {
+                        List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
+                                .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
+                        leaderManNum = leaderManNum + sysUsers.size();
 
-                appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber() + appSysPartnerVo.getWorkNumber());
-                appSysPartnerVo.setPartnerType(integer);
-                //每一级存入map
-                appSysPartnerVos.add(appSysPartnerVo);
+                    }
+                }
             }
         }
 
+        appSysPartnerVo.setTeamManNum(deptManNum +leaderManNum);
 
-        return appSysPartnerVos;
+        appSysPartnerVo.setNumber(appSysPartnerVo.getPartnerNumber() + appSysPartnerVo.getWorkNumber());
     }
 
     @Override