helixiao 1 год назад
Родитель
Сommit
f3726c1f2c

+ 1 - 1
src/main/java/com/ydtech/modules/admin/controller/APPPartnerController.java

@@ -218,7 +218,7 @@ public class APPPartnerController extends BaseController {
      */
      */
     @PostMapping("/getLevelPartnerInfo")
     @PostMapping("/getLevelPartnerInfo")
     @ApiOperation(value = "排行榜->查看详情")
     @ApiOperation(value = "排行榜->查看详情")
-    public HttpResult<PartnerInfoFreeVo> getLevelPartnerInfo(@RequestBody List<String> partnerIds) {
+    public HttpResult<List<LevelPartnerInfoVo>> getLevelPartnerInfo(@RequestBody List<String> partnerIds) {
 
 
         return HttpResult.ok("success",this.sysPartnerService.getLevelPartnerInfo(partnerIds));
         return HttpResult.ok("success",this.sysPartnerService.getLevelPartnerInfo(partnerIds));
     }
     }

+ 3 - 1
src/main/java/com/ydtech/modules/admin/dao/SysPartnerMapper.java

@@ -35,8 +35,10 @@ public interface SysPartnerMapper extends BaseMapper<SysPartner> {
      *  @Description:  机构树形
      *  @Description:  机构树形
      */
      */
     List<SysPartnerConsoleDto> getTreeDeptUser(PartnerBalanceVo partnerBalanceVo);
     List<SysPartnerConsoleDto> getTreeDeptUser(PartnerBalanceVo partnerBalanceVo);
-
+    //直接
     List<SysPartner> queryByLoginId(@Param("userId") String userId);
     List<SysPartner> queryByLoginId(@Param("userId") String userId);
+    //间接
+    List<SysPartner> queryIndirectByLoginId(@Param("userId") String userId);
 
 
     List<CountUserNumVo> queryDeptByTime(@Param("deptIds") List<String> deptIds, @Param("dto") CountUserDto countUserDto);
     List<CountUserNumVo> queryDeptByTime(@Param("deptIds") List<String> deptIds, @Param("dto") CountUserDto countUserDto);
     List<CountUserNumVo> queryDeptByTimes(@Param("deptIds") List<String> deptIds, @Param("dto") CountUserDto countUserDto);
     List<CountUserNumVo> queryDeptByTimes(@Param("deptIds") List<String> deptIds, @Param("dto") CountUserDto countUserDto);

+ 2 - 0
src/main/java/com/ydtech/modules/admin/model/dto/PartnerInfoDto.java

@@ -15,4 +15,6 @@ public class PartnerInfoDto {
 
 
     @ApiModelProperty(value = "等级 1一级;2二级;3级")
     @ApiModelProperty(value = "等级 1一级;2二级;3级")
     private Integer partnerType;
     private Integer partnerType;
+    @ApiModelProperty(value = "用户ID")
+    private String userId;
 }
 }

+ 0 - 3
src/main/java/com/ydtech/modules/admin/model/vo/AppSysPartnerVo.java

@@ -34,9 +34,6 @@ public class AppSysPartnerVo {
     @ApiModelProperty(value = "团队总人数")
     @ApiModelProperty(value = "团队总人数")
     private Integer TeamManNum;
     private Integer TeamManNum;
 
 
-    @ApiModelProperty(value = "合伙人+工作室数量")
-    private Integer number;
-
     @ApiModelProperty(value = "工作室数量")
     @ApiModelProperty(value = "工作室数量")
     private Integer workNumber;
     private Integer workNumber;
     //二级以下使用
     //二级以下使用

+ 20 - 0
src/main/java/com/ydtech/modules/admin/model/vo/LevelPartnerInfoVo.java

@@ -0,0 +1,20 @@
+package com.ydtech.modules.admin.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class LevelPartnerInfoVo {
+
+    @ApiModelProperty(value = "用户Id")
+    private String userId;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户等级")
+    private Integer level;
+
+    @ApiModelProperty(value = "人数")
+    private int deptManNum;
+}

+ 1 - 1
src/main/java/com/ydtech/modules/admin/service/SysPartnerService.java

@@ -88,5 +88,5 @@ public interface SysPartnerService extends IService<SysPartner> {
 
 
     String checkBindWechat();
     String checkBindWechat();
 
 
-    PartnerInfoFreeVo getLevelPartnerInfo(List<String> partnerIds);
+    List<LevelPartnerInfoVo> getLevelPartnerInfo(List<String> partnerIds);
 }
 }

+ 358 - 262
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -88,9 +88,6 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
 
     @Resource
     @Resource
     private SysPremiumDetailsService sysPremiumDetailsService;
     private SysPremiumDetailsService sysPremiumDetailsService;
-
-    @Resource
-    private SysUserAccountHistoryMapper sysUserAccountHistoryMapper;
     @Resource
     @Resource
     private SysPartnerConfigMapper sysPartnerConfigMapper;
     private SysPartnerConfigMapper sysPartnerConfigMapper;
 
 
@@ -659,7 +656,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     @Override
     @Override
     public APPPartnerInfoFreeVo getTeamInfo(PartnerGradeInfo partnerGradeInfo) {
     public APPPartnerInfoFreeVo getTeamInfo(PartnerGradeInfo partnerGradeInfo) {
         APPPartnerInfoFreeVo appPartnerInfoFreeVo = new APPPartnerInfoFreeVo();
         APPPartnerInfoFreeVo appPartnerInfoFreeVo = new APPPartnerInfoFreeVo();
-
+        String loginId = BaseController.getUserId();
         List<APPPartnerInfo> appPartnerInfoList = new ArrayList<>();
         List<APPPartnerInfo> appPartnerInfoList = new ArrayList<>();
 
 
         List<String> deptIds = partnerGradeInfo.getDeptIds();
         List<String> deptIds = partnerGradeInfo.getDeptIds();
@@ -704,26 +701,29 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             }
             }
             appPartnerInfo.setTeamManNum(deptManNum);
             appPartnerInfo.setTeamManNum(deptManNum);
             appPartnerInfo.setUserIds(userIdList);
             appPartnerInfo.setUserIds(userIdList);
+            BigDecimal sumPremium = BigDecimal.ZERO;
+            BigDecimal extractFee = BigDecimal.ZERO;
             if (CollectionUtil.isEmpty(userIdList)) continue;
             if (CollectionUtil.isEmpty(userIdList)) continue;
-            //查团队的保费
-            List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                    .in(SysPremiumDetails::getUserId, userIdList)
-                    .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 sumPremium = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-            appPartnerInfo.setSumPremium(sumPremium);
+            for (String userId : userIdList) {
+                //查团队的保费
+                List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                        .eq(SysPremiumDetails::getIssuerId, userId)
+                        .eq(SysPremiumDetails::getUserId, loginId)
+                        .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 (sysPremiumDetails.size() > 0) {
+                    SysPremiumDetails sysPremiumDetails1 = sysPremiumDetails.get(0);
+                    sumPremium = sumPremium.add(sysPremiumDetails1.getSumpremium());
+                    BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    extractFee = extractFee.add(reduce);
+                }
 
 
-            List<SysUserAccountHistory> sysUserAccountHistories = sysUserAccountHistoryMapper.selectList(new LambdaQueryWrapper<SysUserAccountHistory>()
-                    .in(SysUserAccountHistory::getUserId, userIdList).eq(SysUserAccountHistory::getProperty, 3));
-            if (CollectionUtil.isNotEmpty(sysUserAccountHistories)) {
-                BigDecimal extractFee = sysUserAccountHistories.stream().map(SysUserAccountHistory::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-                appPartnerInfo.setExtractFee(extractFee);
-            } else {
-                appPartnerInfo.setExtractFee(BigDecimal.ZERO);
             }
             }
 
 
+            appPartnerInfo.setSumPremium(sumPremium);
+            appPartnerInfo.setExtractFee(extractFee);
             appPartnerInfoList.add(appPartnerInfo);
             appPartnerInfoList.add(appPartnerInfo);
         }
         }
         List<String> ids = new ArrayList<>();
         List<String> ids = new ArrayList<>();
@@ -734,25 +734,29 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             }
             }
         }
         }
         if (CollectionUtil.isEmpty(ids)) return appPartnerInfoFreeVo;
         if (CollectionUtil.isEmpty(ids)) return appPartnerInfoFreeVo;
+        BigDecimal sumPremium1 = BigDecimal.ZERO;
+        BigDecimal extractFee1 = BigDecimal.ZERO;
+        for (String id : ids) {
 
 
-        List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                .in(SysPremiumDetails::getUserId, ids)
-                .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 sumPremium = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-        appPartnerInfoFreeVo.setSumPremium(sumPremium);
+            List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                    .eq(SysPremiumDetails::getIssuerId, id)
+                    .eq(SysPremiumDetails::getUserId, loginId)
+                    .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 (sysPremiumDetails.size() > 0) {
+                SysPremiumDetails sysPremiumDetails1 = sysPremiumDetails.get(0);
+                sumPremium1 = sumPremium1.add(sysPremiumDetails1.getSumpremium());
+                BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                extractFee1 = extractFee1.add(reduce);
+            }
 
 
-        List<SysUserAccountHistory> sysUserAccountHistories = sysUserAccountHistoryMapper.selectList(new LambdaQueryWrapper<SysUserAccountHistory>()
-                .in(SysUserAccountHistory::getUserId, ids).eq(SysUserAccountHistory::getProperty, 3));
-        if (CollectionUtil.isNotEmpty(sysUserAccountHistories)) {
-            BigDecimal extractFee = sysUserAccountHistories.stream().map(SysUserAccountHistory::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-            appPartnerInfoFreeVo.setExtractFee(extractFee);
-        } else {
-            appPartnerInfoFreeVo.setExtractFee(BigDecimal.ZERO);
         }
         }
 
 
+        appPartnerInfoFreeVo.setSumPremium(sumPremium1);
+        appPartnerInfoFreeVo.setExtractFee(extractFee1);
+
         int sum = appPartnerInfoList.stream().mapToInt(APPPartnerInfo::getTeamManNum).sum();
         int sum = appPartnerInfoList.stream().mapToInt(APPPartnerInfo::getTeamManNum).sum();
         appPartnerInfoFreeVo.setTeamManNum(sum);
         appPartnerInfoFreeVo.setTeamManNum(sum);
 
 
@@ -773,10 +777,11 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             appPartnerNumVo.setExtractFee(sysPartnerAccount.getExtractFee());
             appPartnerNumVo.setExtractFee(sysPartnerAccount.getExtractFee());
         }
         }
         if (type == 1) {
         if (type == 1) {
-            //下面合伙人(直接+间接)数量
+            //下面合伙人(直接)数量
             List<SysRelationPerson> sysRelationPersonList1 = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
             List<SysRelationPerson> sysRelationPersonList1 = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                     .eq(SysRelationPerson::getSuggestId, userId)
                     .eq(SysRelationPerson::getSuggestId, userId)
                     .eq(SysRelationPerson::getDelFlag, 1)
                     .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource, 0)
                     .eq(SysRelationPerson::getType, 0));
                     .eq(SysRelationPerson::getType, 0));
 
 
             appPartnerNumVo.setPartnerNum(sysRelationPersonList1.size());
             appPartnerNumVo.setPartnerNum(sysRelationPersonList1.size());
@@ -888,87 +893,100 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     }
     }
 
 
     @Override
     @Override
-    public List<AppSysPartnerVo> partnerInfo(PartnerInfoDto partnerInfoDto) {
+    public List<AppSysPartnerVo>  partnerInfo(PartnerInfoDto partnerInfoDto) {
         List<AppSysPartnerVo> appSysPartnerVos = new ArrayList<>();
         List<AppSysPartnerVo> appSysPartnerVos = new ArrayList<>();
-        String userId = BaseController.getUserId();
+        String userId = partnerInfoDto.getUserId();
+        if (StringUtils.isEmpty(userId)) {
+            userId = BaseController.getUserId();
+        }
         SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
         SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
                 .eq(SysPartner::getUserId, userId).eq(SysPartner::getDelFlag, 1));
                 .eq(SysPartner::getUserId, userId).eq(SysPartner::getDelFlag, 1));
-        //查询登陆人下所有合伙人
+        //查询登陆人下所有直接合伙人
         List<SysPartner> sysPartnerList = sysPartnerMapper.queryByLoginId(userId);
         List<SysPartner> sysPartnerList = sysPartnerMapper.queryByLoginId(userId);
 
 
         Map<Integer, List<SysPartner>> listMap = sysPartnerList.stream().sorted(Comparator.comparing(SysPartner::getId))
         Map<Integer, List<SysPartner>> listMap = sysPartnerList.stream().sorted(Comparator.comparing(SysPartner::getId))
                 .collect(Collectors.groupingBy(SysPartner::getType));
                 .collect(Collectors.groupingBy(SysPartner::getType));
         //按等级查询
         //按等级查询
-        Integer partnerType = partnerInfoDto.getPartnerType();
-        if (partnerType != null) {
-            List<SysPartner> sysPartnerList1 = listMap.get(partnerType + sysPartner.getType());
-
-            if (sysPartnerList1 != null) {
-                AppSysPartnerVo appSysPartnerVo = new AppSysPartnerVo();
-                appSysPartnerVo.setPartnerType(partnerType + sysPartner.getType());
-                //下级合伙人数
-                appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
-                List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
-                appSysPartnerVo.setPartnerIds(ids);
-                List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                        .in(CollectionUtil.isNotEmpty(ids), SysPremiumDetails::getUserId, ids)
-                        .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);
-
-                appSysPartnerVo.setSumPremium(sumPremium);
-                appSysPartnerVo.setExtractFee(extractFee);
-                //二级以下团队的总人数
-                List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
-                        .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
-                        .eq(SysRelationPerson::getDelFlag, 1)
-                        .eq(SysRelationPerson::getType, 1));
-                int deptManNum = 0;
-                if (sysRelationPersonList.size() > 0) {
-                    List<String> idList = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
-                    List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
-                            .in(CollectionUtil.isNotEmpty(idList), SysAgencyLeader::getUserId, idList).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));
-                                    deptManNum = deptManNum + sysUsers.size();
-
-                                }
-                            }
-                        }
-                    }
-                }
-                appSysPartnerVo.setTeamManNum(deptManNum);
-                List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
-                        .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
-                        .eq(SysRelationPerson::getDelFlag, 1)
-                        .eq(SysRelationPerson::getSource, 0)
-                        .eq(SysRelationPerson::getType, 1));
-                appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
-                if (sysRelationPersons.size() > 0) {
-                    List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
-                    appSysPartnerVo.setLeaderIds(list1);
-                }
-
-                //每一级存入map
-
-                appSysPartnerVos.add(appSysPartnerVo);
-            }
-
-            return appSysPartnerVos;
-
-        }
+//        Integer partnerType = partnerInfoDto.getPartnerType();
+//        if (partnerType != null) {
+//            List<SysPartner> sysPartnerList1 = listMap.get(partnerType + sysPartner.getType());
+//
+//            if (sysPartnerList1 != null) {
+//                AppSysPartnerVo appSysPartnerVo = new AppSysPartnerVo();
+//                appSysPartnerVo.setPartnerType(partnerType + sysPartner.getType());
+//                //下级合伙人数
+//                appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
+//                List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
+//                appSysPartnerVo.setPartnerIds(ids);
+//                List<String> userIds = new ArrayList<>();
+//                //二级以下团队的总人数
+//                List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+//                        .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
+//                        .eq(SysRelationPerson::getDelFlag, 1)
+//                        .eq(SysRelationPerson::getType, 1));
+//                int deptManNum = 0;
+//                if (sysRelationPersonList.size() > 0) {
+//                    List<String> idList = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+//                    List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
+//                            .in(CollectionUtil.isNotEmpty(idList), SysAgencyLeader::getUserId, idList).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));
+//                                    deptManNum = deptManNum + sysUsers.size();
+//                                    if (sysUsers.size() >0) {
+//                                        userIds.addAll(sysUsers.stream().map(SysUser::getId).collect(Collectors.toList()));
+//                                    }
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//                appSysPartnerVo.setTeamManNum(deptManNum);
+//                if (CollectionUtil.isNotEmpty(userIds)) {
+//                    List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+//                            .eq(SysPremiumDetails::getUserId, userId)
+//                            .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);
+//
+//                    appSysPartnerVo.setSumPremium(sumPremium);
+//                    appSysPartnerVo.setExtractFee(extractFee);
+//                }else {
+//                    appSysPartnerVo.setSumPremium(BigDecimal.ZERO);
+//                    appSysPartnerVo.setExtractFee(BigDecimal.ZERO);
+//                }
+//
+//                List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+//                        .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
+//                        .eq(SysRelationPerson::getDelFlag, 1)
+//                        .eq(SysRelationPerson::getSource, 0)
+//                        .eq(SysRelationPerson::getType, 1));
+//                appSysPartnerVo.setWorkNumber(sysRelationPersons.size());
+//                if (sysRelationPersons.size() > 0) {
+//                    List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+//                    appSysPartnerVo.setLeaderIds(list1);
+//                }
+//
+//                //每一级存入map
+//
+//                appSysPartnerVos.add(appSysPartnerVo);
+//            }
+//
+//            return appSysPartnerVos;
+//
+//        }
         int start = 0;
         int start = 0;
         int type = sysPartner.getType();
         int type = sysPartner.getType();
         if (type == 1) {
         if (type == 1) {
@@ -991,17 +1009,8 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
                 appSysPartnerVo.setPartnerNumber(sysPartnerList1.size());
                 List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
                 List<String> ids = sysPartnerList1.stream().map(SysPartner::getUserId).collect(Collectors.toList());
                 appSysPartnerVo.setPartnerIds(ids);
                 appSysPartnerVo.setPartnerIds(ids);
-                List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                        .in(CollectionUtil.isNotEmpty(ids), SysPremiumDetails::getUserId, ids)
-                        .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);
-                appSysPartnerVo.setSumPremium(sumPremium);
-                appSysPartnerVo.setExtractFee(extractFee);
-                //同等级合伙人团队的总人数:
+
+                //所有创造利益总人数
                 List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                 List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                         .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
                         .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
                         .eq(SysRelationPerson::getDelFlag, 1)
                         .eq(SysRelationPerson::getDelFlag, 1)
@@ -1010,7 +1019,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 if (sysRelationPersonList.size() > 0) {
                 if (sysRelationPersonList.size() > 0) {
                     List<String> idList = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
                     List<String> idList = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
                     List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
                     List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
-                            .in(CollectionUtil.isNotEmpty(idList), SysAgencyLeader::getUserId, idList).eq(SysAgencyLeader::getDelFlag, 1));
+                            .in(SysAgencyLeader::getUserId, idList).eq(SysAgencyLeader::getDelFlag, 1));
                     if (leaderList.size() > 0) {
                     if (leaderList.size() > 0) {
                         for (SysAgencyLeader sysAgencyLeader : leaderList) {
                         for (SysAgencyLeader sysAgencyLeader : leaderList) {
                             //获取机构下的团队
                             //获取机构下的团队
@@ -1023,14 +1032,14 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                                     List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                                     List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                                             .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
                                             .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
                                     deptManNum = deptManNum + sysUsers.size();
                                     deptManNum = deptManNum + sysUsers.size();
-
                                 }
                                 }
                             }
                             }
                         }
                         }
                     }
                     }
+
                 }
                 }
                 appSysPartnerVo.setTeamManNum(deptManNum);
                 appSysPartnerVo.setTeamManNum(deptManNum);
-
+                //直接工作室
                 List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                 List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                         .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
                         .in(CollectionUtil.isNotEmpty(ids), SysRelationPerson::getSuggestId, ids)
                         .eq(SysRelationPerson::getDelFlag, 1)
                         .eq(SysRelationPerson::getDelFlag, 1)
@@ -1041,6 +1050,26 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                     List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
                     List<String> list1 = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
                     appSysPartnerVo.setLeaderIds(list1);
                     appSysPartnerVo.setLeaderIds(list1);
                 }
                 }
+                //直接工作室下所有的人
+                List<String> userIds = getUserIds(sysRelationPersons);
+
+                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);
+
+                    appSysPartnerVo.setSumPremium(sumPremium);
+                    appSysPartnerVo.setExtractFee(extractFee);
+                }else {
+                    appSysPartnerVo.setSumPremium(BigDecimal.ZERO);
+                    appSysPartnerVo.setExtractFee(BigDecimal.ZERO);
+                }
                 //每一级存入map
                 //每一级存入map
                 appSysPartnerVos.add(appSysPartnerVo);
                 appSysPartnerVos.add(appSysPartnerVo);
             }
             }
@@ -1048,10 +1077,63 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         return appSysPartnerVos;
         return appSysPartnerVos;
     }
     }
 
 
+    private List<String> getUserIds(List<SysRelationPerson> sysRelationPersons) {
+        List<String> userIds = new ArrayList<>();
+        if (sysRelationPersons.size() > 0) {
+            List<String> idList = sysRelationPersons.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+            List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
+                    .in(CollectionUtil.isNotEmpty(idList), SysAgencyLeader::getUserId, idList).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));
+                            if (sysUsers.size()>0) {
+                                userIds.addAll(sysUsers.stream().map(SysUser::getId).collect(Collectors.toList()));
+                            }
+                        }
+                    }
+                }
+            }
+
+        }
+        return userIds;
+    }
+
+    private List<String> getUserIdByLeader(List<SysAgencyLeader> leaderList) {
+        List<String> userIds = new ArrayList<>();
+        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));
+                        if (sysUsers.size()>0) {
+                            userIds.addAll(sysUsers.stream().map(SysUser::getId).collect(Collectors.toList()));
+                        }
+                    }
+                }
+            }
+        }
+        return userIds;
+    }
+
     @Override
     @Override
     public PartnerInfoFreeVo queryPartnerInfo(PartnerGradeInfo partnerGradeInfo) {
     public PartnerInfoFreeVo queryPartnerInfo(PartnerGradeInfo partnerGradeInfo) {
         PartnerInfoFreeVo partnerInfoFreeVo = new PartnerInfoFreeVo();
         PartnerInfoFreeVo partnerInfoFreeVo = new PartnerInfoFreeVo();
         List<PartnerInfoVo> partnerInfoVoList = new ArrayList<>();
         List<PartnerInfoVo> partnerInfoVoList = new ArrayList<>();
+        String loginId = BaseController.getUserId();
         //合伙人:1;工作室:2
         //合伙人:1;工作室:2
         Integer type = partnerGradeInfo.getType();
         Integer type = partnerGradeInfo.getType();
         if (type == 1) {
         if (type == 1) {
@@ -1059,17 +1141,32 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             if (CollectionUtil.isEmpty(partnerIds)) {
             if (CollectionUtil.isEmpty(partnerIds)) {
                 return partnerInfoFreeVo;
                 return partnerInfoFreeVo;
             }
             }
-            //费用
-            List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                    .in(SysPremiumDetails::getUserId, partnerIds)
-                    .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);
+            //合伙人的直接工作室贡献的费用
+            List<SysRelationPerson> sysRelationPersons = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                    .in(SysRelationPerson::getSuggestId, partnerIds)
+                    .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource, 0)
+                    .eq(SysRelationPerson::getType, 1));
+            //直接工作室下所有的人
+            List<String> userIds = getUserIds(sysRelationPersons);
+
+            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);
+            }
 
 
             //合伙人
             //合伙人
             List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
             List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
@@ -1077,24 +1174,13 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             if (sysPartnerList.size() > 0) {
             if (sysPartnerList.size() > 0) {
                 for (SysPartner sysPartner : sysPartnerList) {
                 for (SysPartner sysPartner : sysPartnerList) {
                     PartnerInfoVo partnerInfoVo = new PartnerInfoVo();
                     PartnerInfoVo partnerInfoVo = new PartnerInfoVo();
-                    partnerInfoVo.setLevel(partnerGradeInfo.getLevel());
+                    partnerInfoVo.setLevel(sysPartner.getType());
                     String userId = sysPartner.getUserId();
                     String userId = sysPartner.getUserId();
                     partnerInfoVo.setUserId(userId);
                     partnerInfoVo.setUserId(userId);
                     SysUser sysUser = sysUserMapper.selectById(userId);
                     SysUser sysUser = sysUserMapper.selectById(userId);
                     partnerInfoVo.setUserName(sysUser.getName());
                     partnerInfoVo.setUserName(sysUser.getName());
                     SysUser sysUser1 = sysUserMapper.selectById(sysPartner.getSuggestId());
                     SysUser sysUser1 = sysUserMapper.selectById(sysPartner.getSuggestId());
                     partnerInfoVo.setSuggestName(sysUser1.getName());
                     partnerInfoVo.setSuggestName(sysUser1.getName());
-                    //费用
-                    List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                            .eq(SysPremiumDetails::getUserId, userId)
-                            .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);
                     //直接合伙人
                     //直接合伙人
                     List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                     List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                             .eq(SysRelationPerson::getSuggestId, userId)
                             .eq(SysRelationPerson::getSuggestId, userId)
@@ -1116,6 +1202,26 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                     partnerInfoVo.setLeaderIds(collects);
                     partnerInfoVo.setLeaderIds(collects);
                     partnerInfoVo.setWorkNumber(collects.size());
                     partnerInfoVo.setWorkNumber(collects.size());
 
 
+                    List<String> userIds1 = getUserIds(sysRelationPersonList1);
+                    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);
+                    }
+
+
                     //合伙人下所有工作室数 核算总代理人数
                     //合伙人下所有工作室数 核算总代理人数
                     List<SysRelationPerson> sysRelationPersonList2 = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                     List<SysRelationPerson> sysRelationPersonList2 = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                             .eq(SysRelationPerson::getSuggestId, userId)
                             .eq(SysRelationPerson::getSuggestId, userId)
@@ -1318,30 +1424,33 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     @Override
     @Override
     public TeamUserInfosFreeVo getTeamUserInfo(TeamUserInfosDto teamUserInfosDto) {
     public TeamUserInfosFreeVo getTeamUserInfo(TeamUserInfosDto teamUserInfosDto) {
         TeamUserInfosFreeVo teamUserInfosFreeVo = new TeamUserInfosFreeVo();
         TeamUserInfosFreeVo teamUserInfosFreeVo = new TeamUserInfosFreeVo();
-
+        String loginId = BaseController.getUserId();
         List<TeamUserInfosVo> userInfosVoList = new ArrayList<>();
         List<TeamUserInfosVo> userInfosVoList = new ArrayList<>();
         List<String> userIds = teamUserInfosDto.getUserIds();
         List<String> userIds = teamUserInfosDto.getUserIds();
         if (CollectionUtil.isEmpty(userIds)) {
         if (CollectionUtil.isEmpty(userIds)) {
             return teamUserInfosFreeVo;
             return teamUserInfosFreeVo;
         }
         }
-        //费用
-        List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                .in(SysPremiumDetails::getUserId, userIds)
-                .between(StringUtils.isNotEmpty(teamUserInfosDto.getBeginTime()) && StringUtils.isNotEmpty(teamUserInfosDto.getEndTime()),
-                        SysPremiumDetails::getCreateTime, teamUserInfosDto.getBeginTime(), teamUserInfosDto.getEndTime())
-                .eq(SysPremiumDetails::getStatus, 1)
-                .eq(teamUserInfosDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, teamUserInfosDto.getIndustrySector()));
-        BigDecimal sumPremium = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-        teamUserInfosFreeVo.setSumPremium(sumPremium);
-        List<SysUserAccountHistory> sysUserAccountHistories = sysUserAccountHistoryMapper.selectList(new LambdaQueryWrapper<SysUserAccountHistory>()
-                .in(SysUserAccountHistory::getUserId, userIds).eq(SysUserAccountHistory::getProperty, 3)
-                .eq(teamUserInfosDto.getIndustrySector() != null, SysUserAccountHistory::getBusinessSegmentsType, teamUserInfosDto.getIndustrySector()));
-        if (CollectionUtil.isNotEmpty(sysUserAccountHistories)) {
-            BigDecimal extractFee = sysUserAccountHistories.stream().map(SysUserAccountHistory::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-            teamUserInfosFreeVo.setExtractFee(extractFee);
-        } else {
-            teamUserInfosFreeVo.setExtractFee(BigDecimal.ZERO);
+        BigDecimal sumPremium = BigDecimal.ZERO;
+        BigDecimal extractFee = 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(teamUserInfosDto.getBeginTime()) && StringUtils.isNotEmpty(teamUserInfosDto.getEndTime()),
+                            SysPremiumDetails::getCreateTime, teamUserInfosDto.getBeginTime(), teamUserInfosDto.getEndTime())
+                    .eq(SysPremiumDetails::getStatus, 1)
+                    .eq(teamUserInfosDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, teamUserInfosDto.getIndustrySector()));
+            if (sysPremiumDetails.size()>0) {
+                SysPremiumDetails sysPremiumDetails1 = sysPremiumDetails.get(0);
+                sumPremium = sumPremium.add(sysPremiumDetails1.getSumpremium());
+                BigDecimal reduce = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                extractFee = extractFee.add(reduce);
+            }
+
         }
         }
+        teamUserInfosFreeVo.setSumPremium(sumPremium);
+        teamUserInfosFreeVo.setExtractFee(extractFee);
 
 
         List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
         List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                 .ne(SysUser::getStatus, 0).in(SysUser::getId, teamUserInfosDto.getUserIds()));
                 .ne(SysUser::getStatus, 0).in(SysUser::getId, teamUserInfosDto.getUserIds()));
@@ -1358,23 +1467,20 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
 
             //费用
             //费用
             List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
             List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                    .eq(SysPremiumDetails::getUserId, sysUser.getId())
+                    .eq(SysPremiumDetails::getIssuerId, sysUser.getId())
+                    .eq(SysPremiumDetails::getUserId, loginId)
                     .between(StringUtils.isNotEmpty(teamUserInfosDto.getBeginTime()) && StringUtils.isNotEmpty(teamUserInfosDto.getEndTime()),
                     .between(StringUtils.isNotEmpty(teamUserInfosDto.getBeginTime()) && StringUtils.isNotEmpty(teamUserInfosDto.getEndTime()),
                             SysPremiumDetails::getCreateTime, teamUserInfosDto.getBeginTime(), teamUserInfosDto.getEndTime())
                             SysPremiumDetails::getCreateTime, teamUserInfosDto.getBeginTime(), teamUserInfosDto.getEndTime())
                     .eq(SysPremiumDetails::getStatus, 1)
                     .eq(SysPremiumDetails::getStatus, 1)
                     .eq(teamUserInfosDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, teamUserInfosDto.getIndustrySector()));
                     .eq(teamUserInfosDto.getIndustrySector() != null, SysPremiumDetails::getIndustrySector, teamUserInfosDto.getIndustrySector()));
-            BigDecimal sumPremium1 = sysPremiumDetail.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-            teamUserInfosVo.setSumPremium(sumPremium1);
-            List<SysUserAccountHistory> sysUserAccountHistorie = sysUserAccountHistoryMapper.selectList(new LambdaQueryWrapper<SysUserAccountHistory>()
-                    .in(SysUserAccountHistory::getUserId, sysUser.getId()).eq(SysUserAccountHistory::getProperty, 3)
-                    .eq(teamUserInfosDto.getIndustrySector() != null, SysUserAccountHistory::getBusinessSegmentsType, teamUserInfosDto.getIndustrySector()));
-            if (CollectionUtil.isNotEmpty(sysUserAccountHistorie)) {
-                BigDecimal extractFee1 = sysUserAccountHistorie.stream().map(SysUserAccountHistory::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+            if (sysPremiumDetail.size()>0) {
+                teamUserInfosVo.setSumPremium(sysPremiumDetail.get(0).getSumpremium());
+                BigDecimal extractFee1 = sysPremiumDetail.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
                 teamUserInfosVo.setExtractFee(extractFee1);
                 teamUserInfosVo.setExtractFee(extractFee1);
-            } else {
+            }else {
+                teamUserInfosVo.setSumPremium(BigDecimal.ZERO);
                 teamUserInfosVo.setExtractFee(BigDecimal.ZERO);
                 teamUserInfosVo.setExtractFee(BigDecimal.ZERO);
             }
             }
-
             userInfosVoList.add(teamUserInfosVo);
             userInfosVoList.add(teamUserInfosVo);
         }
         }
         teamUserInfosFreeVo.setTeamManNum(userIds.size());
         teamUserInfosFreeVo.setTeamManNum(userIds.size());
@@ -1512,23 +1618,14 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         if (CollectionUtil.isEmpty(leaderIds)) {
         if (CollectionUtil.isEmpty(leaderIds)) {
             return partnerLeaderInfoVo;
             return partnerLeaderInfoVo;
         }
         }
-        //费用
-        List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                .in(SysPremiumDetails::getUserId, leaderIds)
-                .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 sumPremium = sysPremiumDetails.stream().map(SysPremiumDetails::getSumpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal extractFee = sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add);
-        partnerLeaderInfoVo.setSumPremium(sumPremium);
-        partnerLeaderInfoVo.setExtractFee(extractFee);
-
         List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
         List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
                 .in(SysAgencyLeader::getUserId, leaderIds).eq(SysAgencyLeader::getDelFlag, 1));
                 .in(SysAgencyLeader::getUserId, leaderIds).eq(SysAgencyLeader::getDelFlag, 1));
-        List<String> userIds = new ArrayList<>();
 
 
+
+        List<String> userIdByLeader = getUserIdByLeader(leaderList);
         for (SysAgencyLeader sysAgencyLeader : leaderList) {
         for (SysAgencyLeader sysAgencyLeader : leaderList) {
+            BigDecimal sumPremium1 = BigDecimal.ZERO;
+            BigDecimal extractFee1 = BigDecimal.ZERO;
             PartnerInfoVo partnerInfoVo = new PartnerInfoVo();
             PartnerInfoVo partnerInfoVo = new PartnerInfoVo();
 
 
             String userId = sysAgencyLeader.getUserId();
             String userId = sysAgencyLeader.getUserId();
@@ -1540,18 +1637,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             partnerInfoVo.setDeptId(sysAgencyLeader.getDeptId());
             partnerInfoVo.setDeptId(sysAgencyLeader.getDeptId());
             SysDept sysDept1 = sysDeptMapper.selectById(sysAgencyLeader.getDeptId());
             SysDept sysDept1 = sysDeptMapper.selectById(sysAgencyLeader.getDeptId());
             partnerInfoVo.setDeptName(sysDept1.getName());
             partnerInfoVo.setDeptName(sysDept1.getName());
-            //费用
-            List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
-                    .eq(SysPremiumDetails::getUserId, userId)
-                    .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);
-
+            //团队总人数
             int deptManNum = 0;
             int deptManNum = 0;
             //获取机构下的团队
             //获取机构下的团队
             List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
             List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
@@ -1563,27 +1649,66 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             List<String> collect = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
             List<String> collect = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
 
 
             partnerInfoVo.setDeptIds(collect);
             partnerInfoVo.setDeptIds(collect);
-
             if (sysDeptList.size() > 0) {
             if (sysDeptList.size() > 0) {
                 for (SysDept sysDept : sysDeptList) {
                 for (SysDept sysDept : sysDeptList) {
                     List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                     List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                             .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
                             .likeRight(SysUser::getId, sysDept.getId()).ne(SysUser::getStatus, 0));
                     deptManNum = deptManNum + sysUsers.size();
                     deptManNum = deptManNum + sysUsers.size();
-                    if (sysUsers.size() > 0) {
-
-                        List<String> collect1 = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
-                        userIds.addAll(collect1);
+                    if (CollectionUtil.isNotEmpty(sysUsers)) {
+                        for (SysUser user : sysUsers) {
+                            //费用
+                            List<SysPremiumDetails> sysPremiumDetail = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                                    .eq(SysPremiumDetails::getUserId, BaseController.getUserId())
+                                    .eq(SysPremiumDetails::getIssuerId, user.getId())
+                                    .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 (sysPremiumDetail.size() >0) {
+                                SysPremiumDetails sysPremiumDetails = sysPremiumDetail.get(0);
+                                sumPremium1= sumPremium1.add(sysPremiumDetails.getSumpremium());
+
+                                extractFee1 = extractFee1.add(sysPremiumDetail.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add));
+                            }
+                        }
                     }
                     }
-
                 }
                 }
             }
             }
+            partnerInfoVo.setSumPremium(sumPremium1);
+            partnerInfoVo.setExtractFee(extractFee1);
             partnerInfoVo.setTeamManNum(deptManNum);
             partnerInfoVo.setTeamManNum(deptManNum);
             partnerInfoVo.setLevel(partnerGradeInfo.getLevel());
             partnerInfoVo.setLevel(partnerGradeInfo.getLevel());
 
 
             partnerInfoVoList.add(partnerInfoVo);
             partnerInfoVoList.add(partnerInfoVo);
         }
         }
+        //top总费用
+        BigDecimal sumPremium = BigDecimal.ZERO;
+        BigDecimal extractFee = BigDecimal.ZERO;
+        if (userIdByLeader.size()>0) {
+            for (String id : userIdByLeader) {
+                //总费用
+                List<SysPremiumDetails> sysPremiumDetails = sysPremiumDetailsMapper.selectList(new LambdaQueryWrapper<SysPremiumDetails>()
+                        .eq(SysPremiumDetails::getUserId, BaseController.getUserId())
+                        .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 (sysPremiumDetails.size() >0) {
+                    SysPremiumDetails sysPremiumDetails1 = sysPremiumDetails.get(0);
+                    sumPremium= sumPremium.add(sysPremiumDetails1.getSumpremium());
+
+                    extractFee = extractFee.add(sysPremiumDetails.stream().map(SysPremiumDetails::getExtractFee).reduce(BigDecimal.ZERO, BigDecimal::add));
+                }
+
+            }
+        }
+        partnerLeaderInfoVo.setSumPremium(sumPremium);
+        partnerLeaderInfoVo.setExtractFee(extractFee);
+
         int sum = partnerInfoVoList.stream().mapToInt(PartnerInfoVo::getTeamManNum).sum();
         int sum = partnerInfoVoList.stream().mapToInt(PartnerInfoVo::getTeamManNum).sum();
-        partnerLeaderInfoVo.setUserIds(userIds);
+        partnerLeaderInfoVo.setUserIds(userIdByLeader);
         partnerLeaderInfoVo.setTeamManNum(sum);
         partnerLeaderInfoVo.setTeamManNum(sum);
         partnerLeaderInfoVo.setPartnerInfoVoList(partnerInfoVoList);
         partnerLeaderInfoVo.setPartnerInfoVoList(partnerInfoVoList);
 
 
@@ -1605,13 +1730,6 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         if (sysRelationPersonList.size() > 0) {
         if (sysRelationPersonList.size() > 0) {
             List<String> collect = sysRelationPersonList.stream().map(SysRelationPerson::getSuggestId).collect(Collectors.toList());
             List<String> collect = sysRelationPersonList.stream().map(SysRelationPerson::getSuggestId).collect(Collectors.toList());
 
 
-//            if (collect.size() > 4) {
-//                List<String> collect1 = collect.stream().limit(4).collect(Collectors.toList());
-//                ids.addAll(collect1);
-//            } else {
-//                ids.addAll(collect);
-//
-//            }
             if (collect.size()>0) {
             if (collect.size()>0) {
                 ids.addAll(collect);
                 ids.addAll(collect);
             }
             }
@@ -1623,13 +1741,6 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         if (sysRelationList.size() > 0) {
         if (sysRelationList.size() > 0) {
 
 
             List<String> collect1 = sysRelationList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
             List<String> collect1 = sysRelationList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
-//            if (collect1.size() > 4) {
-//                List<String> collect2 = collect1.stream().limit(4).collect(Collectors.toList());
-//                ids.addAll(collect2);
-//            } else {
-//                ids.addAll(collect1);
-//
-//            }
             if (collect1.size() >0) {
             if (collect1.size() >0) {
                 ids.addAll(collect1);
                 ids.addAll(collect1);
             }
             }
@@ -1690,7 +1801,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 //团队下的人数
                 //团队下的人数
                 List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                 List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                         .likeRight(SysUser::getId, sysDept.getId())
                         .likeRight(SysUser::getId, sysDept.getId())
-                        .in(SysUser::getStatus, Arrays.asList(1, 4, 5, 6, 7)));
+                        .ne(SysUser::getStatus, 0));
                 userList.addAll(sysUserList);
                 userList.addAll(sysUserList);
                 deptManSum = deptManSum + sysUserList.size();
                 deptManSum = deptManSum + sysUserList.size();
             }
             }
@@ -1830,6 +1941,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
         List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                 .eq(SysRelationPerson::getSuggestId, userId)
                 .eq(SysRelationPerson::getSuggestId, userId)
                 .eq(SysRelationPerson::getDelFlag, 1)
                 .eq(SysRelationPerson::getDelFlag, 1)
+                .eq(SysRelationPerson::getSource, 0)
                 .eq(SysRelationPerson::getType, 1));
                 .eq(SysRelationPerson::getType, 1));
         partnerCountVo.setWorkSum(sysRelationPersonList.size());
         partnerCountVo.setWorkSum(sysRelationPersonList.size());
         if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
         if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
@@ -1902,6 +2014,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
         List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                 .eq(SysRelationPerson::getSuggestId, userId)
                 .eq(SysRelationPerson::getSuggestId, userId)
                 .eq(SysRelationPerson::getDelFlag, 1)
                 .eq(SysRelationPerson::getDelFlag, 1)
+                .eq(SysRelationPerson::getSource, 0)
                 .eq(SysRelationPerson::getType, 1));
                 .eq(SysRelationPerson::getType, 1));
         partnerCountVo.setWorkSum(sysRelationPersonList.size());
         partnerCountVo.setWorkSum(sysRelationPersonList.size());
         if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
         if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
@@ -1925,7 +2038,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                         //团队下的人数
                         //团队下的人数
                         List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                         List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
                                 .likeRight(SysUser::getId, sysDept.getId())
                                 .likeRight(SysUser::getId, sysDept.getId())
-                                .in(SysUser::getStatus, Arrays.asList(1, 4, 5, 6, 7)));
+                                .ne(SysUser::getStatus, 0));
                         deptManSum = deptManSum + sysUserList.size();
                         deptManSum = deptManSum + sysUserList.size();
                     }
                     }
                 }
                 }
@@ -2083,6 +2196,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
             List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
             List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                     .eq(SysRelationPerson::getSuggestId, partner.getUserId())
                     .eq(SysRelationPerson::getSuggestId, partner.getUserId())
                     .eq(SysRelationPerson::getDelFlag, 1)
                     .eq(SysRelationPerson::getDelFlag, 1)
+                    .eq(SysRelationPerson::getSource,0)
                     .eq(SysRelationPerson::getType, 0));
                     .eq(SysRelationPerson::getType, 0));
             levelPartnerVo.setDeptManNum(sysRelationPersonList.size());
             levelPartnerVo.setDeptManNum(sysRelationPersonList.size());
             if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
             if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
@@ -2090,37 +2204,6 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 levelPartnerVo.setPartnerIds(strings);
                 levelPartnerVo.setPartnerIds(strings);
             }
             }
 
 
-//            if (CollectionUtil.isNotEmpty(sysRelationPersonList)) {
-//                List<String> collects = sysRelationPersonList.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
-//                //查工作室下的团队
-//                List<SysAgencyLeader> leaderList = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
-//                        .eq(SysAgencyLeader::getDelFlag, 1).in(SysAgencyLeader::getUserId, collects));
-//                int deptSum = 0;
-//                int deptManSum = 0;
-//                for (SysAgencyLeader sysAgencyLeader : leaderList) {
-//                    //根据机构id查下面团队
-//                    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()));
-//                    deptSum = deptSum + sysDeptList.size();
-//                    if (sysDeptList.size() > 0) {
-//                        for (SysDept sysDept : sysDeptList) {
-//                            //团队下的人数
-//                            List<SysUser> sysUserList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
-//                                    .likeRight(SysUser::getId, sysDept.getId())
-//                                    .in(SysUser::getStatus, Arrays.asList(1, 4, 5, 6, 7)));
-//                            deptManSum = deptManSum + sysUserList.size();
-//                        }
-//                    }
-//                }
-//
-//                levelPartnerVo.setDeptManNum(deptManSum);
-//
-//            } else {
-//                levelPartnerVo.setDeptManNum(0);
-//            }
-
             partnerVoList.add(levelPartnerVo);
             partnerVoList.add(levelPartnerVo);
         }
         }
 
 
@@ -2305,16 +2388,29 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     }
     }
 
 
     @Override
     @Override
-    public PartnerInfoFreeVo getLevelPartnerInfo(List<String> partnerIds) {
-        PartnerInfoFreeVo partnerInfoFreeVo = new PartnerInfoFreeVo();
-        List<PartnerInfoVo> partnerInfoVoList = new ArrayList<>();
-
-
-
-
-
+    public List<LevelPartnerInfoVo> getLevelPartnerInfo(List<String> partnerIds) {
+        List<LevelPartnerInfoVo> partnerInfoVoList = new ArrayList<>();
+        if (CollectionUtil.isEmpty(partnerIds)) return partnerInfoVoList;
 
 
-        return partnerInfoFreeVo;
+        List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
+                .eq(SysPartner::getDelFlag,1).in(SysPartner::getUserId,partnerIds));
+        if (sysPartnerList.size() >0 ) {
+            for (SysPartner sysPartner : sysPartnerList) {
+                LevelPartnerInfoVo levelPartnerInfoVo = new LevelPartnerInfoVo();
+                levelPartnerInfoVo.setUserId(sysPartner.getUserId());
+                levelPartnerInfoVo.setLevel(sysPartner.getType());
+                List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                        .eq(SysRelationPerson::getSuggestId, sysPartner.getUserId())
+                        .eq(SysRelationPerson::getDelFlag, 1)
+                        .eq(SysRelationPerson::getSource, 1)
+                        .eq(SysRelationPerson::getType, 0));
+                levelPartnerInfoVo.setDeptManNum(sysRelationPersonList.size());
+                SysUser sysUser = sysUserMapper.selectById(sysPartner.getUserId());
+                if (sysUser == null) continue;
+                levelPartnerInfoVo.setUserName(sysUser.getName());
+            }
+        }
+        return partnerInfoVoList;
     }
     }
 
 
 
 

+ 78 - 75
src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java

@@ -871,81 +871,84 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
     public HttpResult callbackAnOrder(String quoteOrderNo) {
     public HttpResult callbackAnOrder(String quoteOrderNo) {
 
 
         InsAreaCompany iac = insAreaCompanyService.getById(quoteOrderNo);
         InsAreaCompany iac = insAreaCompanyService.getById(quoteOrderNo);
-        InsOrders order = insOrdersService.getById(iac.getOrderno());
-        AssertionUtils.isEmpty(iac, "报价订单不存在");
-
-        if (StringUtils.isEmpty(iac.getAgreementId())) {
-            return HttpResult.error("协议号空");
-        }
-
-        // 获取协议配置信息
-        YcConfigureParameters ycConfigureParameters = gainYcConfigParams(iac.getAgreementId());
-
-        //0 支付回调 1核保回调 5直接返回字符串信息
-        String type = "5";
-        //组装参数
-        CallbackAnOrder o = CallbackAnOrder.buildCallbackAnOrderParam(iac, ycConfigureParameters.gainAuthorityDataXml(), type);
-        //接口请求
-        try {
-            submitPolicy(iac.getJypremium(), ycConfigureParameters, iac.getInsOrderNo());
-            String cleanStr = yongchengRequestApiComponents.payCallback(o);
-            CallBackRequest param = CallBackRequest.buildCallBackParam(cleanStr);
-            log.info("永诚API方式 - 补传回调 - 参数:{},车牌号:{}", JSON.toJSONString(param), order.getLicenseno());
-            //订单原先状态
-            String oldStatus = iac.getOrderstatus();
-            //成功
-            if (param.getResult().equals("0")) {
-
-                if (iac.getOrderstatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
-                    buildCallBackStatus(iac, param.getJqstatus());
-                    if (StringUtils.isNotEmpty(param.getBizPolicyNo())) {
-                        iac.setSypolicyno(param.getBizPolicyNo());
-                    }
-
-                    if (StringUtils.isNotEmpty(param.getCiPolicyNo())) {
-                        iac.setJqpolicyno(param.getCiPolicyNo());
-                    }
-
-                    if (StringUtils.isNotEmpty(param.getYwPolicyAppNo())) {
-                        DrivingInsuranceDto drivingInsuranceDto = new DrivingInsuranceDto();
-                        drivingInsuranceDto.setPolicyNumber(param.getYwPolicyNo());
-                        drivingInsuranceDto.setApplicationNumber(param.getYwPolicyAppNo());
-                        JSONArray objects = JSON.parseArray(JSON.toJSONString(Collections.singletonList(drivingInsuranceDto)));
-                        iac.setCrossInsurance(objects);
-                    }
-
-                    if (StringUtils.isNotEmpty(param.getPay_date()) && !"null".equals(param.getPay_date())) {
-                        iac.setPayDate(LocalDateTime.parse(param.getPay_date(), DateTimeFormatter.ofPattern("yyyy-MM" + "-dd HH:mm:ss")));
-                    }
-
-                } else {
-                    iac = buildCallBack(iac, param);
-                }
-
-                if (iac.getOrderstatus().equals(InsOrderStatusEnum.TO_BACK.getCode())) {
-                    iac.setAuditopinion("交强审核意见:" + param.getJqmessage() + "| 商业审核意见:" + param.getSymessage());
-                }
-
-                StringBuffer sss = new StringBuffer();
-                sss.append("变更前订单状态:" + order.getOrderstatus());
-                sss.append("变更前子订单状态:" + iac.getOrderstatus());
-                sss.append("变更后订单状态:" + order.getOrderstatus());
-                log.info("-----------订单状态变动----------:" + sss);
-                //  add  by  hxl  添加自动更新状态
-                insSubOrderUpdateDetailService.insertData(iac,oldStatus,iac.getOrderstatus(),"1");
-                insAreaCompanyService.updateCompanyAndOrdersMessage(iac, iac.getAuditopinion());
-
-            } else {
-                //失败原因
-                log.info(String.format("永诚API方式 - 补传回调 - 失败,交强保单号:{} ,商业保单号:{},类型:{}", param.getCiPolicyNo(), param.getBizPolicyNo(), param.getType()));
-                return HttpResult.error(param.getMessage());
-            }
-            return HttpResult.ok("操作成功,状态已更新。");
-        } catch (JsonProcessingException jsonProcessingException) {
-            jsonProcessingException.printStackTrace();
-        }
-
-        throw new SystemException("获取支付连接失败");
+        iac.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());//已承保
+        insAreaCompanyService.updateCompanyAndOrders(iac);
+        return HttpResult.ok("支付成功");
+//        InsOrders order = insOrdersService.getById(iac.getOrderno());
+//        AssertionUtils.isEmpty(iac, "报价订单不存在");
+//
+//        if (StringUtils.isEmpty(iac.getAgreementId())) {
+//            return HttpResult.error("协议号空");
+//        }
+//
+//        // 获取协议配置信息
+//        YcConfigureParameters ycConfigureParameters = gainYcConfigParams(iac.getAgreementId());
+//
+//        //0 支付回调 1核保回调 5直接返回字符串信息
+//        String type = "5";
+//        //组装参数
+//        CallbackAnOrder o = CallbackAnOrder.buildCallbackAnOrderParam(iac, ycConfigureParameters.gainAuthorityDataXml(), type);
+//        //接口请求
+//        try {
+//            submitPolicy(iac.getJypremium(), ycConfigureParameters, iac.getInsOrderNo());
+//            String cleanStr = yongchengRequestApiComponents.payCallback(o);
+//            CallBackRequest param = CallBackRequest.buildCallBackParam(cleanStr);
+//            log.info("永诚API方式 - 补传回调 - 参数:{},车牌号:{}", JSON.toJSONString(param), order.getLicenseno());
+//            //订单原先状态
+//            String oldStatus = iac.getOrderstatus();
+//            //成功
+//            if (param.getResult().equals("0")) {
+//
+//                if (iac.getOrderstatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
+//                    buildCallBackStatus(iac, param.getJqstatus());
+//                    if (StringUtils.isNotEmpty(param.getBizPolicyNo())) {
+//                        iac.setSypolicyno(param.getBizPolicyNo());
+//                    }
+//
+//                    if (StringUtils.isNotEmpty(param.getCiPolicyNo())) {
+//                        iac.setJqpolicyno(param.getCiPolicyNo());
+//                    }
+//
+//                    if (StringUtils.isNotEmpty(param.getYwPolicyAppNo())) {
+//                        DrivingInsuranceDto drivingInsuranceDto = new DrivingInsuranceDto();
+//                        drivingInsuranceDto.setPolicyNumber(param.getYwPolicyNo());
+//                        drivingInsuranceDto.setApplicationNumber(param.getYwPolicyAppNo());
+//                        JSONArray objects = JSON.parseArray(JSON.toJSONString(Collections.singletonList(drivingInsuranceDto)));
+//                        iac.setCrossInsurance(objects);
+//                    }
+//
+//                    if (StringUtils.isNotEmpty(param.getPay_date()) && !"null".equals(param.getPay_date())) {
+//                        iac.setPayDate(LocalDateTime.parse(param.getPay_date(), DateTimeFormatter.ofPattern("yyyy-MM" + "-dd HH:mm:ss")));
+//                    }
+//
+//                } else {
+//                    iac = buildCallBack(iac, param);
+//                }
+//
+//                if (iac.getOrderstatus().equals(InsOrderStatusEnum.TO_BACK.getCode())) {
+//                    iac.setAuditopinion("交强审核意见:" + param.getJqmessage() + "| 商业审核意见:" + param.getSymessage());
+//                }
+//
+//                StringBuffer sss = new StringBuffer();
+//                sss.append("变更前订单状态:" + order.getOrderstatus());
+//                sss.append("变更前子订单状态:" + iac.getOrderstatus());
+//                sss.append("变更后订单状态:" + order.getOrderstatus());
+//                log.info("-----------订单状态变动----------:" + sss);
+//                //  add  by  hxl  添加自动更新状态
+//                insSubOrderUpdateDetailService.insertData(iac,oldStatus,iac.getOrderstatus(),"1");
+//                insAreaCompanyService.updateCompanyAndOrdersMessage(iac, iac.getAuditopinion());
+//
+//            } else {
+//                //失败原因
+//                log.info(String.format("永诚API方式 - 补传回调 - 失败,交强保单号:{} ,商业保单号:{},类型:{}", param.getCiPolicyNo(), param.getBizPolicyNo(), param.getType()));
+//                return HttpResult.error(param.getMessage());
+//            }
+//            return HttpResult.ok("操作成功,状态已更新。");
+//        } catch (JsonProcessingException jsonProcessingException) {
+//            jsonProcessingException.printStackTrace();
+//        }
+//
+//        throw new SystemException("获取支付连接失败");
     }
     }
 
 
 
 

+ 15 - 8
src/main/resources/mapper/modules/admin/SysPartnerMapper.xml

@@ -73,7 +73,14 @@
         select sal.*
         select sal.*
         from sys_partner sal
         from sys_partner sal
         left join sys_relation_person srp on srp.agency_leader_id=sal.user_id
         left join sys_relation_person srp on srp.agency_leader_id=sal.user_id
-        where srp.type = 0 and srp.suggest_id = #{userId}
+        where srp.type = 0 and srp.source = 0 and srp.suggest_id = #{userId}
+    </select>
+
+    <select id="queryIndirectByLoginId" resultType="com.ydtech.modules.admin.model.SysPartner">
+        select sal.*
+        from sys_partner sal
+        left join sys_relation_person srp on srp.agency_leader_id=sal.user_id
+        where srp.type = 0 and srp.source = 1 and srp.suggest_id = #{userId}
     </select>
     </select>
 
 
     <select id="queryPartnerById" resultType="com.ydtech.modules.admin.model.SysPartner">
     <select id="queryPartnerById" resultType="com.ydtech.modules.admin.model.SysPartner">
@@ -81,7 +88,7 @@
         from sys_partner sal
         from sys_partner sal
         left join sys_relation_person srp on srp.agency_leader_id=sal.user_id
         left join sys_relation_person srp on srp.agency_leader_id=sal.user_id
         <where>
         <where>
-            srp.type = 0
+            srp.type = 0 and srp.source = 0
             <if test="userId != null and userId != '' ">
             <if test="userId != null and userId != '' ">
                 and srp.suggest_id = #{userId}
                 and srp.suggest_id = #{userId}
             </if>
             </if>
@@ -200,7 +207,7 @@
             s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d %H' ) as time
             s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d %H' ) as time
         FROM sys_user  s
         FROM sys_user  s
         <where>
         <where>
-            s.status in (1, 4, 5, 6, 7)
+            s.status != 0
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
                 AND s.dept_id  in
                 AND s.dept_id  in
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
@@ -225,7 +232,7 @@
             s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d' ) as time
             s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d' ) as time
         FROM sys_user  s
         FROM sys_user  s
         <where>
         <where>
-            s.status in (1, 4, 5, 6, 7)
+            s.status != 0
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
                 AND s.dept_id  in
                 AND s.dept_id  in
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
@@ -251,7 +258,7 @@
         s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d %H' ) as time
         s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d %H' ) as time
         FROM sys_user  s
         FROM sys_user  s
         <where>
         <where>
-            s.status in (1, 4, 5, 6, 7)
+            s.status != 0
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
                 AND s.dept_id  in
                 AND s.dept_id  in
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
@@ -276,7 +283,7 @@
         s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d' ) as time
         s.id,DATE_FORMAT(s.create_time, '%Y-%m-%d' ) as time
         FROM sys_user  s
         FROM sys_user  s
         <where>
         <where>
-            s.status in (1, 4, 5, 6, 7)
+            s.status != 0
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
             <if test="deptIds != null and deptIds != '' and deptIds.size() > 0">
                 AND s.dept_id  in
                 AND s.dept_id  in
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
                 <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
@@ -304,7 +311,7 @@
         FROM sys_partner s
         FROM sys_partner s
         left join sys_relation_person srp on srp.agency_leader_id = s.user_id
         left join sys_relation_person srp on srp.agency_leader_id = s.user_id
         <where>
         <where>
-            s.del_flag = 1 and srp.type = 0
+            s.del_flag = 1 and srp.type = 0 and srp.source = 0
             <if test="userId != null and userId != '' ">
             <if test="userId != null and userId != '' ">
                 and srp.suggest_id = #{userId}
                 and srp.suggest_id = #{userId}
             </if>
             </if>
@@ -329,7 +336,7 @@
         FROM sys_partner s
         FROM sys_partner s
         left join sys_relation_person srp on srp.agency_leader_id = s.user_id
         left join sys_relation_person srp on srp.agency_leader_id = s.user_id
         <where>
         <where>
-            s.del_flag = 1 and srp.type = 0
+            s.del_flag = 1 and srp.type = 0 and srp.source = 0
             <if test="userId != null and userId != '' ">
             <if test="userId != null and userId != '' ">
                 and srp.suggest_id = #{userId}
                 and srp.suggest_id = #{userId}
             </if>
             </if>