Преглед изворни кода

编导查看项目下所有素材权限

yumeng пре 5 година
родитељ
комит
0bf3e289ea

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

@@ -20,6 +20,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.ctop.service.IProjectMemberService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -89,6 +90,9 @@ public class MaterialInfoController {
      * @param req
      * @return
      */
+    @Autowired
+    private IProjectMemberService memberService;
+
     @AutoLog(value = "素材信息-分页列表查询")
     @ApiOperation(value = "素材信息-分页列表查询", notes = "素材信息-分页列表查询")
     @GetMapping(value = "/list")
@@ -98,24 +102,40 @@ public class MaterialInfoController {
                                                      HttpServletRequest req) {
 
         Result<IPage<MaterialInfo>> result = new Result<>();
+        QueryWrapper<MaterialInfo> queryWrapper = new QueryWrapper<>();
         Object createTime = materialInfo.getCreateTime();
         materialInfo.setCreateTime(null);
         if (!Check.isNull(materialInfo.getUserId())) {
             String roleCode = materialInfoService.getRoleCodeByUserId(materialInfo.getUserId());
-            if ("admin".equals(roleCode) || "operator".equals(roleCode) || "kuaishouOperationManager".equals(roleCode) || "operationAssistant".equals(roleCode)) {
+            if ("admin".equals(roleCode) || "operator".equals(roleCode) || "kuaishouOperationManager".equals(roleCode) || "operationAssistant".equals(roleCode) || "touTiaoOperationManager".equals(roleCode)) {
+                materialInfo.setUserId(null);
+                queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
+            } else if ("designTeamLeader".equals(roleCode) || "planeLeader".equals(roleCode) || "plane".equals(roleCode) || "plan".equals(roleCode)) {
+                String userId = materialInfo.getUserId();
                 materialInfo.setUserId(null);
+                queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
+                List<Long> projects = memberService.selectProjectsByUserId(userId);
+                if (!Check.isNull(projects)) {
+                    queryWrapper.in("project_id", projects);
+                } else {
+                    result.setSuccess(true);
+                    result.setResult(null);
+                    return result;
+                }
+            } else {
+                queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
             }
-        }
-        QueryWrapper<MaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
-        if (!Check.isNull(createTime)) {
-            try {
-                Map<String, Object> map = DateUtils.getStartEndTime(createTime.toString());
-                queryWrapper.ge("create_time", map.get("start"));
-                queryWrapper.lt("create_time", map.get("end"));
-            } catch (ParseException e) {
-                e.printStackTrace();
+            if (!Check.isNull(createTime)) {
+                try {
+                    Map<String, Object> map = DateUtils.getStartEndTime(createTime.toString());
+                    queryWrapper.ge("create_time", map.get("start"));
+                    queryWrapper.lt("create_time", map.get("end"));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
             }
         }
+
         Page<MaterialInfo> page = new Page<>(pageNo, pageSize);
         IPage<MaterialInfo> pageList = materialInfoService.page(page, queryWrapper);
         result.setSuccess(true);

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

@@ -1,8 +1,11 @@
 package org.jeecg.modules.ctop.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.ctop.entity.ProjectMember;
 
+import java.util.List;
+
 /**
  * 项目成员
  *
@@ -12,4 +15,5 @@ import org.jeecg.modules.ctop.entity.ProjectMember;
  */
 public interface ProjectMemberMapper extends BaseMapper<ProjectMember> {
 
+    List<Long> selectProjectsByUserId(@Param("userId") String userId);
 }

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

@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.ctop.mapper.ProjectMemberMapper">
 
+    <select id="selectProjectsByUserId" resultType="java.lang.Long">
+        select
+        DISTINCT(project_id)
+         from ctop_project_member
+        where user_id = #{userId}
+    </select>
+
 </mapper>

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

@@ -5,6 +5,8 @@ import org.jeecg.modules.ctop.entity.Project;
 import org.jeecg.modules.ctop.entity.ProjectMember;
 import org.jeecg.modules.system.entity.SysUser;
 
+import java.util.List;
+
 /**
  * 项目成员
  *
@@ -15,4 +17,5 @@ import org.jeecg.modules.system.entity.SysUser;
 public interface IProjectMemberService extends IService<ProjectMember> {
     void addMember(SysUser sysUser, Project project);
 
+    List<Long> selectProjectsByUserId(String userId);
 }

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

@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -26,6 +27,8 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
 
     @Autowired
     private MaterialReportMapper materialReportMapper;
+    @Autowired
+    private ProjectMemberMapper memberMapper;
 
     @Override
     public void addMember(SysUser sysUser, Project project) {
@@ -44,4 +47,15 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
         }
         this.save(member);
     }
+
+    /**
+     * 查询所有项目
+     *
+     * @param userId
+     * @return
+     */
+    @Override
+    public List<Long> selectProjectsByUserId(String userId) {
+        return memberMapper.selectProjectsByUserId(userId);
+    }
 }