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

分公司总经理、运营总监数据权限调整

zhaoxian 3 лет назад
Родитель
Сommit
03dee3bf24
66 измененных файлов с 1000 добавлено и 149 удалено
  1. 1 1
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/ProductMapper.java
  2. 2 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/ProjectMapper.java
  3. 10 3
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/SysDepartMapper.java
  4. 2 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/SysUserMapper.java
  5. 2 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/UserCompanyMapper.java
  6. 10 6
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/ProductMapper.xml
  7. 12 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/ProjectMapper.xml
  8. 9 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/SysDepartMapper.xml
  9. 5 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml
  10. 22 28
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/UserCompanyMapper.xml
  11. 1 1
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IProductService.java
  12. 2 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IProjectService.java
  13. 4 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/ISysDepartService.java
  14. 3 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IUserCompanyService.java
  15. 2 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/ProductServiceImpl.java
  16. 6 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/ProjectServiceImpl.java
  17. 6 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/SysDepartServiceImpl.java
  18. 5 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/UserCompanyServiceImpl.java
  19. 17 3
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/AiKuaishouAccountAutoStrategyController.java
  20. 4 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouAccountAutoStrategy.java
  21. 3 0
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouAdvertiserStrategy.java
  22. 6 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/AiKuaishouAccountAutoStrategyMapper.xml
  23. 6 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/AiKuaishouAdvertiserStrategyMapper.xml
  24. 19 6
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/channel/controller/KuaishouChannelController.java
  25. 1 1
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/KuaishouAccountCleanTemplateMapper.java
  26. 1 1
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/ProjectMonitorWhiteListMapper.java
  27. 6 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/xml/KuaishouAccountCleanTemplateMapper.xml
  28. 7 3
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/xml/ProjectMonitorWhiteListMapper.xml
  29. 20 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/service/impl/KuaiShouAccountCleanServiceImpl.java
  30. 12 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/service/impl/ProjectMonitorWhiteListServiceImpl.java
  31. 21 6
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/dimension/controller/KuaiShouDimensionStrategyController.java
  32. 14 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/hosting/controller/KuaishouHostingTemplateController.java
  33. 12 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java
  34. 16 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AiKuaishouAdvertiserStrategyController.java
  35. 21 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialImageInfoController.java
  36. 14 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java
  37. 25 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProductController.java
  38. 13 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java
  39. 86 20
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java
  40. 23 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java
  41. 14 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UserAllocationController.java
  42. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/ProjectMemberMapper.java
  43. 6 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectMemberMapper.xml
  44. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectMemberService.java
  45. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectMemberServiceImpl.java
  46. 18 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java
  47. 60 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java
  48. 66 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/entity/UserCompany.java
  49. 1 1
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/ProjectMemberMapper.java
  50. 3 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/SysDepartMapper.java
  51. 3 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/SysUserMapper.java
  52. 22 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/UserCompanyMapper.java
  53. 6 2
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/ProjectMemberMapper.xml
  54. 9 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/SysDepartMapper.xml
  55. 8 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/SysUserMapper.xml
  56. 18 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/UserCompanyMapper.xml
  57. 1 1
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/IProjectMemberService.java
  58. 22 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/ISysDepartService.java
  59. 51 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/ISysRoleService.java
  60. 24 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/IUserCompanyService.java
  61. 2 2
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/ProjectMemberServiceImpl.java
  62. 47 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/SysDepartServiceImpl.java
  63. 89 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/SysRoleServiceImpl.java
  64. 45 0
      jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/UserCompanyServiceImpl.java
  65. 16 4
      jeecg-boot-report/src/main/java/cn/com/ctop/report/controller/KuaishouMaterialReportDailyDwController.java
  66. 14 9
      jeecg-cloud-module/jeecg-cloud-system-start/src/main/resources/application-dev.yml

+ 1 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/ProductMapper.java

@@ -23,5 +23,5 @@ public interface ProductMapper extends BaseMapper<Product> {
 
     List<JSONObject> getProductByMap(@Param("ids") Map<Long, Long> productIdMap);
 
-    IPage<Product> getUserProductList(Page<Product> page, @Param("userId")String userId, @Param("productName")String productName);
+    IPage<Product> getUserProductList(Page<Product> page, @Param("userIds") List<String> userIds, @Param("productName")String productName);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/ProjectMapper.java

@@ -39,4 +39,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<JSONObject> queryProductList(@Param("projectList") List<JSONObject> projectList);
 
     JSONObject getProduct(@Param("accountId") Long accountId, @Param("projectId") Long projectId);
+
+    List<Long> getProjectIdListByCompanyId(@Param("companyId") String companyId,@Param("mediaId")  String mediaId);
 }

+ 10 - 3
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/SysDepartMapper.java

@@ -61,25 +61,32 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
 
 
     List<SysDepart> queryTreeListByPid(@Param("parentId") String parentId);
+
     /**
      * 根据id下级部门数量
+     *
      * @param parentId
      * @return
      */
     @Select("SELECT count(*) FROM sys_depart where del_flag ='0' AND parent_id = #{parentId,jdbcType=VARCHAR}")
-    Integer queryCountByPid(@Param("parentId")String parentId);
+    Integer queryCountByPid(@Param("parentId") String parentId);
+
     /**
      * 根据id下级部门
+     *
      * @param parentId
      * @return
      */
     @Select("SELECT * FROM sys_depart where del_flag ='0' AND parent_id = #{parentId,jdbcType=VARCHAR}")
-    List<SysDepart> queryDeptByPid(@Param("parentId")String parentId);
+    List<SysDepart> queryDeptByPid(@Param("parentId") String parentId);
 
     /**
      * 根据OrgCod查询所属公司信息
+     *
      * @param orgCode
      * @return
      */
-    SysDepart queryCompByOrgCode(@Param("orgCode")String orgCode);
+    SysDepart queryCompByOrgCode(@Param("orgCode") String orgCode);
+
+    List<String> getAllUserIdsByDepId(@Param("departId") String departId);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/SysUserMapper.java

@@ -188,4 +188,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
     Integer updUserDesignLeaderById(@Param("userId") String userId,@Param("designTeamLeaderName") String designTeamLeaderName);
 
     List<String> getUserIdsByLeaderId(@Param("leaderId")String leaderId);
+
+    JSONObject getDepart(@Param("companyId")  String companyId);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/UserCompanyMapper.java

@@ -22,4 +22,6 @@ public interface UserCompanyMapper extends BaseMapper<UserCompany> {
     JSONObject getCompanyInfoByAccountId(@Param("accountId") Long accountId);
 
     JSONObject getCompanyInfoByUserId(@Param("userId") String userId);
+
+    List<String> getUserIdListByCompanyId(@Param("companyId")  String companyId);
 }

+ 10 - 6
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/ProductMapper.xml

@@ -39,17 +39,21 @@
         DISTINCT(project_id)
         from
         ctop_project_member
-        <if test="userId !=null and userId!=''">
-            where
-            user_id =
-            #{userId}
-        </if>
+        <where>
+            <if test="userIds !=null and userIds.size>0">
+                AND user_id in
+                <foreach collection="userIds" item="item" separator=","
+                         open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
         ) )
-
         <if test="productName != null and productName != ''">
             and cp.product_name like concat('%',#{productName},'%')
         </if>
         order by cp.create_time desc
+
     </select>
 
 </mapper>

+ 12 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/ProjectMapper.xml

@@ -128,4 +128,16 @@
         </where>
     </select>
 
+    <select id="getProjectIdListByCompanyId" resultType="long">
+        select id
+        from ctop_project
+        WHERE company_id = #{companyId}
+        <if test="mediaId == 1">
+           AND (media_id = 1 or media_id = 3)
+        </if>
+        <if test="mediaId == 2">
+           AND (media_id = 2 or media_id = 4)
+        </if>
+    </select>
+
 </mapper>

+ 9 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/SysDepartMapper.xml

@@ -76,5 +76,14 @@
         select * from sys_depart where del_flag = '0' and org_category='1' and org_code= #{orgCode,jdbcType=VARCHAR}
     </select>
 
+    <select id="getAllUserIdsByDepId" resultType="String">
+        SELECT user_id FROM sys_user_depart WHERE dep_id IN (
+            select id
+            from sys_depart
+            where del_flag = '0'
+              and org_code like concat((select org_code from sys_depart where id = #{departId}), '%')
+        )
+    </select>
+
 
 </mapper>

+ 5 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml

@@ -353,4 +353,9 @@ SELECT
         where leader_id = #{leaderId}
     </select>
 
+    <select id="getDepart" resultType="com.alibaba.fastjson.JSONObject">
+        select * from sys_manager_company
+        where id = #{companyId}
+    </select>
+
 </mapper>

+ 22 - 28
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/mapper/xml/UserCompanyMapper.xml

@@ -2,39 +2,33 @@
 <!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.UserCompanyMapper">
 
-	<select id="allCompany" resultType="com.alibaba.fastjson.JSONObject">
-        SELECT company_id as 'companyId',
-               company_name as 'companyName'
+    <select id="allCompany" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT company_id as 'companyId', company_name as 'companyName'
         FROM user_company
         GROUP BY company_id
     </select>
-	<select id="getCompanyInfoByAccountId" resultType="com.alibaba.fastjson.JSONObject">
-    SELECT
-	company_id AS 'companyId',
-	company_name AS 'companyName'
-	FROM
-	user_company
-	WHERE
-	user_id = (
-		SELECT
-			user_id
-		FROM
-			ctop_user_allocation
-		WHERE
-			account_id = #{accountId}
-		LIMIT 1
-	)
+    <select id="getCompanyInfoByAccountId" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT company_id AS 'companyId', company_name AS 'companyName'
+        FROM user_company
+        WHERE user_id = (
+            SELECT user_id
+            FROM ctop_user_allocation
+            WHERE account_id = #{accountId}
+            LIMIT 1
+            )
+
+    </select>
+    <select id="getCompanyInfoByUserId" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT company_id AS 'companyId', company_name AS 'companyName'
+        FROM user_company
+        WHERE user_id = #{userId}
+    </select>
 
+    <select id="getUserIdListByCompanyId" resultType="String">
+        SELECT user_id
+        FROM user_company
+        WHERE company_id = #{companyId}
     </select>
-	<select id="getCompanyInfoByUserId" resultType="com.alibaba.fastjson.JSONObject">
-	SELECT
-	company_id AS 'companyId',
-	company_name AS 'companyName'
-	FROM
-	user_company
-	WHERE
-	user_id = #{userId}
-	</select>
 
 
 </mapper>

+ 1 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IProductService.java

@@ -22,5 +22,5 @@ public interface IProductService extends IService<Product> {
 
     List<JSONObject> getProductByMap(Map<Long, Long> productIdMap);
 
-    IPage<Product> getUserProductList(Page<Product> page, String userId, String productName);
+    IPage<Product> getUserProductList(Page<Product> page,  List<String> userIds, String productName);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IProjectService.java

@@ -34,4 +34,6 @@ public interface IProjectService extends IService<Project> {
     JSONObject getProjectByAccountId(Long accountId);
 
     List<JSONObject> queryProductInfo(List<JSONObject> projectList);
+
+    List<Long> getProjectIdListByCompanyId(String companyId, String mediaId);
 }

+ 4 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/ISysDepartService.java

@@ -139,4 +139,8 @@ public interface ISysDepartService extends IService<SysDepart>{
      */
     List<SysDepart> queryDeptByPid(String pid);
 
+    /**
+     * 根据部门Id查询当前和下级所有部门下的人员ID
+     */
+    List<String> getAllUserIdsByDepId(String departId);
 }

+ 3 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IUserCompanyService.java

@@ -31,4 +31,7 @@ public interface IUserCompanyService extends IService<UserCompany> {
     JSONObject getCompanyInfoByAccountId(Long accountId);
 
     JSONObject getCompanyInfoByUserId(String clipId);
+
+    List<String> getUserIdListByCompanyId(String companyId);
+
 }

+ 2 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/ProductServiceImpl.java

@@ -36,7 +36,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
         return productMapper.getProductByMap(productIdMap);
     }
     @Override
-    public IPage<Product> getUserProductList(Page<Product> page, String userId, String productName){
-        return productMapper.getUserProductList(page,userId,productName);
+    public IPage<Product> getUserProductList(Page<Product> page,  List<String> userIds, String productName){
+        return productMapper.getUserProductList(page,userIds,productName);
     }
 }

+ 6 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/ProjectServiceImpl.java

@@ -85,4 +85,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     public List<JSONObject> queryProductInfo(List<JSONObject> projectList) {
         return projectMapper.queryProductList(projectList);
     }
+
+    @Override
+    public List<Long> getProjectIdListByCompanyId(String companyId, String mediaId) {
+        return projectMapper.getProjectIdListByCompanyId(companyId, mediaId);
+
+    }
 }

+ 6 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/SysDepartServiceImpl.java

@@ -591,6 +591,12 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
     public List<SysDepart> queryDeptByPid(String pid) {
         return this.baseMapper.queryDeptByPid(pid);
     }
+
+    @Override
+    public List<String> getAllUserIdsByDepId(String departId) {
+        return this.baseMapper.getAllUserIdsByDepId(departId);
+    }
+
     /**
      * 根据关键字筛选部门信息
      * @param keyWord

+ 5 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/UserCompanyServiceImpl.java

@@ -147,4 +147,9 @@ public class UserCompanyServiceImpl extends ServiceImpl<UserCompanyMapper, UserC
     public JSONObject getCompanyInfoByUserId(String clipId) {
         return userCompanyMapper.getCompanyInfoByUserId(clipId);
     }
+
+    @Override
+    public List<String> getUserIdListByCompanyId(String companyId) {
+        return userCompanyMapper.getUserIdListByCompanyId(companyId);
+    }
 }

+ 17 - 3
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/AiKuaishouAccountAutoStrategyController.java

@@ -106,9 +106,23 @@ public class AiKuaishouAccountAutoStrategyController {
             result.setMessage("请选择用户");
             return result;
         }
-        String roleCode = sysRoleService.getRoleCodeByUserId(aiKuaishouAccountAutoStrategy.getUserId());
-        if (CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
-            aiKuaishouAccountAutoStrategy.setUserId(null);
+        String userId = aiKuaishouAccountAutoStrategy.getUserId();
+        String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+            aiKuaishouAccountAutoStrategy.setUserIds(userIds);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+            aiKuaishouAccountAutoStrategy.setUserIds(userIds);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+            aiKuaishouAccountAutoStrategy.setUserIds(userIds);
+        } else if (CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
+            aiKuaishouAccountAutoStrategy.setUserIds(null);
+        }else {
+            userIds.add(userId);
+            aiKuaishouAccountAutoStrategy.setUserIds(userIds);
         }
         PageHelper.startPage(pageNo, pageSize);
         PageInfo<AiKuaishouAccountAutoStrategy> pageInfo = aiKuaishouAccountAutoStrategyService.queryList(aiKuaishouAccountAutoStrategy);

+ 4 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouAccountAutoStrategy.java

@@ -13,6 +13,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 自动投放重构-账户策略表
@@ -498,6 +499,9 @@ public class AiKuaishouAccountAutoStrategy {
     private String authName;
 
     @TableField(exist = false)
+    private List<String> userIds;
+
+    @TableField(exist = false)
     private int customCreatedUnitCnt;
 
     @TableField(exist = false)

+ 3 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouAdvertiserStrategy.java

@@ -397,5 +397,8 @@ public class AiKuaishouAdvertiserStrategy {
     private String authName;
 
     @TableField(exist = false)
+    private List<String> userIds;
+
+    @TableField(exist = false)
     private List<JSONObject> appInfoList;
 }

+ 6 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/AiKuaishouAccountAutoStrategyMapper.xml

@@ -18,8 +18,12 @@
             <if test="accountId != null">
                 and account_id = #{accountId}
             </if>
-            <if test="userId != null">
-                and user_id = #{userId}
+            <if test="userIds != null and userIds.size() > 0">
+                and user_id in
+                <foreach item="id" index="index" collection="userIds"
+                         open="(" separator="," close=")">
+                    #{id}
+                </foreach>
             </if>
             <if test="status != null">
                 and status = #{status}

+ 6 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/AiKuaishouAdvertiserStrategyMapper.xml

@@ -9,8 +9,12 @@
             <if test="accountId != null">
                 and account_id = #{accountId}
             </if>
-            <if test="userId != null">
-                and user_id = #{userId}
+            <if test="userIds != null and userIds.size() > 0">
+                and user_id in
+                <foreach item="id" index="index" collection="userIds"
+                         open="(" separator="," close=")">
+                    #{id}
+                </foreach>
             </if>
         </where>
         order by create_time desc

+ 19 - 6
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/channel/controller/KuaishouChannelController.java

@@ -18,6 +18,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -66,6 +67,8 @@ public class KuaishouChannelController {
     private ISysRoleExtService sysRoleService;
     @Autowired
     private ISysUserService sysUserService;
+    @Autowired
+    private ISysRoleService roleService;
 
     /**
      * 查询渠道号管理首页数据
@@ -74,15 +77,25 @@ public class KuaishouChannelController {
     public Result<Object> channelManagementHome(KuaishouChannel kuaishouChannel, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
         try {
 
-            String roleCode = sysRoleService.getRoleCodeByUserId(kuaishouChannel.getUserId());
-
-            if (!Check.isNull(roleCode) && ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode))) {
+            String userId = kuaishouChannel.getUserId();
+            String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+            List<String> userIds = new ArrayList<>();
+            if ("CompanyManager".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if (!Check.isNull(roleCode) && ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode))) {
                 kuaishouChannel.setRids(null);
             } else {
-                List<String> rids = new ArrayList<>();
-                sysUserService.getItsPersonnelIds(rids, kuaishouChannel.getUserId());
-                kuaishouChannel.setRids(rids);
+                sysUserService.getItsPersonnelIds(userIds, kuaishouChannel.getUserId());
+                kuaishouChannel.setRids(userIds);
             }
+            if (!Check.isNull(userIds)) {
+                kuaishouChannel.setRids(userIds);
+            }
+
             PageHelper.startPage(pageNo, pageSize);
             return kuaishouChannelService.channelManagementHome(kuaishouChannel);
         } catch (Exception e) {

+ 1 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/KuaishouAccountCleanTemplateMapper.java

@@ -19,7 +19,7 @@ public interface KuaishouAccountCleanTemplateMapper {
     //创建模板
      void saveAccountCleanTemplate(KuaiShouAccountCleanTemplateInfo kuaiShouAccountCleanTemplateInfo);
     //根据id 创建人查询模板列表
-    List<KuaiShouAccountCleanTemplateInfo> getTemplateList(@Param("templateName")String templateName, @Param("createUser")String createUser, @Param("createId")String createId);
+    List<KuaiShouAccountCleanTemplateInfo> getTemplateList(@Param("templateName")String templateName, @Param("createUser")String createUser, @Param("createIds")List<String> userIds);
     //根据id查询数据
     KuaiShouAccountCleanTemplateInfo getInfoById(@Param("templateId")String templateId);
     //查询账户关联模板个数

+ 1 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/ProjectMonitorWhiteListMapper.java

@@ -16,5 +16,5 @@ import java.util.List;
  */
 public interface ProjectMonitorWhiteListMapper extends BaseMapper<ProjectMonitorWhiteList> {
 
-    List<JSONObject> getProjectIds(@Param("userId") String userId);
+    List<JSONObject> getProjectIds(@Param("userIds")  List<String>  userIds);
 }

+ 6 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/xml/KuaishouAccountCleanTemplateMapper.xml

@@ -49,8 +49,12 @@
             <if test="createUser!=null and createUser!=''">
                 and t.create_user=#{createUser}
             </if>
-            <if test="createId!=null and createId!=''">
-                and t.create_id=#{createId}
+            <if test="createIds!=null and createIds.size() > 0">
+                and t.create_id in
+                <foreach item="id" index="index" collection="createIds"
+                         open="(" separator="," close=")">
+                    #{id}
+                </foreach>
             </if>
         </where>
         order by create_time desc

+ 7 - 3
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/mapper/xml/ProjectMonitorWhiteListMapper.xml

@@ -17,9 +17,13 @@
         project_id
         FROM
         ctop_project_member
-        WHERE 1 = 1
-        <if test="userId != null and userId != ''">
-            AND user_id = #{userId}
+        WHERE 1 = 1 300
+        <if test="userIds != null and userIds.size() > 0">
+            and user_id in
+            <foreach item="id" index="index" collection="userIds"
+                     open="(" separator="," close=")">
+                #{id}
+            </foreach>
         </if>
 
         ) t2 ON t1.project_id = t2.project_id

+ 20 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/service/impl/KuaiShouAccountCleanServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.ctop.kuaishou.modules.clean.service.impl;
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.mapper.CtopOauthTokenMapper;
 import cn.com.ctop.common.module.service.ISysRoleExtService;
+import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouUpdateService;
 import cn.com.ctop.kuaishou.modules.clean.entity.KuaiShouAccountCleanLogInfo;
 import cn.com.ctop.kuaishou.modules.clean.entity.KuaiShouAccountCleanTemplateInfo;
@@ -13,6 +14,7 @@ import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -37,6 +39,9 @@ public class KuaiShouAccountCleanServiceImpl implements KuaiShouAccountCleanServ
     private ISysRoleExtService sysRoleService;
 
     @Resource
+    private ISysRoleService roleService;
+
+    @Resource
     CtopOauthTokenMapper ctopOauthTokenMapper;
 
     @Resource
@@ -89,13 +94,26 @@ public class KuaiShouAccountCleanServiceImpl implements KuaiShouAccountCleanServ
         try {
             //查询当前登录人角色
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-            PageHelper.startPage(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
             if (roleCode != null && roleCode.equals("admin")) {
                 //管理员查询全部
+                PageHelper.startPage(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
                 templateList = kuaishouAccountCleanTemplateMapper.getTemplateList(templateName, createUser, null);
             } else {
+                List<String> userIds = new ArrayList<>();
+                if ("CompanyManager".equals(roleCode)) {
+                    userIds = roleService.getCompanyUsers(roleCode, userId);
+                } else if ("bytedanceDirector".equals(roleCode)) {
+                    userIds = roleService.getCompanyUsers(roleCode, userId);
+                } else if ("kuaishouDirector".equals(roleCode)) {
+                    userIds = roleService.getCompanyUsers(roleCode, userId);
+                }
+                if (Check.isNull(userIds)) {
+                    userIds.add(userId);
+                }
+
                 //其他角色查询自己拥有的
-                templateList = kuaishouAccountCleanTemplateMapper.getTemplateList(templateName, createUser, userId);
+                PageHelper.startPage(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+                templateList = kuaishouAccountCleanTemplateMapper.getTemplateList(templateName, createUser, userIds);
             }
             PageInfo pageInfo = new PageInfo(templateList);
             result.success("查询成功");

+ 12 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/clean/service/impl/ProjectMonitorWhiteListServiceImpl.java

@@ -11,6 +11,7 @@ import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -32,10 +33,19 @@ public class ProjectMonitorWhiteListServiceImpl extends ServiceImpl<ProjectMonit
     @Override
     public List<JSONObject> getProjectAndAccountIds(String userId) {
         String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-        if (roleCode.equals("admin")) {
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if (roleCode.equals("admin")) {
             userId = null;
+        }else{
+            userIds.add(userId);
         }
-        List<JSONObject> projectIds = monitorWhiteListMapper.getProjectIds(userId);
+        List<JSONObject> projectIds = monitorWhiteListMapper.getProjectIds(userIds);
         if (Check.isNull(projectIds)) {
             return null;
         }

+ 21 - 6
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/dimension/controller/KuaiShouDimensionStrategyController.java

@@ -29,6 +29,7 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -78,7 +79,8 @@ public class KuaiShouDimensionStrategyController {
     private IKuaiShouAppListService appListService;
     @Autowired
     private ISysRoleExtService sysRoleService;
-
+    @Autowired
+    private ISysRoleService roleService;
 
     @GetMapping(value = "/checkStrategyName")
     public Result<Boolean> checkStrategyName(String strategyName, Long id) {
@@ -184,12 +186,25 @@ public class KuaiShouDimensionStrategyController {
             queryWrapper.like("strategy_name", strategyName);
         }
         queryWrapper.orderByDesc("create_time");
-        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String roleCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
-        if (!"admin".equals(roleCode)) {
-            queryWrapper.eq("user_id", sysUser.getId());
+        String userId = kuaiShouDimensionStrategy.getUserId();
+        if (Check.isNull(userId)) {
+            LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            userId = sysUser.getId();
+        }
+        String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if (!"admin".equals(roleCode)) {
+            userIds.add(userId);
+        }
+        if (!Check.isNull(userIds)) {
+            queryWrapper.in("user_id", userIds);
         }
-
         queryWrapper.orderByDesc("create_time");
         Page<KuaiShouDimensionStrategy> page = new Page<KuaiShouDimensionStrategy>(pageNo, pageSize);
         IPage<KuaiShouDimensionStrategy> pageList = kuaiShouDimensionStrategyService.page(page, queryWrapper);

+ 14 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/hosting/controller/KuaishouHostingTemplateController.java

@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -122,9 +123,17 @@ public class KuaishouHostingTemplateController {
         Result<IPage<KuaishouHostingTemplate>> result = new Result<>();
         String userId = kuaishouHostingTemplate.getUserId();
         String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-        if ("admin".equals(roleCode)) {
-            kuaishouHostingTemplate.setUserId(null);
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if (!"admin".equals(roleCode)) {
+            userIds.add(userId);
         }
+        kuaishouHostingTemplate.setUserId(null);
         String name = kuaishouHostingTemplate.getName();
         kuaishouHostingTemplate.setName(null);
 
@@ -132,6 +141,9 @@ public class KuaishouHostingTemplateController {
         if (!Check.isNull(name)) {
             queryWrapper.like("name", name);
         }
+        if (!Check.isNull(userIds)) {
+            queryWrapper.in("user_id", userIds);
+        }
         queryWrapper.orderByDesc("create_time");
         Page<KuaishouHostingTemplate> page = new Page<KuaishouHostingTemplate>(pageNo, pageSize);
         IPage<KuaishouHostingTemplate> pageList = kuaishouHostingTemplateService.page(page, queryWrapper);

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

@@ -33,6 +33,7 @@ import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.ctop.mapper.ProjectMemberMapper;
 import org.jeecg.modules.ctop.service.IAdvertiserService;
 import org.jeecg.modules.excelutil.entity.*;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -62,6 +63,8 @@ public class AdvertiserController {
     private UserCompanyMapper userCompanyMapper;
     @Autowired
     private ISysRoleExtService sysRoleService;
+    @Autowired
+    private ISysRoleService roleService;
     @Resource
     private ProjectMapper projectMapper;
     @Resource
@@ -135,6 +138,15 @@ public class AdvertiserController {
             if (!Check.isNull(userCompany)) {
                 queryWrapper.eq("company_id", userCompany.getCompanyId());
             }
+            List<String> userIds = new ArrayList<>();
+            if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            }
+            if (!Check.isNull(userIds)) {
+                queryWrapper.in("user_id", userIds);
+            }
         }
 
         Page<Advertiser> page = new Page<>(pageNo, pageSize);

+ 16 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AiKuaishouAdvertiserStrategyController.java

@@ -77,9 +77,22 @@ public class AiKuaishouAdvertiserStrategyController {
                                                                         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                                         HttpServletRequest req) {
         Result<PageInfo<AiKuaishouAdvertiserStrategy>> result = new Result<>();
-        String roleCode = sysRoleService.getRoleCodeByUserId(aiKuaishouAdvertiserStrategy.getUserId());
-        if (CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
-            aiKuaishouAdvertiserStrategy.setUserId(null);
+        String userId = aiKuaishouAdvertiserStrategy.getUserId();
+        String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+            aiKuaishouAdvertiserStrategy.setUserIds(userIds);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+            aiKuaishouAdvertiserStrategy.setUserIds(userIds);
+        } else if (CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
+            aiKuaishouAdvertiserStrategy.setUserIds(null);
+        }else {
+            userIds.add(userId);
+            aiKuaishouAdvertiserStrategy.setUserIds(userIds);
         }
         PageHelper.startPage(pageNo, pageSize);
         PageInfo<AiKuaishouAdvertiserStrategy> pageInfo = aiKuaishouAdvertiserStrategyService.queryList(aiKuaishouAdvertiserStrategy);

+ 21 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialImageInfoController.java

@@ -76,13 +76,29 @@ public class MaterialImageInfoController {
         QueryWrapper<MaterialImageInfo> queryWrapper = new QueryWrapper<>();
         Object createTime = materialImageInfo.getCreateTime();
         materialImageInfo.setCreateTime(null);
-        if (!Check.isNull(materialImageInfo.getUserId())) {
-            String roleCode = sysRoleService.getRoleCodeByUserId(materialImageInfo.getUserId());
+        String userId = materialImageInfo.getUserId();
+        if (!Check.isNull(userId)) {
+            String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             if ("designTeamLeader".equals(roleCode) || "planeLeader".equals(roleCode) || "admin".equals(roleCode) || "operator".equals(roleCode) || "kuaishouOperationManager".equals(roleCode) || "operationAssistant".equals(roleCode) || "touTiaoOperationManager".equals(roleCode) || "sale".equals(roleCode) || "saleDirector".equals(roleCode)) {
                 materialImageInfo.setUserId(null);
                 queryWrapper = QueryGenerator.initQueryWrapper(materialImageInfo, req.getParameterMap());
             } else if ("plane".equals(roleCode) || "plan".equals(roleCode) || "shot".equals(roleCode)) {
                 queryWrapper = QueryGenerator.initQueryWrapper(materialImageInfo, req.getParameterMap());
+            } else if ("CompanyManager".equals(roleCode)) {
+                List<String> userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+                materialImageInfo.setUserId(null);
+                queryWrapper = QueryGenerator.initQueryWrapper(materialImageInfo, req.getParameterMap());
+                queryWrapper.in("user_id", userIds);
+            } else if ("bytedanceDirector".equals(roleCode)) {
+                List<String> userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+                materialImageInfo.setUserId(null);
+                queryWrapper = QueryGenerator.initQueryWrapper(materialImageInfo, req.getParameterMap());
+                queryWrapper.in("user_id", userIds);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                List<String> userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+                materialImageInfo.setUserId(null);
+                queryWrapper = QueryGenerator.initQueryWrapper(materialImageInfo, req.getParameterMap());
+                queryWrapper.in("user_id", userIds);
             }
             if (!Check.isNull(createTime)) {
                 try {
@@ -98,7 +114,6 @@ public class MaterialImageInfoController {
         Page<MaterialImageInfo> page = new Page<>(pageNo, pageSize);
         IPage<MaterialImageInfo> pageList = MaterialImageInfoService.page(page, queryWrapper);
 
-
         result.setSuccess(true);
         result.setResult(pageList);
         return result;
@@ -110,9 +125,9 @@ public class MaterialImageInfoController {
         Result<IPage<MaterialImageInfo>> result = new Result<IPage<MaterialImageInfo>>();
         QueryWrapper<MaterialImageInfo> queryWrapper = new QueryWrapper<>();
         if (!Check.isNull(requestBody.getString("userId"))) {
-            queryWrapper.eq("user_id",requestBody.getString("userId"));
-            }
-        queryWrapper.orderByDesc(true,"create_time");
+            queryWrapper.eq("user_id", requestBody.getString("userId"));
+        }
+        queryWrapper.orderByDesc(true, "create_time");
         Page<MaterialImageInfo> page = new Page<>(requestBody.getInteger("pageNo"), requestBody.getInteger("pageSize"));
         IPage<MaterialImageInfo> pageList = MaterialImageInfoService.page(page, queryWrapper);
 

+ 14 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java

@@ -321,16 +321,18 @@ public class MaterialInfoController {
     }
 
     @GetMapping(value = "/listV2")
-    public Map<String, Object> queryPageList(String type, Integer status, Long productId, String materialName, String code,
+    public Map<String, Object> queryPageList(String userId, String type, Integer status, Long productId, String materialName, String code,
                                              String startDate, String endDate, String tagCode,
                                              Long projectId, String clipId, String shotId, String planId, String leaderName,
                                              Integer syncKuaishou, Integer syncBytedance, Integer materialInnovate,
                                              @RequestParam(name = "offlineFlag", required = false) Integer offlineFlag,
                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         List<Long> projectIds = new ArrayList<>();
-        String userId = user.getId();
+        if (Check.isNull(userId)) {
+            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            userId = user.getId();
+        }
         String roleCode = roleService.getRoleCodeByUserId(userId);
         if (null == tagCode || "".equals(tagCode.trim())) {
             tagCode = null;
@@ -371,6 +373,15 @@ public class MaterialInfoController {
                 projectIds = projectMemberService.getProjectIdsByProductId(null, userId);
             }
             return materialInfoService.getListByParams(tagCode, type, status, materialName, projectIds, code, startDate, endDate, null, clipId, shotId, planId, leaderName, offlineFlag, pageNo, pageSize, syncKuaishou, syncBytedance, materialInnovate);
+        } else if ("CompanyManager".equals(roleCode)) {
+            projectIds = roleService.getCompanyProjectIds(roleCode, userId);
+            return materialInfoService.getListByParams(tagCode, type, status, materialName, projectIds, code, startDate, endDate, null, clipId, shotId, planId, leaderName, offlineFlag, pageNo, pageSize, syncKuaishou, syncBytedance, materialInnovate);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            projectIds = roleService.getCompanyProjectIds(roleCode, userId);
+            return materialInfoService.getListByParams(tagCode, type, status, materialName, projectIds, code, startDate, endDate, null, clipId, shotId, planId, leaderName, offlineFlag, pageNo, pageSize, syncKuaishou, syncBytedance, materialInnovate);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            projectIds = roleService.getCompanyProjectIds(roleCode, userId);
+            return materialInfoService.getListByParams(tagCode, type, status, materialName, projectIds, code, startDate, endDate, null, clipId, shotId, planId, leaderName, offlineFlag, pageNo, pageSize, syncKuaishou, syncBytedance, materialInnovate);
         } else {
             //查询自己上传的视频
             if (!Check.isNull(projectId)) {

+ 25 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProductController.java

@@ -19,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -36,6 +37,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -59,6 +61,8 @@ public class ProductController {
     private ISysRoleExtService sysRoleService;
     @Resource
     private UserCompanyMapper userCompanyMapper;
+    @Autowired
+    private ISysRoleService roleService;
 
     /**
      * 分页列表查询
@@ -96,6 +100,15 @@ public class ProductController {
                 UserCompany userCompany = userCompanyMapper.selectOne(userCompanyQueryWrapper);
                 queryWrapper.eq("company_id", userCompany.getCompanyId());
             }
+            List<String> userIds = new ArrayList<>();
+             if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            }
+            if (!Check.isNull(userIds)) {
+                queryWrapper.in("user_id", userIds);
+            }
         }
         Page<Product> page = new Page<>(pageNo, pageSize);
         IPage<Product> pageList = productService.page(page, queryWrapper);
@@ -129,11 +142,20 @@ public class ProductController {
             return result;
         }
         String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-        if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
-            userId = null;
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
+            userIds = null;
+        }else {
+            userIds.add(userId);
         }
         Page<Product> page = new Page<>(pageNo, pageSize);
-        IPage<Product> pageList = productService.getUserProductList(page, userId, productName);
+        IPage<Product> pageList = productService.getUserProductList(page, userIds, productName);
         result.setSuccess(true);
         result.setResult(pageList);
         return result;

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

@@ -25,6 +25,7 @@ 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.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -61,6 +62,8 @@ public class ProjectController {
     @Autowired
     private ISysRoleExtService sysRoleService;
     @Autowired
+    private ISysRoleService roleService;
+    @Autowired
     private IMaterialInfoService materialInfoService;
     @Resource
     private UserCompanyMapper userCompanyMapper;
@@ -263,12 +266,17 @@ public class ProjectController {
 
 
         String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-        if ("operator".equals(roleCode) || "kuaishouOperationManager".equals(roleCode) || "touTiaoOperationManager".equals(roleCode)) {
+        List<String> userIds = new ArrayList<>();
+        if ("bytedanceDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("operator".equals(roleCode) || "kuaishouOperationManager".equals(roleCode) || "touTiaoOperationManager".equals(roleCode)) {
             queryWrapper.eq("responsible_id", userId);
 
         } 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", userId);
-        } else if (roleCode.contains("sale")) {
+        } else if (roleCode.contains("sale")||"CompanyManager".equals(roleCode)) {
             QueryWrapper<UserCompany> userCompanyQueryWrapper = new QueryWrapper<>();
             userCompanyQueryWrapper.eq("user_id", userId);
             userCompanyQueryWrapper.orderByDesc("create_time");
@@ -278,6 +286,9 @@ public class ProjectController {
                 queryWrapper.eq("company_id", userCompany.getCompanyId());
             }
         }
+        if (!Check.isNull(userIds)) {
+            queryWrapper.in("user_id", userIds);
+        }
         if (!Check.isNull(projectName)) {
             queryWrapper.like("project_name", projectName);
         }

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

@@ -3,7 +3,11 @@ package org.jeecg.modules.ctop.controller;
 import cn.com.ctop.common.module.entity.Advertiser;
 import cn.com.ctop.common.module.entity.Product;
 import cn.com.ctop.common.module.entity.Project;
-import cn.com.ctop.common.module.service.*;
+import cn.com.ctop.common.module.service.IProductService;
+import cn.com.ctop.common.module.service.IProjectService;
+import cn.com.ctop.common.module.service.ISysRoleExtService;
+import cn.com.ctop.common.module.service.ISysUserService;
+import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
@@ -21,12 +25,26 @@ 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.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeSet;
 import java.util.stream.Collectors;
 
 /**
@@ -50,6 +68,8 @@ public class ProjectMemberController {
     @Autowired
     private ISysRoleExtService sysRoleService;
     @Autowired
+    private ISysRoleService roleService;
+    @Autowired
     private ISysUserService sysUserService;
     @Autowired
     private IAdvertiserService advertiserService;
@@ -85,7 +105,6 @@ public class ProjectMemberController {
 
     /**
      * 我参与项目
-     *
      * @param userId
      * @return
      */
@@ -169,11 +188,20 @@ public class ProjectMemberController {
             //查询用户角色
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             //角色为 管理员 || 销售 || 媒介 查询全部
-            if ("admin".equals(roleCode) || "sale".contains(roleCode) || "meidaManager".equals(roleCode)) {
-                userId = null;
+            List<String> userIds = new ArrayList<>();
+            if ("CompanyManager".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else  if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
+                userIds = null;
+            }else {
+                userIds.add(userId);
             }
             //查询项目信息以及广告主
-            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userId, mediaIds);
+            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userIds, mediaIds);
             List<JSONObject> haveList = new ArrayList<>();
             List<JSONObject> list = new ArrayList<>();
             if (!Check.isNull(projectList)) {
@@ -199,7 +227,7 @@ public class ProjectMemberController {
                 for (JSONObject object : list) {
                     List<JSONObject> proList = new ArrayList<>();
                     for (JSONObject have : haveList) {
-                        if(Check.isNull(have)){
+                        if (Check.isNull(have)) {
                             continue;
                         }
                         if (Check.isNull(have.getLong("productId"))) {
@@ -240,11 +268,20 @@ public class ProjectMemberController {
             //查询用户角色
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             //角色为 管理员 || 销售 || 媒介 查询全部
-            if ("admin".equals(roleCode) || "sale".contains(roleCode) || "meidaManager".equals(roleCode)) {
-                userId = null;
+            List<String> userIds = new ArrayList<>();
+            if ("CompanyManager".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("admin".equals(roleCode) || "sale".contains(roleCode) || "meidaManager".equals(roleCode)) {
+                userIds = null;
+            }else {
+                userIds.add(userId);
             }
             //查询项目信息以及广告主
-            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userId, mediaIds);
+            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userIds, mediaIds);
             List<JSONObject> list = new ArrayList<>();
             if (!Check.isNull(projectList)) {
                 list = projectService.queryProductInfo(projectList);
@@ -256,7 +293,7 @@ public class ProjectMemberController {
                 for (JSONObject object : list) {
                     List<JSONObject> proList = new ArrayList<>();
                     for (JSONObject have : projectList) {
-                        if(Check.isNull(have)){
+                        if (Check.isNull(have)) {
                             continue;
                         }
                         if (Check.isNull(have.getLong("productId"))) {
@@ -308,11 +345,21 @@ public class ProjectMemberController {
             //查询用户角色
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             //角色为 管理员 || 销售 || 媒介 查询全部
-            if ("admin".equals(roleCode) || "sale".contains(roleCode) || "meidaManager".equals(roleCode)) {
-                userId = null;
+            List<String> userIds = new ArrayList<>();
+            if ("CompanyManager".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
+                userIds = null;
+            }else{
+                userIds.add(userId);
             }
+
             //查询项目信息以及广告主
-            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userId, mediaIds);
+            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userIds, mediaIds);
             List<JSONObject> haveList = new ArrayList<>();
             if (!Check.isNull(projectList)) {
                 //项目id 查询账户人员信息
@@ -366,11 +413,20 @@ public class ProjectMemberController {
             //查询用户角色
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             //角色为 管理员 || 销售 || 媒介 查询全部
-            if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
-                userId = null;
+            List<String> userIds = new ArrayList<>();
+            if ("CompanyManager".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("bytedanceDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("kuaishouDirector".equals(roleCode)) {
+                userIds = roleService.getCompanyUsers(roleCode, userId);
+            } else if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
+                userIds = null;
+            }else {
+                userIds.add(userId);
             }
             //查询项目信息以及广告主
-            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userId, mediaIds);
+            List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userIds, mediaIds);
             List<JSONObject> haveList = new ArrayList<>();
             if (!Check.isNull(projectList)) {
                 //项目id 查询账户人员信息
@@ -401,7 +457,6 @@ public class ProjectMemberController {
     public Map<String, Object> projectList(String userId) {
         Map<String, Object> result = new HashMap<>();
         try {
-
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
             if ("admin".equals(roleCode) || "sale".contains(roleCode) || "meidaManager".equals(roleCode)) {
                 List<Project> projects = projectService.list();
@@ -440,9 +495,20 @@ public class ProjectMemberController {
         projectMember.setProductId(null);
         QueryWrapper<ProjectMember> queryWrapper = QueryGenerator.initQueryWrapper(projectMember, req.getParameterMap());
         String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-        if (!"admin".equals(roleCode) && !"sale".contains(roleCode) && !"meidaManager".equals(roleCode)) {
+        List<String> userIds = null;
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if (!"admin".equals(roleCode) && !roleCode.contains("sale") && !"meidaManager".equals(roleCode)) {
             queryWrapper.eq("user_id", userId);
         }
+        if (!Check.isNull(userIds)) {
+            queryWrapper.in("user_id", userIds);
+        }
+
         if (!Check.isNull(projectName)) {
             queryWrapper.like("project_name", projectName);
         }

+ 23 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -16,11 +17,20 @@ import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
 import org.jeecg.modules.ctop.service.IProjectTransferRecordService;
 import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -97,10 +107,20 @@ public class ProjectTransferRecordController {
         projectTransferRecord.setUserId(null);
         Result<IPage<ProjectTransferRecord>> result = new Result<>();
         QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
-        String rodeCode = sysRoleService.getRoleCodeByUserId(userId);
-        if (null != rodeCode && !"admin".equals(rodeCode.trim())) {
+        String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = sysRoleService.getCompanyUsers(roleCode, userId);
+        } else if (null != roleCode && !"admin".equals(roleCode.trim())) {
             queryWrapper.eq("reviewer_id", userId);
         }
+        if (!Check.isNull(userIds)) {
+            queryWrapper.in("reviewer_id", userIds);
+        }
         queryWrapper.ne("status", 0);
         Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
         IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);

+ 14 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UserAllocationController.java

@@ -27,6 +27,7 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.ProjectMember;
 import org.jeecg.modules.ctop.mapper.ProjectMemberMapper;
 import org.jeecg.modules.ctop.service.IProjectMemberService;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -57,6 +58,8 @@ public class UserAllocationController {
     private IProjectService projectService;
     @Autowired
     private ISysRoleExtService sysRoleService;
+    @Autowired
+    private ISysRoleService roleService;
     @Resource
     private ProjectMemberMapper memberMapper;
     @Autowired
@@ -490,10 +493,20 @@ public class UserAllocationController {
 
         QueryWrapper<UserAllocation> queryWrapper = QueryGenerator.initQueryWrapper(userAllocation, req.getParameterMap());
         String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-        if (!CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if (!CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
             queryWrapper.eq("user_id", userId);
             queryWrapper.orderByDesc("id");
         }
+        if (!Check.isNull(userIds)) {
+            queryWrapper.in("user_id", userIds);
+        }
         Page<UserAllocation> page = new Page<>(pageNo, pageSize);
         IPage<UserAllocation> pageList = userAllocationService.page(page, queryWrapper);
         result.setSuccess(true);

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

@@ -47,7 +47,7 @@ public interface ProjectMemberMapper extends BaseMapper<ProjectMember> {
 
     List<Long> getProductByAccountIds(@Param("accountIds") JSONArray accountIds);
 
-    List<JSONObject> getProjectByUserIdAndMediaIds(@Param("userId") String userId, @Param("mediaIds") List<Integer> mediaIds);
+    List<JSONObject> getProjectByUserIdAndMediaIds(@Param("userIds") List<String> userIds, @Param("mediaIds") List<Integer> mediaIds);
 
     List<ProjectMember> getProductIds(@Param("userId") String userId, @Param("mediaList") List<Integer> mediaList, @Param("productId") Long productId);
 

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

@@ -250,8 +250,12 @@
         left join ctop_project t2
         on t1.project_id = t2.id
         where 1 = 1
-        <if test="userId !=null and userId!=''">
-            and t1.user_id = #{userId}
+        <if test="userIds != null and userIds.size() > 0">
+            and t1.user_id in
+            <foreach item="id" index="index" collection="userIds"
+                     open="(" separator="," close=")">
+                #{id}
+            </foreach>
         </if>
         <if test="mediaIds != null and mediaIds.size() != 0 ">
             and t2.media_id in

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

@@ -42,7 +42,7 @@ public interface IProjectMemberService extends IService<ProjectMember> {
 
     List<Long> getProjectByAccountIds(JSONArray accountIds);
 
-    List<JSONObject> getProjectByUserIdAndMediaIds(String userId, List<Integer> mediaIds);
+    List<JSONObject> getProjectByUserIdAndMediaIds(List<String> userIds, List<Integer> mediaIds);
 
     List<Map<String, Object>> getAllProjectAccount(String mediaType);
 

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

@@ -313,8 +313,8 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
     }
 
     @Override
-    public List<JSONObject> getProjectByUserIdAndMediaIds(String userId, List<Integer> mediaIds) {
-        return memberMapper.getProjectByUserIdAndMediaIds(userId, mediaIds);
+    public List<JSONObject> getProjectByUserIdAndMediaIds(List<String> userIds, List<Integer> mediaIds) {
+        return memberMapper.getProjectByUserIdAndMediaIds(userIds, mediaIds);
     }
 
     @Override

+ 18 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysRoleService.java

@@ -6,6 +6,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 /**
  * <p>
  * 角色表 服务类
@@ -47,6 +49,20 @@ public interface ISysRoleService extends IService<SysRole> {
      * @return
      */
     String getRoleCodeByUserId(String userId);
-
-
+    /**
+     * 查询分公司下人员
+     *
+     * @param roleCode CompanyManager——分公司总经理,查询分公司所有人员
+     * @param roleCode bytedanceDirector——头条总监,查询分公司所有头条部门人员
+     * @param roleCode kuaishouDirector——快手总监,查询分公司所有快手部门人员
+     */
+    List<String> getCompanyUsers(String roleCode, String userId);
+    /**
+     * 查询分公司下所有项目
+     *
+     * @param roleCode CompanyManager——分公司总经理,查询分公司所有人员
+     * @param roleCode bytedanceDirector——头条总监,查询分公司所有头条部门人员
+     * @param roleCode kuaishouDirector——快手总监,查询分公司所有快手部门人员
+     */
+    List<Long> getCompanyProjectIds(String roleCode, String userId);
 }

+ 60 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java

@@ -1,8 +1,14 @@
 package org.jeecg.modules.system.service.impl;
 
 import cn.com.ctop.common.module.entity.SysRole;
+import cn.com.ctop.common.module.entity.UserCompany;
 import cn.com.ctop.common.module.mapper.SysRoleMapper;
 import cn.com.ctop.common.module.mapper.SysUserMapper;
+import cn.com.ctop.common.module.service.IProjectService;
+import cn.com.ctop.common.module.service.ISysDepartService;
+import cn.com.ctop.common.module.service.IUserCompanyService;
+import cn.com.ctop.common.module.utils.Check;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
@@ -15,6 +21,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -33,6 +40,13 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
     private SysRoleMapper sysRoleMapper;
     @Autowired
     private SysUserMapper sysUserMapper;
+    @Resource
+    IUserCompanyService userCompanyService;
+    @Autowired
+    private ISysDepartService sysDepartService;
+    @Autowired
+    private IProjectService projectService;
+
 
     @Override
     public Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception {
@@ -42,9 +56,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
 
         // 去除 listSysRoles 中重复的数据
         for (int i = 0; i < listSysRoles.size(); i++) {
-            String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
+            String roleCodeI = ((SysRole) listSysRoles.get(i)).getRoleCode();
             for (int j = i + 1; j < listSysRoles.size(); j++) {
-                String roleCodeJ =((SysRole)listSysRoles.get(j)).getRoleCode();
+                String roleCodeJ = ((SysRole) listSysRoles.get(j)).getRoleCode();
                 // 发现重复数据
                 if (roleCodeI.equals(roleCodeJ)) {
                     errorStrs.add("第 " + (j + 1) + " 行的 roleCode 值:" + roleCodeI + " 已存在,忽略导入");
@@ -54,12 +68,12 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
             }
         }
         // 去掉 sql 中的重复数据
-        Integer errorLines=0;
-        Integer successLines=0;
+        Integer errorLines = 0;
+        Integer successLines = 0;
         List<String> list = ImportExcelUtil.importDateSave(listSysRoles, ISysRoleService.class, errorStrs, CommonConstant.SQL_INDEX_UNIQ_SYS_ROLE_CODE);
-         errorLines+=list.size();
-         successLines+=(listSysRoles.size()-errorLines);
-        return ImportExcelUtil.imporReturnRes(errorLines,successLines,list);
+        errorLines += list.size();
+        successLines += (listSysRoles.size() - errorLines);
+        return ImportExcelUtil.imporReturnRes(errorLines, successLines, list);
     }
 
     @Override
@@ -89,12 +103,50 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
 
     /**
      * 根据userId获取角色code
+     *
      * @param userId
      * @return
      */
     @Override
-    public String getRoleCodeByUserId(String userId){
+    public String getRoleCodeByUserId(String userId) {
         return sysRoleMapper.getRoleCodeByUserId(userId);
     }
 
+    @Override
+    public List<String> getCompanyUsers(String roleCode, String userId) {
+        UserCompany userCompany = userCompanyService.getByUserId(userId);
+        if (Check.isNull(userCompany)) {
+            return null;
+        }
+        List<String> ids = new ArrayList<>();
+        String companyId = userCompany.getCompanyId();
+        if ("CompanyManager".equals(roleCode)) {
+            ids = userCompanyService.getUserIdListByCompanyId(companyId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            JSONObject obj = sysUserMapper.getDepart(companyId);
+            ids = sysDepartService.getAllUserIdsByDepId(obj.getString("tt_depart_id"));
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            JSONObject obj = sysUserMapper.getDepart(companyId);
+            ids = sysDepartService.getAllUserIdsByDepId(obj.getString("ks_depart_id"));
+        }
+        return ids;
+    }
+
+    @Override
+    public List<Long> getCompanyProjectIds(String roleCode, String userId) {
+        UserCompany userCompany = userCompanyService.getByUserId(userId);
+        if (Check.isNull(userCompany)) {
+            return null;
+        }
+        List<Long> ids = new ArrayList<>();
+        String companyId = userCompany.getCompanyId();
+        if ("CompanyManager".equals(roleCode)) {
+            ids = projectService.getProjectIdListByCompanyId(companyId, null);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            ids = projectService.getProjectIdListByCompanyId(companyId, "1");
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            ids = projectService.getProjectIdListByCompanyId(companyId, "2");
+        }
+        return ids;
+    }
 }

+ 66 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/entity/UserCompany.java

@@ -0,0 +1,66 @@
+package cn.com.ctop.common.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.util.Date;
+
+/**
+ * 用户够公司
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2019-11-14
+ */
+@Data
+@TableName("user_company")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "user_company对象", description = "用户够公司")
+public class UserCompany {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.UUID)
+    @ApiModelProperty(value = "id")
+    private String id;
+    /**
+     * 用户id
+     */
+    @Excel(name = "用户id", width = 15)
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+    /**
+     * 用户名称
+     */
+    @Excel(name = "用户名称", width = 15)
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+    /**
+     * 部门id
+     */
+    @Excel(name = "部门id", width = 15)
+    @ApiModelProperty(value = "部门id")
+    private String companyId;
+    /**
+     * 公司名称
+     */
+    @Excel(name = "公司名称", width = 15)
+    @ApiModelProperty(value = "公司名称")
+    private String companyName;
+
+    private String nickName;
+
+    private Date createTime;
+    private Date updateTime;
+
+
+}

+ 1 - 1
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/ProjectMemberMapper.java

@@ -49,7 +49,7 @@ public interface ProjectMemberMapper extends BaseMapper<ProjectMember> {
 
     List<Long> getProductByAccountIds(@Param("accountIds") JSONArray accountIds);
 
-    List<JSONObject> getProjectByUserIdAndMediaIds(@Param("userId") String userId, @Param("mediaIds") List<Integer> mediaIds);
+    List<JSONObject> getProjectByUserIdAndMediaIds(@Param("userIds") List<String> userIds, @Param("mediaIds") List<Integer> mediaIds);
 
     List<ProjectMember> getProductIds(@Param("userId") String userId, @Param("mediaList") List<Integer> mediaList, @Param("productId") Long productId);
 

+ 3 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/SysDepartMapper.java

@@ -17,5 +17,8 @@ import java.util.List;
  * @Since: 2019-01-22
  */
 public interface SysDepartMapper extends BaseMapper<SysDepart> {
+
     SysDepart getDepartByParams(@Param(value = "userId") String userId, @Param(value = "orgType")Integer orgType);
+
+    List<String> getAllUserIdsByDepId(@Param("departId") String departId);
 }

+ 3 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/SysUserMapper.java

@@ -1,6 +1,8 @@
 package cn.com.ctop.common.mapper;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.common.system.entity.SysUser;
 
 import java.util.List;
@@ -17,4 +19,5 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     List<SysUser> selectAllUser();
 
+    JSONObject getDepart(@Param("companyId")  String companyId);
 }

+ 22 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/UserCompanyMapper.java

@@ -0,0 +1,22 @@
+package cn.com.ctop.common.mapper;
+
+import cn.com.ctop.common.entity.UserCompany;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 用户够公司
+ *
+ * @author: jeecg-boot
+ * @date: 2019-11-14
+ * @cersion: V1.0
+ */
+public interface UserCompanyMapper extends BaseMapper<UserCompany> {
+
+    List<String> getUserIdListByCompanyId(@Param("companyId")  String companyId);
+
+    UserCompany queryOne(@Param("userId") String userId);
+}

+ 6 - 2
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/ProjectMemberMapper.xml

@@ -253,8 +253,12 @@
         left join `jeecg-boot`.ctop_product t3 on t3.id = t2.product_id
         left join `jeecg-boot`.ctop_advertiser t4 on t2.advertiser_id = t4.id
         where 1 = 1
-        <if test="userId !=null and userId!=''">
-            and t1.user_id = #{userId}
+        <if test="userIds != null and userIds.size() > 0">
+            and t1.user_id in
+            <foreach item="id" index="index" collection="userIds"
+                     open="(" separator="," close=")">
+                #{id}
+            </foreach>
         </if>
         <if test="mediaIds != null and mediaIds.size() != 0 ">
             and t2.media_id in

+ 9 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/SysDepartMapper.xml

@@ -16,4 +16,13 @@
               leader_id = #{userId}
         order by id desc limit 1
     </select>
+
+    <select id="getAllUserIdsByDepId" resultType="String">
+        SELECT user_id FROM `jeecg-boot`.sys_user_depart WHERE dep_id IN (
+            select id
+            from `jeecg-boot`.sys_depart
+            where del_flag = '0'
+              and org_code like concat((select org_code from `jeecg-boot`.sys_depart where id = #{departId}), '%')
+        )
+    </select>
 </mapper>

+ 8 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/SysUserMapper.xml

@@ -5,4 +5,12 @@
     <select id="selectAllUser" resultType="org.jeecg.common.system.entity.SysUser">
         select * from `jeecg-boot`.sys_user where del_flag = 0 and status = 1
     </select>
+
+
+    <select id="getDepart" resultType="com.alibaba.fastjson.JSONObject">
+        select * from `jeecg-boot`.sys_manager_company
+        where id = #{companyId}
+    </select>
+
+
 </mapper>

+ 18 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/mapper/xml/UserCompanyMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.common.mapper.UserCompanyMapper">
+
+    <select id="getUserIdListByCompanyId" resultType="String">
+        SELECT user_id
+        FROM `jeecg-boot`.user_company
+        WHERE company_id = #{companyId}
+    </select>
+
+    <select id="queryOne" resultType="cn.com.ctop.common.entity.UserCompany">
+        SELECT  user_id,user_name,company_id,company_name,nick_name FROM `jeecg-boot`.user_company
+        WHERE user_id = #{userId}
+        limit 1
+    </select>
+
+
+</mapper>

+ 1 - 1
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/IProjectMemberService.java

@@ -39,7 +39,7 @@ public interface IProjectMemberService extends IService<ProjectMember> {
 
     List<Long> getProjectByAccountIds(JSONArray accountIds);
 
-    List<JSONObject> getProjectByUserIdAndMediaIds(String userId, List<Integer> mediaIds);
+    List<JSONObject> getProjectByUserIdAndMediaIds(List<String> userIds, List<Integer> mediaIds);
 
     List<Map<String, Object>> getAllProjectAccount(String mediaType);
 

+ 22 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/ISysDepartService.java

@@ -0,0 +1,22 @@
+package cn.com.ctop.common.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.system.entity.SysDepart;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 部门表 服务实现类
+ * <p>
+ *
+ * @Author:Steve
+ * @Since:   2019-01-22
+ */
+public interface ISysDepartService extends IService<SysDepart>{
+    /**
+     * 根据部门Id查询当前和下级所有部门下的人员ID
+     */
+    List<String> getAllUserIdsByDepId(String departId);
+}

+ 51 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/ISysRoleService.java

@@ -0,0 +1,51 @@
+package cn.com.ctop.common.service;
+
+import cn.com.ctop.common.entity.SysRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.api.vo.Result;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 角色表 服务类
+ * </p>
+ *
+ * @Author scott
+ * @since 2018-12-19
+ */
+public interface ISysRoleService extends IService<SysRole> {
+
+
+    /**
+     * 删除角色
+     * @param roleid
+     * @return
+     */
+    public boolean deleteRole(String roleid);
+
+    /**
+     * 批量删除角色
+     * @param roleids
+     * @return
+     */
+    public boolean deleteBatchRole(String[] roleids);
+
+
+    /**
+     * 根据userId获取角色code
+     * @param userId
+     * @return
+     */
+    String getRoleCodeByUserId(String userId);
+    /**
+     * 查询分公司下人员
+     *
+     * @param roleCode CompanyManager——分公司总经理,查询分公司所有人员
+     * @param roleCode bytedanceDirector——头条总监,查询分公司所有头条部门人员
+     * @param roleCode kuaishouDirector——快手总监,查询分公司所有快手部门人员
+     */
+    List<String> getCompanyUsers(String roleCode, String userId);
+}

+ 24 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/IUserCompanyService.java

@@ -0,0 +1,24 @@
+package cn.com.ctop.common.service;
+
+
+import cn.com.ctop.common.entity.UserCompany;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.entity.SysUser;
+
+import java.util.List;
+
+/**
+ * 用户够公司
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2019-11-14
+ */
+public interface IUserCompanyService extends IService<UserCompany> {
+
+    List<String> getUserIdListByCompanyId(String companyId);
+
+    UserCompany getByUserId(String userId);
+}

+ 2 - 2
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/ProjectMemberServiceImpl.java

@@ -252,8 +252,8 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
     }
 
     @Override
-    public List<JSONObject> getProjectByUserIdAndMediaIds(String userId, List<Integer> mediaIds) {
-        return memberMapper.getProjectByUserIdAndMediaIds(userId, mediaIds);
+    public List<JSONObject> getProjectByUserIdAndMediaIds(List<String> userIds, List<Integer> mediaIds) {
+        return memberMapper.getProjectByUserIdAndMediaIds(userIds, mediaIds);
     }
 
     @Override

+ 47 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/SysDepartServiceImpl.java

@@ -0,0 +1,47 @@
+package cn.com.ctop.common.service.impl;
+
+import cn.com.ctop.common.mapper.SysDepartMapper;
+import cn.com.ctop.common.service.ISysDepartService;
+import com.alibaba.fastjson.JSONArray;
+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.extension.service.impl.ServiceImpl;
+import io.netty.util.internal.StringUtil;
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.constant.CacheConstant;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.entity.SysDepart;
+import org.jeecg.common.util.YouBianCodeUtil;
+import org.jeecg.common.util.oConvertUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * <p>
+ * 部门表 服务实现类
+ * <p>
+ *
+ * @Author Steve
+ * @Since 2019-01-22
+ */
+@Service
+public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart> implements ISysDepartService {
+
+    @Override
+    public List<String> getAllUserIdsByDepId(String departId) {
+        return this.baseMapper.getAllUserIdsByDepId(departId);
+    }
+
+}

+ 89 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/SysRoleServiceImpl.java

@@ -0,0 +1,89 @@
+package cn.com.ctop.common.service.impl;
+
+import cn.com.ctop.common.entity.SysRole;
+import cn.com.ctop.common.entity.UserCompany;
+import cn.com.ctop.common.mapper.SysRoleMapper;
+import cn.com.ctop.common.mapper.SysUserMapper;
+import cn.com.ctop.common.service.ISysDepartService;
+import cn.com.ctop.common.service.IUserCompanyService;
+import cn.com.ctop.common.utils.Check;
+import cn.com.ctop.common.service.ISysRoleService;
+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 org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 角色表 服务实现类
+ * </p>
+ *
+ * @Author scott
+ * @since 2018-12-19
+ */
+@Service
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
+    @Autowired
+    private SysRoleMapper sysRoleMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Resource
+    IUserCompanyService userCompanyService;
+    @Autowired
+    private ISysDepartService sysDepartService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteRole(String roleid) {
+        //1.删除角色和用户关系
+        sysRoleMapper.deleteRoleUserRelation(roleid);
+        //2.删除角色和权限关系
+        sysRoleMapper.deleteRolePermissionRelation(roleid);
+        //3.删除角色
+        this.removeById(roleid);
+        return true;
+    }
+
+    @Override
+    public boolean deleteBatchRole(String[] roleids) {
+        return false;
+    }
+
+
+    /**
+     * 根据userId获取角色code
+     *
+     * @param userId
+     * @return
+     */
+    @Override
+    public String getRoleCodeByUserId(String userId) {
+        return sysRoleMapper.getRoleCodeByUserId(userId);
+    }
+
+    @Override
+    public List<String> getCompanyUsers(String roleCode, String userId) {
+        UserCompany userCompany = userCompanyService.getByUserId(userId);
+        if (Check.isNull(userCompany)) {
+            return null;
+        }
+        List<String> ids = new ArrayList<>();
+        String companyId = userCompany.getCompanyId();
+        if ("CompanyManager".equals(roleCode)) {
+            ids = userCompanyService.getUserIdListByCompanyId(companyId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            JSONObject obj = sysUserMapper.getDepart(companyId);
+            ids = sysDepartService.getAllUserIdsByDepId(obj.getString("tt_depart_id"));
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            JSONObject obj = sysUserMapper.getDepart(companyId);
+            ids = sysDepartService.getAllUserIdsByDepId(obj.getString("ks_depart_id"));
+        }
+        return ids;
+    }
+
+}

+ 45 - 0
jeecg-boot-report/src/main/java/cn/com/ctop/common/service/impl/UserCompanyServiceImpl.java

@@ -0,0 +1,45 @@
+package cn.com.ctop.common.service.impl;
+
+
+import cn.com.ctop.common.entity.UserCompany;
+import cn.com.ctop.common.mapper.UserCompanyMapper;
+import cn.com.ctop.common.service.IUserCompanyService;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.entity.SysDepart;
+import org.jeecg.common.system.entity.SysUser;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 用户够公司
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2019-11-14
+ */
+@Slf4j
+@Service
+public class UserCompanyServiceImpl extends ServiceImpl<UserCompanyMapper, UserCompany> implements IUserCompanyService {
+    @Resource
+    private UserCompanyMapper userCompanyMapper;
+
+    @Override
+    public List<String> getUserIdListByCompanyId(String companyId) {
+        return userCompanyMapper.getUserIdListByCompanyId(companyId);
+    }
+
+    @Override
+    public UserCompany getByUserId(String userId) {
+        return userCompanyMapper.queryOne(userId);
+    }
+
+}

+ 16 - 4
jeecg-boot-report/src/main/java/cn/com/ctop/report/controller/KuaishouMaterialReportDailyDwController.java

@@ -3,6 +3,8 @@ package cn.com.ctop.report.controller;
 import cn.com.ctop.common.constant.AccountReportConstants;
 import cn.com.ctop.common.mapper.SysRoleMapper;
 import cn.com.ctop.common.service.IProjectMemberService;
+import cn.com.ctop.common.service.ISysRoleService;
+import cn.com.ctop.common.service.ISysUserService;
 import cn.com.ctop.common.service.IUserAllocationService;
 import cn.com.ctop.common.utils.Check;
 import cn.com.ctop.common.utils.JsonResourceUtil;
@@ -38,7 +40,8 @@ public class KuaishouMaterialReportDailyDwController {
     private IProjectMemberService projectMemberService;
     @Autowired
     private IUserAllocationService userAllocationService;
-
+    @Autowired
+    private ISysRoleService roleService;
     /**
      * 获取项目以及账户信息
      *
@@ -66,15 +69,24 @@ public class KuaishouMaterialReportDailyDwController {
         String userId = getUserId;
         String roleCode = sysRoleMapper.getRoleCodeByUserId(userId);
         //角色为 管理员 || 销售 || 媒介 查询全部
-        if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
-            userId = null;
+        List<String> userIds = new ArrayList<>();
+        if ("CompanyManager".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("bytedanceDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else if ("kuaishouDirector".equals(roleCode)) {
+            userIds = roleService.getCompanyUsers(roleCode, userId);
+        } else  if ("admin".equals(roleCode) || roleCode.contains("sale") || "meidaManager".equals(roleCode)) {
+            userIds = null;
+        }else{
+            userIds.add(userId);
         }
         String operatorId = null;
         if ("operator".equals(roleCode) || roleCode.contains("operationAssistant")) {
             operatorId = getUserId;
         }
         //查询项目信息以及广告主
-        List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userId, mediaIds);
+        List<JSONObject> projectList = projectMemberService.getProjectByUserIdAndMediaIds(userIds, mediaIds);
         List<JSONObject> haveList = new ArrayList<>();
         if (!Check.isNull(projectList)) {
             //项目id 查询账户人员信息

+ 14 - 9
jeecg-cloud-module/jeecg-cloud-system-start/src/main/resources/application-dev.yml

@@ -76,9 +76,14 @@ spring:
   autoconfigure:
     exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
   datasource:
-    url: jdbc:mysql://139.186.165.84:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
-    username: hcst
-    password: hcst@2020
+#---------------------线上库
+    url: jdbc:mysql://139.186.27.96:3390/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
+    username: readonly
+    password: hcst@2021
+    #---------------------测试库
+#    url: jdbc:mysql://139.186.165.84:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&allowMultiQueries=true
+#    username: hcst
+#    password: hcst@2020
     driver-class-name: com.mysql.jdbc.Driver
     druid:
       stat-view-servlet:
@@ -117,13 +122,13 @@ spring:
       datasource:
         master:
 #---------------------线上库
-#          url: jdbc:mysql://139.186.27.96:3390/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
-#          username: data
-#          password: hcst@2021
+          url: jdbc:mysql://139.186.27.96:3390/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
+          username: readonly
+          password: hcst@2021
 #---------------------测试库
-          url: jdbc:mysql://139.186.165.84:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&allowMultiQueries=true
-          username: hcst
-          password: hcst@2020
+#          url: jdbc:mysql://139.186.165.84:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&allowMultiQueries=true
+#          username: hcst
+#          password: hcst@2020
           driver-class-name: com.mysql.jdbc.Driver
   #redis 配置
   redis: