Просмотр исходного кода

Merge remote-tracking branch 'origin/dev_jzb_lipf_v20260427' into dev_jzb_lipf_v20260427

jiakai 5 месяцев назад
Родитель
Сommit
990a642336

+ 36 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysOrganizationVO.java

@@ -0,0 +1,36 @@
+package com.jzg.commons.entity.po;
+
+import lombok.Data;
+import java.io.Serial;
+import java.io.Serializable;
+
+
+@Data
+public class SysOrganizationVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4723253479496099256L;
+    private String id;
+
+    private String systemCode;
+
+    private String name;
+
+    private String deptId;
+
+    private String managerId;
+
+    private String describeInformation;
+
+    private int attribute;
+
+    private String userId;
+
+    private String organizationId;
+
+    private int memberNumber;
+
+    private String deptName;
+
+
+}

+ 9 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/SysOrganizationMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.dto.SysOrganizationParam;
 import com.jzg.commons.entity.po.SysOrganization;
+import com.jzg.commons.entity.po.SysOrganizationVO;
 import com.jzg.commons.entity.vo.*;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -18,6 +19,14 @@ public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
 
     List<LeftSysOrganizationVo> selectLeftList(@Param("params") SysOrganizationParam sysOrganizationParam);
 
+    /**
+     * 查询用户关联的团队信息
+     *
+     * @param systemCode 租户代码
+     * @author lipf
+     * @date 2026/4/27 10:09
+     */
+    List<SysOrganizationVO> queryUserBindOrganization(String systemCode);
     /**
      * 获取团队下的人员列表分页
      *

+ 11 - 1
tenant/organization/src/main/java/com/jzg/organization/service/SysOrganizationService.java

@@ -5,12 +5,22 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.po.SysOrganization;
+import com.jzg.commons.entity.po.SysOrganizationVO;
 import com.jzg.commons.entity.vo.SysOrganizationUserLinkQueryVo;
 import com.jzg.commons.entity.vo.SysOrganizationUserLinkVo;
 
-public interface SysOrganizationService extends IService<SysOrganization> {
+import java.util.Map;
 
+public interface SysOrganizationService extends IService<SysOrganization> {
 
+    /**
+     *
+     * @param systemCode 租户代码
+     * @return Map<String, SysOrganizationVO> key表示userId, value表示用户所属的团毒/渠道
+     * @author lipf
+     * @date 2026/4/27 10:10
+     */
+    Map<String, SysOrganizationVO> queryUserBindOrganization(String systemCode);
 
     HttpResult queryPageList(SysOrganizationParam sysOrganizationParam);
 

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

@@ -9,10 +9,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.base.Functions;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.po.SysOrganization;
 import com.jzg.commons.entity.po.SysOrganizationUserLink;
+import com.jzg.commons.entity.po.SysOrganizationVO;
 import com.jzg.commons.entity.vo.LeftSysOrganizationVo;
 import com.jzg.commons.entity.vo.SysOrganizationUserLinkQueryVo;
 import com.jzg.commons.entity.vo.SysOrganizationUserLinkVo;
@@ -27,6 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -40,6 +44,24 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
     @Autowired
     private SysOrganizationUserLinkService sysOrganizationUserLinkService;
 
+
+    /**
+     *
+     * @param systemCode 租户代码
+     * @return Map<String, SysOrganizationVO> key表示userId, value表示用户所属的团毒/渠道
+     * @author lipf
+     * @date 2026/4/27 10:10
+     */
+    @Override
+    public Map<String, SysOrganizationVO> queryUserBindOrganization(String systemCode) {
+        List<SysOrganizationVO> sysOrganizationVOS = sysOrganizationMapper.queryUserBindOrganization(systemCode);
+        Map<String, SysOrganizationVO> collect = sysOrganizationVOS.stream()
+                .filter(action -> action.getUserId() != null || action.getOrganizationId() != null)
+                .collect(Collectors.toMap(SysOrganizationVO::getUserId, Functions.identity(), (o, n) -> o));
+        log.info("查询出指定租户[{}]下的所有业务员[{}]个",systemCode, CollUtil.size(collect));
+        return collect;
+    }
+
     @Override
     public HttpResult queryPageList(SysOrganizationParam sysOrganizationParam) {
         QueryWrapper<SysOrganization> queryWrapper = new QueryWrapper<>();

+ 6 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -222,6 +222,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if(CollectionUtil.isNotEmpty(records)){
             // 填充岗位信息
             Map<String, String> attrTypeMap = sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
+            Map<String, SysOrganizationVO> stringSysOrganizationVOMap = sysOrganizationService.queryUserBindOrganization(baseController.getSystemCode());
             records = records.stream().peek(action->{
                 if(loginUserId.equals(action.getUserId())){
                     action.setDefaultSelected(true);
@@ -233,6 +234,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                     String roleNames = userRole.stream().map(SysRole::getName).distinct().collect(Collectors.joining(","));
                     action.setRoleName(roleNames);
                 }
+                SysOrganizationVO sysOrganizationVO = stringSysOrganizationVOMap.get(action.getUserId());
+                if(sysOrganizationVO != null){
+                    action.setOrganizationId(sysOrganizationVO.getOrganizationId());
+                    action.setOrganizationName(sysOrganizationVO.getName());
+                }
 
             }).toList();
             userInfoList.setRecords(records);

+ 14 - 0
tenant/organization/src/main/resources/mapper/SysOrganizationMapper.xml

@@ -32,6 +32,20 @@
         </where>
     </select>
 
+    <!-- 查询用户关联的团队信息 lipf 2026年4月27日10:06:10 -->
+    <select id="queryUserBindOrganization" resultType="com.jzg.commons.entity.po.SysOrganizationVO">
+        SELECT
+        so.name,
+        so.dept_id ,
+        so.system_code,
+        soul.organization_id,
+        soul.user_id
+        FROM
+        sys_organization so
+        INNER JOIN sys_organization_user_link soul ON
+        so.id = soul.organization_id
+    </select>
+
     <select id="getTeamUserPage" resultType="com.jzg.commons.entity.vo.SysOrganizationUserLinkVo">
         SELECT
         su.id as userId,

+ 3 - 3
tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

@@ -72,7 +72,7 @@
         lsu.name AS leader_name,
         suji.referrer_id,
         su.username as referrer_name,
-        soul.organization_id as organization_id,
+        -- soul.organization_id as organization_id,
         suji.create_time as createTime,
         suji.create_by as createBy
         from
@@ -81,8 +81,8 @@
         LEFT JOIN sys_user_jzg_info lsu on lsu.id = suji.leader_id
         left join sys_dept sd on sd.id = suji.dept_id
         -- left join sys_user_role sur on sur.user_id = su.id
-        left join sys_organization_user_link soul on soul.user_id = suji.user_id
-        join sys_organization so on so.id = soul.organization_id
+        -- left join sys_organization_user_link soul on soul.user_id = suji.user_id
+        -- join sys_organization so on so.id = soul.organization_id
         LEFT JOIN sys_dept d ON suji.dept_id = d.id
         where 1=1
         and suji.is_delete = 0