Pārlūkot izejas kodu

bugfix: 解决团队,掉小组,个代等成员查询时,缺少渠道名称的问题

lipf 4 mēneši atpakaļ
vecāks
revīzija
0d53fbbe6a

+ 10 - 2
commons/src/main/java/com/jzg/commons/entity/vo/SysOrganizationUserLinkVo.java

@@ -1,10 +1,15 @@
 package com.jzg.commons.entity.vo;
 package com.jzg.commons.entity.vo;
 
 
-import com.jzg.commons.core.base.PageRequest;
 import lombok.Data;
 import lombok.Data;
 
 
+import java.io.Serial;
+import java.io.Serializable;
+
 @Data
 @Data
-public class SysOrganizationUserLinkVo{
+public class SysOrganizationUserLinkVo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -8437809885332184423L;
+
     private String id;
     private String id;
     private String userId;
     private String userId;
     private String name;
     private String name;
@@ -21,4 +26,7 @@ public class SysOrganizationUserLinkVo{
     private String referrerId;
     private String referrerId;
     private String leaderName;
     private String leaderName;
     private String leaderId;
     private String leaderId;
+
+    // 渠道名称
+    private String organizationName;
 }
 }

+ 23 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationServiceImpl.java

@@ -3,6 +3,7 @@ package com.jzg.organization.service.impl;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,12 +23,15 @@ import com.jzg.commons.util.StringUtils;
 import com.jzg.organization.mapper.SysOrganizationMapper;
 import com.jzg.organization.mapper.SysOrganizationMapper;
 import com.jzg.organization.service.SysOrganizationService;
 import com.jzg.organization.service.SysOrganizationService;
 import com.jzg.organization.service.SysOrganizationUserLinkService;
 import com.jzg.organization.service.SysOrganizationUserLinkService;
+import com.jzg.organization.service.SysUserJzgInfoSalesmanService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -43,6 +47,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
 
 
     @Autowired
     @Autowired
     private SysOrganizationUserLinkService sysOrganizationUserLinkService;
     private SysOrganizationUserLinkService sysOrganizationUserLinkService;
+    @Autowired
+    private SysUserJzgInfoSalesmanService sysUserJzgInfoSalesmanService;
 
 
 
 
     /**
     /**
@@ -178,6 +184,23 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
     public Page<SysOrganizationUserLinkVo> getTeamUserPage(Page page,SysOrganizationUserLinkQueryVo sysOrganizationUserLinkQueryVo) {
     public Page<SysOrganizationUserLinkVo> getTeamUserPage(Page page,SysOrganizationUserLinkQueryVo sysOrganizationUserLinkQueryVo) {
         log.info("获取团队下的人员列表分页. sysOrganizationUserLinkQueryVo=[{}], page=[{}]", JSONUtil.toJsonStr(sysOrganizationUserLinkQueryVo), JSONUtil.toJsonStr(page));
         log.info("获取团队下的人员列表分页. sysOrganizationUserLinkQueryVo=[{}], page=[{}]", JSONUtil.toJsonStr(sysOrganizationUserLinkQueryVo), JSONUtil.toJsonStr(page));
         Page<SysOrganizationUserLinkVo> teamUserPage = baseMapper.getTeamUserPage(page, sysOrganizationUserLinkQueryVo);
         Page<SysOrganizationUserLinkVo> teamUserPage = baseMapper.getTeamUserPage(page, sysOrganizationUserLinkQueryVo);
+        List<SysOrganizationUserLinkVo> records = teamUserPage.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            // 填充岗位信息
+            Map<String, String> attrTypeMap = sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
+            records = records.stream().peek(action->{
+                String typeAttr = attrTypeMap.getOrDefault(action.getId(),null);
+                if(StrUtil.isNotEmpty(typeAttr)){
+                    // add by lipf 和 田智沟通后,确定可能存在同时是后线和前线的情况,这里把后线移除显示来解决显示的问题
+                    List<String> list = new ArrayList<>(Arrays.asList(typeAttr.split(",")));
+                    list.remove("2");
+                    list.remove("1");
+                    typeAttr = String.join(",", list);
+                }
+                action.setTypeAttr(typeAttr);
+            }).toList();
+            teamUserPage.setRecords(records);
+        }
         log.debug("获取团队下的人员列表分页.查询出[{}]个业务员。 sysOrganizationUserLinkQueryVo=[{}], page=[{}]", CollUtil.size(teamUserPage.getRecords()), JSONUtil.toJsonStr(sysOrganizationUserLinkQueryVo), JSONUtil.toJsonStr(page));
         log.debug("获取团队下的人员列表分页.查询出[{}]个业务员。 sysOrganizationUserLinkQueryVo=[{}], page=[{}]", CollUtil.size(teamUserPage.getRecords()), JSONUtil.toJsonStr(sysOrganizationUserLinkQueryVo), JSONUtil.toJsonStr(page));
         return teamUserPage;
         return teamUserPage;
     }
     }

+ 2 - 1
tenant/organization/src/main/resources/mapper/SysOrganizationMapper.xml

@@ -63,7 +63,8 @@
         ref_suji.name as referrer_name,
         ref_suji.name as referrer_name,
         ref_su.mobile as referrer_id,
         ref_su.mobile as referrer_id,
         led_suji.name as leader_name,
         led_suji.name as leader_name,
-        led_su.mobile as leader_id
+        led_su.mobile as leader_id,
+        so.name as organization_name
         FROM
         FROM
         sys_organization so
         sys_organization so
         INNER JOIN sys_organization_user_link soul ON so.id = soul.organization_id
         INNER JOIN sys_organization_user_link soul ON so.id = soul.organization_id