瀏覽代碼

物料池查询功能添加人员权限约束

zhaoxian 4 年之前
父節點
當前提交
7e5b8ba523
共有 13 個文件被更改,包括 105 次插入42 次删除
  1. 0 25
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouDirectionalPackageController.java
  2. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/KuaishouDirectionalPackage.java
  3. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouAppPackageMapper.java
  4. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouLandpagePackageMapper.java
  5. 2 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouPopulationPackageMapper.java
  6. 5 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouAppPackageMapper.xml
  7. 10 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouDirectionalPackageMapper.xml
  8. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouLandpagePackageMapper.xml
  9. 10 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouPopulationPackageMapper.xml
  10. 18 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouAppPackageServiceImpl.java
  11. 16 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouDirectionalPackageServiceImpl.java
  12. 16 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouLandpagePackageServiceImpl.java
  13. 18 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouPopulationPackageServiceImpl.java

+ 0 - 25
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouDirectionalPackageController.java

@@ -65,31 +65,6 @@ public class KuaishouDirectionalPackageController {
     private ICtopOauthTokenService oauthTokenService;
 
     /**
-     * 分页列表查询
-     *
-     * @param kuaishouDirectionalPackage
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "自动投放-定向包详情-分页列表查询")
-    @ApiOperation(value = "自动投放-定向包详情-分页列表查询", notes = "自动投放-定向包详情-分页列表查询")
-    @GetMapping(value = "/list")
-    public Result<IPage<KuaishouDirectionalPackage>> queryPageList(KuaishouDirectionalPackage kuaishouDirectionalPackage,
-                                                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                                   HttpServletRequest req) {
-        Result<IPage<KuaishouDirectionalPackage>> result = new Result<>();
-        QueryWrapper<KuaishouDirectionalPackage> queryWrapper = QueryGenerator.initQueryWrapper(kuaishouDirectionalPackage, req.getParameterMap());
-        Page<KuaishouDirectionalPackage> page = new Page<KuaishouDirectionalPackage>(pageNo, pageSize);
-        IPage<KuaishouDirectionalPackage> pageList = kuaishouDirectionalPackageService.page(page, queryWrapper);
-        result.setSuccess(true);
-        result.setResult(pageList);
-        return result;
-    }
-
-    /**
      * 查询定向包列表
      *
      * @param

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/KuaishouDirectionalPackage.java

@@ -229,4 +229,8 @@ public class KuaishouDirectionalPackage {
      */
     @ApiModelProperty(value = "定向模板修改时间")
     private Date updateTime;
+
+    @TableField(exist = false)
+    private String userId;
+
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouAppPackageMapper.java

@@ -22,7 +22,7 @@ public interface KuaishouAppPackageMapper extends BaseMapper<KuaishouAppPackage>
 
     List<Long> queryByAppVersion(@Param("projectId") Long projectId, @Param("appVersion") String appVersion, @Param("dataStatus") Integer dataStatus);
 
-    List<JSONObject> queryPageList(@Param("appName") String appName, @Param("appVersion") String appVersion, @Param("projectId") Long projectId, @Param("platform") Integer platform);
+    List<JSONObject> queryPageList(@Param("userId") String userId, @Param("appName") String appName, @Param("appVersion") String appVersion, @Param("projectId") Long projectId, @Param("platform") Integer platform);
 
     Long queryUnitCount(@Param("id") Long id);
 

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouLandpagePackageMapper.java

@@ -20,7 +20,7 @@ public interface KuaishouLandpagePackageMapper extends BaseMapper<KuaishouLandpa
 
     void deleteByAccountId(@Param("accountId") Long accountId);
 
-    List<JSONObject> queryPageList(@Param("accountId") Long accountId,@Param("projectId") Long projectId);
+    List<JSONObject> queryPageList(@Param("userId") String userId, @Param("accountId") Long accountId, @Param("projectId") Long projectId);
 
     List<JSONObject> getRelatedAccounts(@Param("siteId") Long siteId);
 

+ 2 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouPopulationPackageMapper.java

@@ -16,9 +16,9 @@ import java.util.List;
  */
 public interface KuaishouPopulationPackageMapper extends BaseMapper<KuaishouPopulationPackage> {
 
-    Long queryPageListTotal(@Param("projectId") Long projectId, @Param("orientationName") String orientationName);
+    Long queryPageListTotal(@Param("userId") String userId, @Param("projectId") Long projectId, @Param("orientationName") String orientationName);
 
-    List<JSONObject> queryPageList(@Param("projectId") Long projectId, @Param("orientationName") String orientationName);
+    List<JSONObject> queryPageList(@Param("userId") String userId, @Param("projectId") Long projectId, @Param("orientationName") String orientationName);
 
     Long queryUnitCount(@Param("id") Long id);
 

+ 5 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouAppPackageMapper.xml

@@ -76,7 +76,11 @@
         (SELECT COUNT(1) FROM ctop_kuaishou_app_package_rel WHERE apptem_id = t1.id AND data_status = 1)'accountCount'
         FROM ctop_kuaishou_app_package t1
         LEFT JOIN ctop_project t2 on t1.project_id =t2.id
-        WHERE t1.data_status =1
+        LEFT JOIN ctop_project_member t3 ON t1.project_id = t3.project_id
+        WHERE t1.data_status = 1
+        <if test="userId!=null">
+             AND t3.user_id = #{userId}
+        </if>
         <if test="appVersion!=null">
             AND t1.app_version Like concat('%',#{appVersion},'%')
         </if>

+ 10 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouDirectionalPackageMapper.xml

@@ -40,7 +40,11 @@
         AND t.data_status=1
         GROUP BY dir_id
         ) t5 ON t5.dir_id = t1.id
+        LEFT JOIN ctop_project_member t6 ON t1.project_id = t6.project_id
         where t1.data_status = 1
+        <if test="userId !=null">
+            AND t6.user_id =#{userId}
+        </if>
         <if test="templateName !=null">
             AND t1.template_name like concat('%',#{templateName},'%')
         </if>
@@ -52,11 +56,16 @@
         </if>
         order by t1.update_time desc
     </select>
+
     <select id="queryListTotal" resultType="java.lang.Long">
         SELECT
         IFNULL(count(1),0)
         FROM ctop_kuaishou_directional_package t1
+        LEFT JOIN ctop_project_member t2 ON t1.project_id = t2.project_id
         where t1.data_status = 1
+        <if test="userId !=null">
+            AND t2.user_id =#{userId}
+        </if>
         <if test="templateName !=null">
             AND t1.template_name like concat('%',#{templateName},'%')
         </if>
@@ -88,7 +97,7 @@
         INNER JOIN ( SELECT account_id,unit_id,unit_name FROM ctop_kuaishou_group
         where 1=1
         <if test="accountId!=null">
-           and account_id = #{accountId}
+            and account_id = #{accountId}
         </if>
         ) t1 ON t1.unit_id = t2.rel_id
         LEFT JOIN ctop_user_allocation t3 ON t1.account_id = t3.account_id

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouLandpagePackageMapper.xml

@@ -55,7 +55,11 @@
         FROM ctop_kuaishou_landpage_package t1
         LEFT JOIN ctop_project t2 ON t1.project_id = t2.id
         LEFT JOIN ctop_user_allocation t3 ON t1.account_id = t3.account_id
+        LEFT JOIN ctop_project_member t4 ON t1.project_id = t4.project_id
         WHERE 1=1
+        <if test="userId!=null">
+            AND t4.user_id =#{userId}
+        </if>
         <if test="projectId!=null">
             AND t1.project_id =#{projectId}
         </if>

+ 10 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouPopulationPackageMapper.xml

@@ -5,7 +5,11 @@
     <select id="queryPageListTotal" resultType="java.lang.Long">
         SELECT IFNULL(COUNT(1), 0)
         FROM ctop_kuaishou_population_package t1
-        WHERE data_status = 1
+        LEFT JOIN ctop_project_member t3 ON t1.project_id = t3.project_id
+        WHERE t1.data_status =1
+        <if test="userId !=null">
+        AND t3.user_id =#{userId}
+        </if>
         <if test="orientationName !=null">
             AND orientation_name LIKE CONCAT('%', #{orientationName}, '%')
         </if>
@@ -38,7 +42,11 @@
         FROM
         ctop_kuaishou_population_package t1
         LEFT JOIN ctop_project t2 ON t1.project_id = t2.id
-        WHERE data_status = 1
+        LEFT JOIN ctop_project_member t3 ON t1.project_id = t3.project_id
+        WHERE t1.data_status = 1
+        <if test="userId !=null">
+            AND t3.user_id =#{userId}
+        </if>
         <if test="orientationName !=null">
             AND orientation_name LIKE CONCAT(CONCAT('%', #{orientationName}), '%')
         </if>

+ 18 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouAppPackageServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.kuaishou.modules.ai.service.impl;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.service.ISysRoleExtService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
 import cn.com.ctop.common.module.utils.LoadFileUtil;
@@ -29,7 +30,9 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.MD5Util;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,7 +62,8 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
 
     @Autowired
     private KuaishouAppPackageMapper appPackageMapper;
-
+    @Autowired
+    private ISysRoleExtService sysRoleService;
     @Autowired
     private KuaishouAppPackageRelMapper relMapper;
 
@@ -324,8 +328,8 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
     }
 
     @Override
-    public List<Long> queryByAppVersion(Long projectId, String appVersion,Integer dataStatus) {
-        return appPackageMapper.queryByAppVersion(projectId, appVersion,dataStatus);
+    public List<Long> queryByAppVersion(Long projectId, String appVersion, Integer dataStatus) {
+        return appPackageMapper.queryByAppVersion(projectId, appVersion, dataStatus);
     }
 
     @Override
@@ -340,8 +344,18 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
 
     @Override
     public Result<Object> queryPageList(KuaishouAppPackage kuaishouAppPackage, Integer pageNo, Integer pageSize) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = null;
+        if (!Check.isNull(user)) {
+            userId = user.getId();
+            String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+            //角色为管理员、销售、媒介可以查看所有项目信息
+            if (!"admin".equals(roleCode) && !roleCode.contains("sale") && !"meidaManager".equals(roleCode)) {
+                userId = null;
+            }
+        }
         PageHelper.startPage(pageNo, pageSize);
-        List<JSONObject> list = appPackageMapper.queryPageList(kuaishouAppPackage.getAppName(), kuaishouAppPackage.getAppVersion(), kuaishouAppPackage.getProjectId(), kuaishouAppPackage.getPlatform());
+        List<JSONObject> list = appPackageMapper.queryPageList(userId, kuaishouAppPackage.getAppName(), kuaishouAppPackage.getAppVersion(), kuaishouAppPackage.getProjectId(), kuaishouAppPackage.getPlatform());
         for (JSONObject object : list) {
             object.put("unitCount", appPackageMapper.queryUnitCount(object.getLong("id")));
         }

+ 16 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouDirectionalPackageServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.kuaishou.modules.ai.service.impl;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.service.ISysRoleExtService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
@@ -27,7 +28,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -66,7 +69,8 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
     private KuaiShouGroupMapper groupMapper;
     @Autowired
     private KuaishouTemplateTargetMapper templateTargetMapper;
-
+    @Autowired
+    private ISysRoleExtService sysRoleService;
     @Autowired
     private IKuaiShouGroupTemplateService groupTemplateService;
     static ExecutorService executorService = null;
@@ -337,6 +341,17 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
 
     @Override
     public Result<Object> queryList(KuaishouDirectionalPackage directionalPackage, Integer pageNo, Integer pageSize) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = null;
+        if (!Check.isNull(user)) {
+            userId = user.getId();
+            String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+            //角色为管理员、销售、媒介可以查看所有项目信息
+            if (!"admin".equals(roleCode) && !roleCode.contains("sale") && !"meidaManager".equals(roleCode)) {
+                userId = null;
+            }
+        }
+        directionalPackage.setUserId(userId);
         Long total = packageMapper.queryListTotal(directionalPackage);
         PageHelper.startPage(pageNo, pageSize, false);
         List<JSONObject> list = packageMapper.queryList(directionalPackage);

+ 16 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouLandpagePackageServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.service.ISysRoleExtService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
@@ -19,7 +20,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -49,11 +52,22 @@ public class KuaishouLandpagePackageServiceImpl extends ServiceImpl<KuaishouLand
     private UserAllocationMapper userAllocationMapper;
     @Autowired
     private ICtopOauthTokenService oauthTokenService;
-
+    @Autowired
+    private ISysRoleExtService sysRoleService;
     @Override
     public Result<Object> queryPageList(KuaishouLandpagePackage kuaishouLandpagePackage, Integer pageNo, Integer pageSize) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = null;
+        if (!Check.isNull(user)) {
+            userId = user.getId();
+            String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+            //角色为管理员、销售、媒介可以查看所有项目信息
+            if (!"admin".equals(roleCode) && !roleCode.contains("sale") && !"meidaManager".equals(roleCode)) {
+                userId = null;
+            }
+        }
         PageHelper.startPage(pageNo, pageSize);
-        List<JSONObject> list = landpagePackageMapper.queryPageList(kuaishouLandpagePackage.getAccountId(), kuaishouLandpagePackage.getProjectId());
+        List<JSONObject> list = landpagePackageMapper.queryPageList(userId,kuaishouLandpagePackage.getAccountId(), kuaishouLandpagePackage.getProjectId());
         return Result.ok(new PageInfo<JSONObject>(list));
     }
 

+ 18 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouPopulationPackageServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.kuaishou.modules.ai.service.impl;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.service.ISysRoleExtService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.LoadFileUtil;
 import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouCrowdPack;
@@ -19,7 +20,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -56,6 +59,9 @@ public class KuaishouPopulationPackageServiceImpl extends ServiceImpl<KuaishouPo
     private IKuaishouPopulationService iKuaishouPopulationService;
     @Autowired
     private IKuaishouPopulationGroupService populationGroupService;
+    @Autowired
+    private ISysRoleExtService sysRoleService;
+
     @Value("${zip.local.download-path}")
     private String downloadPath;
 
@@ -238,9 +244,19 @@ public class KuaishouPopulationPackageServiceImpl extends ServiceImpl<KuaishouPo
 
     @Override
     public Result<Object> queryPageList(KuaishouPopulationPackage kuaishouPopulationPackage, Integer pageNo, Integer pageSize) {
-        Long total = kuaishouPopulationPackageMapper.queryPageListTotal(kuaishouPopulationPackage.getProjectId(), kuaishouPopulationPackage.getOrientationName());
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = null;
+        if (!Check.isNull(user)) {
+            userId = user.getId();
+            String roleCode = sysRoleService.getRoleCodeByUserId(userId);
+            //角色为管理员、销售、媒介可以查看所有项目信息
+            if (!"admin".equals(roleCode) && !roleCode.contains("sale") && !"meidaManager".equals(roleCode)) {
+                userId = null;
+            }
+        }
+        Long total = kuaishouPopulationPackageMapper.queryPageListTotal(userId, kuaishouPopulationPackage.getProjectId(), kuaishouPopulationPackage.getOrientationName());
         PageHelper.startPage(pageNo, pageSize, false);
-        List<JSONObject> list = kuaishouPopulationPackageMapper.queryPageList(kuaishouPopulationPackage.getProjectId(), kuaishouPopulationPackage.getOrientationName());
+        List<JSONObject> list = kuaishouPopulationPackageMapper.queryPageList(userId, kuaishouPopulationPackage.getProjectId(), kuaishouPopulationPackage.getOrientationName());
         if (!Check.isNull(list)) {
             for (JSONObject object : list) {
                 object.put("unitCount", kuaishouPopulationPackageMapper.queryUnitCount(object.getLong("id")));