Pārlūkot izejas kodu

优化查询速度

yumeng 4 gadi atpakaļ
vecāks
revīzija
8e561f81d0
30 mainītis faili ar 431 papildinājumiem un 123 dzēšanām
  1. 8 40
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java
  2. 12 48
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java
  3. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/AdvertiserMapper.java
  4. 4 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/TransferAccountMapper.java
  5. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/AdvertiserMapper.xml
  6. 10 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectMemberMapper.xml
  7. 13 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/TransferAccountMapper.xml
  8. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IAdvertiserService.java
  9. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectMemberService.java
  10. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ITransferAccountService.java
  11. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/AdvertiserServiceImpl.java
  12. 108 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectMemberServiceImpl.java
  13. 108 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/TransferAccountServiceImpl.java
  14. 15 17
      module-common/src/main/java/cn/com/ctop/common/module/entity/Project.java
  15. 6 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/ProductMapper.java
  16. 5 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/ProjectMapper.java
  17. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/SupplierListMapper.java
  18. 5 2
      module-common/src/main/java/cn/com/ctop/common/module/mapper/SysUserMapper.java
  19. 10 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/ProductMapper.xml
  20. 19 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/ProjectMapper.xml
  21. 6 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SupplierListMapper.xml
  22. 8 1
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml
  23. 6 0
      module-common/src/main/java/cn/com/ctop/common/module/service/IProductService.java
  24. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/service/IProjectService.java
  25. 3 0
      module-common/src/main/java/cn/com/ctop/common/module/service/ISupplierListService.java
  26. 5 1
      module-common/src/main/java/cn/com/ctop/common/module/service/ISysUserService.java
  27. 9 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/ProductServiceImpl.java
  28. 7 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/ProjectServiceImpl.java
  29. 21 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/SupplierListServiceImpl.java
  30. 9 3
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/SysUserServiceImpl.java

+ 8 - 40
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java

@@ -2,7 +2,10 @@ package org.jeecg.modules.ctop.controller;
 
 import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
-import cn.com.ctop.common.module.entity.*;
+import cn.com.ctop.common.module.entity.Advertiser;
+import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.common.module.entity.Project;
+import cn.com.ctop.common.module.entity.SysUser;
 import cn.com.ctop.common.module.mapper.ProjectMapper;
 import cn.com.ctop.common.module.service.*;
 import cn.com.ctop.common.module.utils.Check;
@@ -22,7 +25,6 @@ import org.jeecg.modules.ctop.mapper.ProjectMemberMapper;
 import org.jeecg.modules.ctop.service.IAdvertiserService;
 import org.jeecg.modules.ctop.service.IProjectMemberService;
 import org.jeecg.modules.ctop.service.ITransferAccountService;
-import org.jeecg.modules.system.service.ISysCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -197,28 +199,13 @@ public class ProjectController {
             pageList = projectService.page(page, queryWrapper);
         }
         List<Project> records = pageList.getRecords();
-        if (!Check.isNull(records)) {
-            if (!Check.isNull(records)) {
-                for (Project project2 : records) {
-                    QueryWrapper<TransferAccount> transferAccountQueryWrapper = new QueryWrapper<>();
-                    transferAccountQueryWrapper.eq("project_id", project2.getId());
-                    transferAccountQueryWrapper.eq("status", 0);
-                    List<TransferAccount> list = transferAccountService.list(transferAccountQueryWrapper);
-                    project2.setNeedExamine(list.size());
-                }
-
-            }
-        }
+        records = transferAccountService.getTransferInfoListByList(records);
+        pageList.setRecords(records);
         result.setResult(pageList);
         return result;
     }
 
 
-    @Autowired
-    private ISysCategoryService sysCategoryService;
-    @Autowired
-    private ISupplierListService supplierListService;
-
     /**
      * 分页列表查询
      *
@@ -236,11 +223,8 @@ public class ProjectController {
                                                 @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                 HttpServletRequest req) {
         Result<IPage<Project>> result = new Result<>();
-
         String projectName = project.getProjectName();
         project.setProjectName(null);
-
-
         QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap());
         Page<Project> page = new Page<>(pageNo, pageSize);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -251,30 +235,14 @@ public class ProjectController {
         } else if ("plane".equals(roleCode) || "plan".equals(roleCode) || "shot".equals(roleCode) || "clip".equals(roleCode) || "designTeamLeader".equals(roleCode) || "planeLeader".equals(roleCode)) {
             queryWrapper.eq("design_responsible_id", sysUser.getId());
         }
-
         if (!Check.isNull(projectName)) {
             queryWrapper.like("project_name", projectName);
         }
         queryWrapper.orderByDesc("create_time");
-
         IPage<Project> pageList = projectService.page(page, queryWrapper);
         List<Project> records = pageList.getRecords();
-        if (!Check.isNull(records)) {
-            for (Project project1 : records) {
-                if (!Check.isNull(project1.getSupplierCode())) {
-                    QueryWrapper<SupplierList> supplierListQueryWrapper = new QueryWrapper<>();
-                    supplierListQueryWrapper.eq("supplier_code", project1.getSupplierCode());
-                    supplierListQueryWrapper.last("limit 1");
-                    SupplierList one = supplierListService.getOne(supplierListQueryWrapper);
-                    if (!Check.isNull(one)) {
-                        project1.setSupplierCode_dictText(one.getSupplierName());
-                    }
-                }
-
-
-            }
-
-        }
+        records = transferAccountService.getTransferInfoListByList(records);
+        pageList.setRecords(records);
         result.setSuccess(true);
         result.setResult(pageList);
         return result;

+ 12 - 48
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java

@@ -159,15 +159,14 @@ public class ProjectMemberController {
             }
             List<Integer> mediaIds = new ArrayList<>();
             String type = requestJson.getString("type");
-            if ("kuaishou".equals(type)) {
-                mediaIds.add(2);
-                mediaIds.add(4);
-            } else if ("bytedance".equals(type)) {
-                mediaIds.add(1);
-                mediaIds.add(3);
-            }
-            if (Check.isNull(mediaIds)) {
-                throw new Exception("请选择媒体类型");
+            if (!Check.isNull(type)) {
+                if ("kuaishou".equals(type)) {
+                    mediaIds.add(2);
+                    mediaIds.add(4);
+                } else if ("bytedance".equals(type)) {
+                    mediaIds.add(1);
+                    mediaIds.add(3);
+                }
             }
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
@@ -250,54 +249,19 @@ public class ProjectMemberController {
         }
         queryWrapper.groupBy("project_id");
         queryWrapper.orderByDesc("create_time");
-
-
         Page<ProjectMember> page = new Page<>(pageNo, pageSize);
         IPage<ProjectMember> pageList = projectMemberService.page(page, queryWrapper);
         List<ProjectMember> projectMembers = pageList.getRecords();
-        List<ProjectMember> projectMemberList = new ArrayList<>();
-        if (!Check.isNull(projectMembers)) {
-            for (ProjectMember member : projectMembers) {
-                if (Check.isNull(member)) {
-                    continue;
-                }
-                Project project = projectService.getById(member.getProjectId());
-                if (!Check.isNull(project)) {
-                    SysUser responsible = sysUserService.getById(project.getResponsibleId());
-                    if (!Check.isNull(responsible)) {
-                        member.setResponsibleName(responsible.getRealname());
-                    }
-                    SysUser designResponsible = sysUserService.getById(project.getDesignResponsibleId());
-                    if (!Check.isNull(designResponsible)) {
-                        member.setDesignResponsibleName(designResponsible.getRealname());
-                    }
-                    Advertiser advertiser = advertiserService.getById(project.getAdvertiserId());
-                    if (!Check.isNull(advertiser)) {
-                        member.setProjectName(project.getProjectName());
-                    }
-
-                    Product product = productService.getById(project.getProductId());
-                    if (!Check.isNull(product)) {
-                        member.setProductId(product.getId());
-                        member.setProductName(product.getProductName());
-                    }
-                    member.setAdvertiserName(advertiser.getName());
-                    member.setAdvertiserId(project.getAdvertiserId());
-                    member.setAdvertiserId(project.getAdvertiserId());
-                    member.setMediaId(project.getMediaId());
-                    member.setMaxBid(project.getMaxBid());
-                    projectMemberList.add(member);
-                }
-            }
-        }
-
-
+        projectMembers = projectMemberService.getMapsByProjectList(projectMembers);
+        pageList.setRecords(projectMembers);
         result.setSuccess(true);
         result.setResult(pageList);
         return result;
     }
 
 
+
+
     /**
      * 分页列表查询
      *

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/AdvertiserMapper.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.ctop.mapper;
 
 import cn.com.ctop.common.module.entity.Advertiser;
 import cn.com.ctop.common.module.entity.UserAllocation;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.excelutil.entity.KuaishouXxlEntity;
@@ -9,6 +10,7 @@ import org.jeecg.modules.excelutil.entity.YdPlanAggregateEntity;
 import org.jeecg.modules.excelutil.entity.YdWeekAggregateEntity;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 广告主信息表
@@ -27,4 +29,6 @@ public interface AdvertiserMapper extends BaseMapper<Advertiser> {
     List<UserAllocation> getAllocationsBySaleId(@Param(value = "saleId") String saleId);
 
     List<UserAllocation> getAllocationsByAdvertiserId(@Param(value = "adId") String adId);
+
+    List<JSONObject> getAdvertiserByMap(@Param("ids") Map<String, String> advertiserIdMap);
 }

+ 4 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/TransferAccountMapper.java

@@ -1,10 +1,12 @@
 package org.jeecg.modules.ctop.mapper;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import io.lettuce.core.dynamic.annotation.Param;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.ctop.entity.TransferAccount;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 转户记录表
@@ -17,4 +19,5 @@ public interface TransferAccountMapper extends BaseMapper<TransferAccount> {
 
     List<TransferAccount> getAccountQuarterDetail(@Param(value = "accountId") Long accountId, @Param(value = "startDate") String startDate, @Param(value = "endDate") String endDate);
 
+    List<JSONObject> getListByMap(@Param("ids") Map<Long, Long> projectIdMap);
 }

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/AdvertiserMapper.xml

@@ -170,4 +170,11 @@
          left join ctop_project project on project.id = allocation.project_id
          where project.advertiser_id = #{adId}
     </select>
+    <select id="getAdvertiserByMap" resultType="com.alibaba.fastjson.JSONObject">
+        select id,name from ctop_advertiser
+        where id in
+        <foreach collection="ids" item="ids" separator="," open="(" close=")">
+            #{ids}
+        </foreach>
+    </select>
 </mapper>

+ 10 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectMemberMapper.xml

@@ -180,11 +180,11 @@
 
     <select id="getProjectByAccountIds" resultType="java.lang.Long">
         SELECT
-            project_id
+        project_id
         FROM
-            ctop_user_allocation
+        ctop_user_allocation
         WHERE
-            account_id IN
+        account_id IN
         <foreach collection="accountIds" item="item" separator=","
                  open="(" close=")">
             #{item}
@@ -204,11 +204,13 @@
         <if test="userId !=null and userId!=''">
             and t1.user_id = #{userId}
         </if>
-        and t2.media_id in
-        <foreach collection="mediaIds" item="item" separator=","
-                 open="(" close=")">
-            #{item}
-        </foreach>
+        <if test="mediaIds != null and mediaIds.size() != 0 ">
+            and t2.media_id in
+            <foreach collection="mediaIds" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
         group by t2.id
         order by t2.create_time desc
     </select>

+ 13 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/TransferAccountMapper.xml

@@ -17,5 +17,18 @@
             transferor_date &lt; #{endDate}
         order by transferor_date asc
     </select>
+    <select id="getListByMap" resultType="com.alibaba.fastjson.JSONObject">
+        select
+        project_id as 'projectId',
+        count(1) as 'count'
+        from ctop_transfer_account
+        where status = 0
+        and project_id in
+        <foreach collection="ids" item="ids" separator="," open="(" close=")">
+            #{ids}
+        </foreach>
+        group by project_id
+
+    </select>
 
 </mapper>

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IAdvertiserService.java

@@ -3,10 +3,12 @@ package org.jeecg.modules.ctop.service;
 import cn.com.ctop.common.module.entity.Advertiser;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.vo.SheetInfoVo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.text.ParseException;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 广告主信息表
@@ -27,4 +29,6 @@ public interface IAdvertiserService extends IService<Advertiser> {
     List<SheetInfoVo> getYdStatisticInfo(Long projectId, String startDate, String endDate) throws ParseException;
 
     List<UserAllocation> getAllocationsByAdvertiserId(String id);
+
+    List<JSONObject> getAdvertiserByMap(Map<String, String> advertiserIdMap);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectMemberService.java

@@ -41,4 +41,6 @@ public interface IProjectMemberService extends IService<ProjectMember> {
     List<JSONObject> getProjectByUserIdAndMediaIds(String userId, List<Integer> mediaIds);
 
     List<Map<String, Object>> getAllProjectAccount(String mediaType);
+
+    List<ProjectMember> getMapsByProjectList(List<ProjectMember> projectMembers);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ITransferAccountService.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.service;
 
+import cn.com.ctop.common.module.entity.Project;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.ctop.entity.TransferAccount;
@@ -19,4 +20,5 @@ public interface ITransferAccountService extends IService<TransferAccount> {
 
     List<TransferAccount> getAccountQuarterDetail(Long accountId, String startDate, String endDate);
 
+    List<Project> getTransferInfoListByList(List<Project> records);
 }

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/AdvertiserServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.entity.Advertiser;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.vo.SheetInfoVo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.util.DateUtils;
@@ -21,6 +22,7 @@ import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -114,6 +116,11 @@ public class AdvertiserServiceImpl extends ServiceImpl<AdvertiserMapper, Adverti
         return advertiserMapper.getAllocationsByAdvertiserId(adId);
     }
 
+    @Override
+    public List<JSONObject> getAdvertiserByMap(Map<String, String> advertiserIdMap) {
+        return advertiserMapper.getAdvertiserByMap(advertiserIdMap);
+    }
+
     private List<YdPlanAggregateEntity> getYdPlanStatisticInfo(Long projectId, String startDate, String endDate) {
         List<YdPlanAggregateEntity> result = new ArrayList<>();
         List<UserAllocation> allocations = userAllocationService.getByParams(projectId, null, null);

+ 108 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectMemberServiceImpl.java

@@ -4,8 +4,7 @@ import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.SysUser;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
-import cn.com.ctop.common.module.service.ISysRoleExtService;
-import cn.com.ctop.common.module.service.IUserAllocationService;
+import cn.com.ctop.common.module.service.*;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
 import com.alibaba.fastjson.JSONArray;
@@ -17,6 +16,7 @@ import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.ProjectMember;
 import org.jeecg.modules.ctop.mapper.ProjectMemberMapper;
+import org.jeecg.modules.ctop.service.IAdvertiserService;
 import org.jeecg.modules.ctop.service.IProjectMemberService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -42,6 +42,14 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
     private ISysRoleExtService sysRoleService;
     @Autowired
     private UserAllocationMapper userAllocationMapper;
+    @Autowired
+    private IProjectService projectService;
+    @Autowired
+    private ISysUserService userService;
+    @Autowired
+    private IAdvertiserService advertiserService;
+    @Autowired
+    private IProductService productService;
 
     private static final String[] PERMISSION_VIEW_PROJECT = {"admin", "saleDirector", "sale", "saleAssistant", "saleAm", "meidaManager"};
 
@@ -313,5 +321,103 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
         return result;
     }
 
+    @Override
+    public List<ProjectMember> getMapsByProjectList(List<ProjectMember> projectMembers) {
+        if (Check.isNull(projectMembers)) {
+            return projectMembers;
+        }
+        JSONArray projectIdArray = new JSONArray();
+        if (!Check.isNull(projectMembers)) {
+            for (ProjectMember member : projectMembers) {
+                projectIdArray.add(member.getProjectId());
+            }
+        }
+        List<JSONObject> projectList = projectService.getProjectListByIds(projectIdArray);
+        if (Check.isNull(projectList)) {
+            return projectMembers;
+        }
+        Map<Long, JSONObject> projectMap = new HashMap<>();
+        for (int i = 0; i < projectList.size(); i++) {
+            JSONObject projectJson = projectList.get(i);
+            projectMap.put(projectJson.getLong("projectId"), projectJson);
+        }
+        Map<String, String> userIdMap = new HashMap<>();
+        Map<String, String> advertiserIdMap = new HashMap<>();
+        Map<Long, Long> productIdMap = new HashMap<>();
+        for (int i = 0; i < projectList.size(); i++) {
+            JSONObject projectJson = projectList.get(i);
+            if (!Check.isNull(projectJson.getString("responsibleId"))) {
+                userIdMap.put(projectJson.getString("responsibleId"), projectJson.getString("responsibleId"));
+            }
+            if (!Check.isNull(projectJson.getString("designResponsibleId"))) {
+                userIdMap.put(projectJson.getString("designResponsibleId"), projectJson.getString("designResponsibleId"));
+            }
+            if (!Check.isNull(projectJson.getString("advertiserId"))) {
+                advertiserIdMap.put(projectJson.getString("advertiserId"), projectJson.getString("advertiserId"));
+            }
+            if (!Check.isNull(projectJson.getString("productId"))) {
+                productIdMap.put(projectJson.getLong("productId"), projectJson.getLong("productId"));
+            }
+        }
+        Map<String, String> userMap = new HashMap<>();
+        if (!Check.isNull(userIdMap)) {
+            List<JSONObject> userList = userService.getUserMapByMap(userIdMap);
+            if (!Check.isNull(userList)) {
+                for (int i = 0; i < userList.size(); i++) {
+                    JSONObject userJson = userList.get(i);
+                    userMap.put(userJson.getString("id"), userJson.getString("realname"));
+                }
+            }
+        }
+        Map<String, String> advertiserMap = new HashMap<>();
+        if (!Check.isNull(advertiserIdMap)) {
+            List<JSONObject> advertiserList = advertiserService.getAdvertiserByMap(advertiserIdMap);
+            if (!Check.isNull(advertiserList)) {
+                for (int i = 0; i < advertiserList.size(); i++) {
+                    JSONObject advertiserJson = advertiserList.get(i);
+                    advertiserMap.put(advertiserJson.getString("id"), advertiserJson.getString("name"));
+                }
+            }
+        }
+        Map<Long, String> productMap = new HashMap<>();
+        if (!Check.isNull(productIdMap)) {
+            List<JSONObject> productList = productService.getProductByMap(productIdMap);
+            if (!Check.isNull(productList)) {
+                for (int i = 0; i < productList.size(); i++) {
+                    JSONObject productJson = productList.get(i);
+                    productMap.put(productJson.getLong("id"), productJson.getString("productName"));
+                }
+            }
+        }
+        for (ProjectMember member : projectMembers) {
+            Long projectId = member.getProjectId();
+            JSONObject projectJson = projectMap.get(projectId);
+            if (Check.isNull(projectJson)) {
+                continue;
+            }
+            member.setMediaId(projectJson.getString("mediaId"));
+            member.setMaxBid(projectJson.getLong("maxBid"));
+            String advertiserId = projectJson.getString("advertiserId");
+            member.setAdvertiserId(advertiserId);
+            if (!Check.isNull(advertiserMap)) {
+                member.setAdvertiserName(advertiserMap.get(advertiserId));
+            }
+            String responsibleId = projectJson.getString("responsibleId");
+            String designResponsibleId = projectJson.getString("designResponsibleId");
+            if (!Check.isNull(userMap)) {
+                member.setResponsibleName(userMap.get(responsibleId));
+                member.setDesignResponsibleName(userMap.get(designResponsibleId));
+            }
+            Long productId = projectJson.getLong("productId");
+            member.setProductId(productId);
+            if (!Check.isNull(productMap)) {
+                member.setProductName(productMap.get(productId));
+            }
+        }
+        return projectMembers;
+    }
 
 }
+
+
+

+ 108 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/TransferAccountServiceImpl.java

@@ -1,15 +1,23 @@
 package org.jeecg.modules.ctop.service.impl;
 
+import cn.com.ctop.common.module.entity.Project;
+import cn.com.ctop.common.module.service.IProductService;
+import cn.com.ctop.common.module.service.ISupplierListService;
+import cn.com.ctop.common.module.service.ISysUserService;
+import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportDailyAccountMapper;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.ctop.entity.TransferAccount;
 import org.jeecg.modules.ctop.mapper.TransferAccountMapper;
+import org.jeecg.modules.ctop.service.IAdvertiserService;
 import org.jeecg.modules.ctop.service.ITransferAccountService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 转户记录表
@@ -26,6 +34,15 @@ public class TransferAccountServiceImpl extends ServiceImpl<TransferAccountMappe
     @Autowired
     private TransferAccountMapper transferAccountMapper;
 
+    @Autowired
+    private ISysUserService userService;
+    @Autowired
+    private IAdvertiserService advertiserService;
+    @Autowired
+    private IProductService productService;
+    @Autowired
+    private ISupplierListService supplierListService;
+
     @Override
     public List<JSONObject> selectCost(Long accountId, String startDate, String endDate) {
         return dailyAccountMapper.selectCost(accountId, startDate, endDate);
@@ -37,4 +54,95 @@ public class TransferAccountServiceImpl extends ServiceImpl<TransferAccountMappe
         return transferAccountMapper.getAccountQuarterDetail(accountId, startDate, endDate);
     }
 
+    @Override
+    public List<Project> getTransferInfoListByList(List<Project> records) {
+        if (Check.isNull(records)) {
+            return records;
+        }
+        Map<String, String> supplierMap = supplierListService.getSupplierMap();
+        Map<Long, Long> projectIdMap = new HashMap<>();
+        Map<String, String> userIdMap = new HashMap<>();
+        Map<String, String> advertiserIdMap = new HashMap<>();
+        Map<Long, Long> productIdMap = new HashMap<>();
+        for (Project project : records) {
+            projectIdMap.put(project.getId(), project.getId());
+            if (!Check.isNull(project.getResponsibleId())) {
+                userIdMap.put(project.getResponsibleId(), project.getResponsibleId());
+            }
+            if (!Check.isNull(project.getDesignResponsibleId())) {
+                userIdMap.put(project.getDesignResponsibleId(), project.getDesignResponsibleId());
+            }
+            if (!Check.isNull(project.getSaleId())) {
+                userIdMap.put(project.getSaleId(), project.getSaleId());
+            }
+            if (!Check.isNull(project.getAdvertiserId())) {
+                advertiserIdMap.put(project.getAdvertiserId(), project.getAdvertiserId());
+            }
+            if (!Check.isNull(project.getProductId())) {
+                productIdMap.put(project.getProductId(), project.getProductId());
+            }
+        }
+        Map<String, String> userMap = new HashMap<>();
+        if (!Check.isNull(userIdMap)) {
+            List<JSONObject> userList = userService.getUserMapByMap(userIdMap);
+            if (!Check.isNull(userList)) {
+                for (int i = 0; i < userList.size(); i++) {
+                    JSONObject userJson = userList.get(i);
+                    userMap.put(userJson.getString("id"), userJson.getString("realname"));
+                }
+            }
+        }
+        Map<String, String> advertiserMap = new HashMap<>();
+        if (!Check.isNull(advertiserIdMap)) {
+            List<JSONObject> advertiserList = advertiserService.getAdvertiserByMap(advertiserIdMap);
+            if (!Check.isNull(advertiserList)) {
+                for (int i = 0; i < advertiserList.size(); i++) {
+                    JSONObject advertiserJson = advertiserList.get(i);
+                    advertiserMap.put(advertiserJson.getString("id"), advertiserJson.getString("name"));
+                }
+            }
+        }
+        Map<Long, String> productMap = new HashMap<>();
+        if (!Check.isNull(productIdMap)) {
+            List<JSONObject> productList = productService.getProductByMap(productIdMap);
+            if (!Check.isNull(productList)) {
+                for (int i = 0; i < productList.size(); i++) {
+                    JSONObject productJson = productList.get(i);
+                    productMap.put(productJson.getLong("id"), productJson.getString("productName"));
+                }
+            }
+        }
+        Map<Long, Integer> transferMap = new HashMap<>();
+        if (!Check.isNull(projectIdMap)) {
+            List<JSONObject> transferList = transferAccountMapper.getListByMap(projectIdMap);
+            if (!Check.isNull(transferList)) {
+                for (int i = 0; i < transferList.size(); i++) {
+                    JSONObject transferJson = transferList.get(i);
+                    transferMap.put(transferJson.getLong("projectId"), transferJson.getInteger("count"));
+                }
+            }
+        }
+
+        for (Project project : records) {
+            if (!Check.isNull(advertiserMap)) {
+                project.setAdvertiserId_dictText(advertiserMap.get(project.getAdvertiserId()));
+            }
+            if (!Check.isNull(userMap)) {
+                project.setResponsibleId_dictText(userMap.get(project.getResponsibleId()));
+                project.setDesignResponsibleId_dictText(userMap.get(project.getDesignResponsibleId()));
+                project.setSaleId_dictText(userMap.get(project.getSaleId()));
+            }
+            if (!Check.isNull(productMap)) {
+                project.setProductId_dictText(productMap.get(project.getProductId()));
+            }
+            if (!Check.isNull(transferMap)) {
+                project.setNeedExamine(transferMap.get(project.getId()));
+            }
+            if (!Check.isNull(supplierMap)) {
+                project.setSupplierCode_dictText(supplierMap.get(project.getSupplierCode()));
+            }
+        }
+        return records;
+    }
+
 }

+ 15 - 17
module-common/src/main/java/cn/com/ctop/common/module/entity/Project.java

@@ -1,6 +1,5 @@
 package cn.com.ctop.common.module.entity;
 
-import cn.com.ctop.common.module.annotation.Dict;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -47,13 +46,11 @@ public class Project {
      */
     @Excel(name = "广告主id", width = 15)
     @ApiModelProperty(value = "广告主id")
-    @Dict(dicCode = "id", dictTable = "ctop_advertiser", dicText = "name")
     private String advertiserId;
 
 
     @Excel(name = "产品id", width = 15)
     @ApiModelProperty(value = "广告主id")
-    @Dict(dicCode = "id", dictTable = "ctop_product", dicText = "product_name")
     private Long productId;
 
     /**
@@ -67,13 +64,11 @@ public class Project {
      */
     @Excel(name = "负责人id", width = 15)
     @ApiModelProperty(value = "负责人id")
-    @Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
     private String responsibleId;
 
 
     @Excel(name = "设计负责人", width = 15)
     @ApiModelProperty(value = "设计负责人")
-    @Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
     private String designResponsibleId;
 
 
@@ -94,14 +89,8 @@ public class Project {
 
     private String supplierCode;
 
-    /**
-     * 销售
-     */
-    @TableField(exist = false)
-    private String supplierCode_dictText;
 
     // 销售
-    @Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
     private String saleId;
     /**
      * 最高深度转化出价
@@ -125,15 +114,24 @@ public class Project {
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
 
-    @TableField(exist = false)
-    private Integer needExamine;
+
     private String bidType;
     private String ocpxActionType;
 
-   /* @TableField(exist = false)
-    private String responsibleName; // 运营负责人
+    @TableField(exist = false)
+    private String responsibleId_dictText; // 运营负责人
 
+    @TableField(exist = false)
+    private String saleId_dictText; // 销售
 
-    private String designResponsibleName; // 产品负责人
-*/
+    @TableField(exist = false)
+    private String designResponsibleId_dictText; // 设计负责人
+    @TableField(exist = false)
+    private String advertiserId_dictText; // 广告主名称
+    @TableField(exist = false)
+    private String productId_dictText; // 产品名称
+    @TableField(exist = false)
+    private Integer needExamine;
+    @TableField(exist = false)
+    private String supplierCode_dictText;
 }

+ 6 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/ProductMapper.java

@@ -1,9 +1,13 @@
 package cn.com.ctop.common.module.mapper;
 
 import cn.com.ctop.common.module.entity.Product;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 产品表
  *
@@ -14,4 +18,6 @@ import org.apache.ibatis.annotations.Param;
 public interface ProductMapper extends BaseMapper<Product> {
 
     String getUserNameByUserId(@Param("userId") String userId);
+
+    List<JSONObject> getProductByMap(@Param("ids") Map<Long, Long> productIdMap);
 }

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/ProjectMapper.java

@@ -1,10 +1,13 @@
 package cn.com.ctop.common.module.mapper;
 
 import cn.com.ctop.common.module.entity.Project;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 项目
  *
@@ -19,4 +22,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
     JSONObject getWarningInfoByProjectId(@Param("projectId") Long projectId);
 
     String querySupplierCodeById(@Param("projectId") Long projectId);
+
+    List<JSONObject> getProjectListByIds(@Param("ids") JSONArray projectIdArray);
 }

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/SupplierListMapper.java

@@ -1,8 +1,11 @@
 package cn.com.ctop.common.module.mapper;
 
 import cn.com.ctop.common.module.entity.SupplierList;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * 供应商列表
  *
@@ -12,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface SupplierListMapper extends BaseMapper<SupplierList> {
 
+    List<JSONObject> getSupplierMap();
 }

+ 5 - 2
module-common/src/main/java/cn/com/ctop/common/module/mapper/SysUserMapper.java

@@ -25,6 +25,7 @@ import java.util.Map;
  */
 public interface SysUserMapper extends BaseMapper<SysUser> {
     List<SysUser> selectAllUser();
+
     List<SysUser> selectAllDesigner();
 
     /**
@@ -161,7 +162,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     Map<String, Object> queryRoleCode(@Param("userId") String userId);
 
-    List<SysUserVo> getAllUser(@Param("userName") String userName,@Param("status") String status);
+    List<SysUserVo> getAllUser(@Param("userName") String userName, @Param("status") String status);
 
     List<SysUserVo> getUserListByCompany(@Param("companyId") String companyId, @Param("userName") String userName);
 
@@ -171,7 +172,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     JSONObject selectUserByAccount(@Param("accountId") Long accountId);
 
-    SysUser getDesignerTeamLeaderBy(@Param("orgCode")String orgCode);
+    SysUser getDesignerTeamLeaderBy(@Param("orgCode") String orgCode);
 
     List<SysUser> queryPageList(SysUser user);
+
+    List<JSONObject> getUserMapByMap(@Param("ids") Map<String, String> userIdMap);
 }

+ 10 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/ProductMapper.xml

@@ -6,5 +6,15 @@
      select  realname  from sys_user
      where  id = #{userId}
     </select>
+    <select id="getProductByMap" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        id as 'id',
+        product_name as 'productName'
+        from ctop_product
+        where id in
+        <foreach collection="ids" item="ids" separator="," open="(" close=")">
+            #{ids}
+        </foreach>
+    </select>
 
 </mapper>

+ 19 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/ProjectMapper.xml

@@ -24,5 +24,24 @@
     <select id="querySupplierCodeById" resultType="java.lang.String">
         select supplier_code from ctop_project where id=#{projectId}
     </select>
+    <select id="getProjectListByIds" resultType="com.alibaba.fastjson.JSONObject">
+        select
+        id as 'projectId',
+        advertiser_id as 'advertiserId',
+        product_id as 'productId',
+        responsible_id as 'responsibleId',
+        design_responsible_id as 'designResponsibleId',
+        media_id as 'mediaId',
+        max_bid as 'maxBid'
+        from ctop_project
+        where id in
+        <foreach collection="ids" item="item" separator=","
+                 open="(" close=")">
+            #{item}
+        </foreach>
+        group by id
+
+
+    </select>
 
 </mapper>

+ 6 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SupplierListMapper.xml

@@ -2,4 +2,10 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.ctop.common.module.mapper.SupplierListMapper">
 
+    <select id="getSupplierMap" resultType="com.alibaba.fastjson.JSONObject">
+        select
+        supplier_code as 'code',
+        supplier_name as 'name'
+        from ctop_supplier_list
+    </select>
 </mapper>

+ 8 - 1
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml

@@ -100,7 +100,7 @@ SELECT
         <if test="userName != null and userName != ''">
             and t1.realname like concat(concat('%',#{userName}),'%')
         </if>
-          <if test="status != null and status != ''">
+        <if test="status != null and status != ''">
             and t1.status =#{status}
             AND t1.del_flag = 0
         </if>
@@ -312,5 +312,12 @@ SELECT
             AND t1.sex =#{sex}
         </if>
     </select>
+    <select id="getUserMapByMap" resultType="com.alibaba.fastjson.JSONObject">
+        select id,realname from sys_user
+        where id in
+        <foreach collection="ids" item="ids" separator="," open="(" close=")">
+            #{ids}
+        </foreach>
+    </select>
 
 </mapper>

+ 6 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/IProductService.java

@@ -1,8 +1,12 @@
 package cn.com.ctop.common.module.service;
 
 import cn.com.ctop.common.module.entity.Product;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 产品表
  * @Author: jeecg-boot
@@ -12,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IProductService extends IService<Product> {
 
     String getUserNameByUserId(String userId);
+
+    List<JSONObject> getProductByMap(Map<Long, Long> productIdMap);
 }

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/IProjectService.java

@@ -1,6 +1,8 @@
 package cn.com.ctop.common.module.service;
 
 import cn.com.ctop.common.module.entity.Project;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
@@ -19,4 +21,6 @@ public interface IProjectService extends IService<Project> {
     String getNameByAccountId(Long accountId);
 
     String getSupplierCodeById(Long projectId);
+
+    List<JSONObject> getProjectListByIds(JSONArray projectIdArray);
 }

+ 3 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/ISupplierListService.java

@@ -3,6 +3,8 @@ package cn.com.ctop.common.module.service;
 import cn.com.ctop.common.module.entity.SupplierList;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * 供应商列表
  *
@@ -12,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISupplierListService extends IService<SupplierList> {
 
+    Map<String, String> getSupplierMap();
 }

+ 5 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/ISysUserService.java

@@ -3,6 +3,7 @@ package cn.com.ctop.common.module.service;
 import cn.com.ctop.common.module.entity.SysUser;
 import cn.com.ctop.common.module.model.SysUserSysDepartModel;
 import cn.com.ctop.common.module.vo.SysUserVo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -71,6 +72,7 @@ public interface ISysUserService extends IService<SysUser> {
     public SysUser getUserByName(String username);
 
     SysUser getUserByRealName(String realname);
+
     /**
      * 添加用户和用户角色关系
      *
@@ -259,11 +261,13 @@ public interface ISysUserService extends IService<SysUser> {
      */
     List<SysUser> queryByDepIds(List<String> departIds, String username);
 
-    List<SysUserVo> getAllUser(String userName,String status);
+    List<SysUserVo> getAllUser(String userName, String status);
 
     List<SysUser> getAllDesigner();
 
     SysUser getDesignerTeamLeaderBy(String orgCode);
 
     List<SysUser> queryPageList(SysUser user);
+
+    List<JSONObject> getUserMapByMap(Map<String, String> userIdMap);
 }

+ 9 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/ProductServiceImpl.java

@@ -3,10 +3,14 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.Product;
 import cn.com.ctop.common.module.mapper.ProductMapper;
 import cn.com.ctop.common.module.service.IProductService;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 产品表
  *
@@ -23,4 +27,9 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
     public String getUserNameByUserId(String userId) {
         return productMapper.getUserNameByUserId(userId);
     }
+
+    @Override
+    public List<JSONObject> getProductByMap(Map<Long, Long> productIdMap) {
+        return productMapper.getProductByMap(productIdMap);
+    }
 }

+ 7 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/ProjectServiceImpl.java

@@ -3,6 +3,8 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.mapper.ProjectMapper;
 import cn.com.ctop.common.module.service.IProjectService;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,4 +42,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     public String getSupplierCodeById(Long projectId) {
         return projectMapper.querySupplierCodeById(projectId);
     }
+
+    @Override
+    public List<JSONObject> getProjectListByIds(JSONArray projectIdArray) {
+        return projectMapper.getProjectListByIds(projectIdArray);
+    }
 }

+ 21 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/SupplierListServiceImpl.java

@@ -3,9 +3,16 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.SupplierList;
 import cn.com.ctop.common.module.mapper.SupplierListMapper;
 import cn.com.ctop.common.module.service.ISupplierListService;
+import cn.com.ctop.common.module.utils.Check;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 供应商列表
  *
@@ -15,5 +22,19 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SupplierListServiceImpl extends ServiceImpl<SupplierListMapper, SupplierList> implements ISupplierListService {
+    @Autowired
+    private SupplierListMapper supplierListMapper;
 
+    @Override
+    public Map<String, String> getSupplierMap() {
+        Map<String, String> map = new HashMap<>();
+        List<JSONObject> list = supplierListMapper.getSupplierMap();
+        if (!Check.isNull(list)) {
+            for (int i = 0; i < list.size(); i++) {
+                JSONObject json = list.get(i);
+                map.put(json.getString("code"), json.getString("name"));
+            }
+        }
+        return map;
+    }
 }

+ 9 - 3
module-common/src/main/java/cn/com/ctop/common/module/service/impl/SysUserServiceImpl.java

@@ -3,9 +3,11 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.*;
 import cn.com.ctop.common.module.mapper.*;
 import cn.com.ctop.common.module.model.SysUserSysDepartModel;
+import cn.com.ctop.common.module.service.ISysBaseApi;
 import cn.com.ctop.common.module.service.ISysUserService;
 import cn.com.ctop.common.module.vo.SysUserDepVo;
 import cn.com.ctop.common.module.vo.SysUserVo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -15,7 +17,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
-import cn.com.ctop.common.module.service.ISysBaseApi;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.SysUserCacheInfo;
 import org.jeecg.common.util.PasswordUtil;
@@ -268,8 +269,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public List<SysUserVo> getAllUser(String userName,String status) {
-        return userMapper.getAllUser(userName,status);
+    public List<SysUserVo> getAllUser(String userName, String status) {
+        return userMapper.getAllUser(userName, status);
     }
 
     @Override
@@ -288,6 +289,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
+    public List<JSONObject> getUserMapByMap(Map<String, String> userIdMap) {
+        return userMapper.getUserMapByMap(userIdMap);
+    }
+
+    @Override
     public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
         List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds);
         Map<String, String> res = new HashMap<String, String>();