Explorar el Código

修改账户报表获取账户接口

jiequan.bi hace 5 años
padre
commit
eae6333eb1

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

@@ -29,4 +29,6 @@ public interface ProjectMemberMapper extends BaseMapper<ProjectMember> {
 
     String getCompanyIdByUserId(@Param("userId")String userId);
 
+    List<ProjectMember> queryProjectMemberByUserId(@Param("userId")String userId, @Param("mediaIds")List<Integer> mediaIds);
+
 }

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

@@ -108,7 +108,7 @@
               sum(t1.next_day_open) AS residue,
               sum(t1.play_duration_3s) AS play3s,
               sum(t1.play_duration_10s) AS play3s,
-              0 AS mediaType
+              1 AS mediaType
         FROM
             ctop_bytedance_report_material_daily t1
                 LEFT JOIN ctop_bytedance_video_info t2 ON t1.material_id = t2.material_id
@@ -189,7 +189,7 @@
               sum(t1.activation) AS 'active',
               sum(t1.event_register) AS 'register',
               sum(t1.form_count) AS 'form_convert',
-              '2' AS 'media_type'
+              2 AS 'media_type'
         FROM
             ctop_kuaishou_report_daily_creative t1
         WHERE

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

@@ -105,4 +105,21 @@
         where user_id = #{userId}
     </select>
 
+    <select id="queryProjectMemberByUserId" resultType="org.jeecg.modules.ctop.entity.ProjectMember">
+        select
+        distinct b.id as projectId,
+        b.project_name as projectName,
+        a.advertiser_id as advertiserId,
+        a.advertiser_name as advertiserName,
+        a.media_id as mediaId
+        from
+        ctop_user_allocation a
+        left join ctop_project_member b on a.project_id = b.project_id
+        where b.user_id = #{userId}
+        and a.media_id in
+        <foreach collection="mediaIds" item="item" separator=","
+                 open="(" close=")">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

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

@@ -1,11 +1,11 @@
 package org.jeecg.modules.ctop.service.impl;
 
-import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.ISysRoleService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
+import cn.com.ctop.common.module.utils.SpringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.shiro.SecurityUtils;
@@ -33,6 +33,7 @@ import java.util.Map;
  */
 @Service
 public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, ProjectMember> implements IProjectMemberService {
+
     @Autowired
     private ProjectMemberMapper memberMapper;
     @Autowired
@@ -71,8 +72,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
     }
 
     //视频报表
-    @Override
-    public List<ProjectMember> getProjects(List<Integer> mediaIds){
+    public List<ProjectMember> getProjects(List<Integer> mediaIds) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String userId = sysUser.getId();
         String roleCode = memberMapper.getRoleCodeByUserId(userId);
@@ -80,34 +80,28 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
 
         //角色权限判断
         List<ProjectMember> projectMemberList = null;
-        if(roleCode.equals("plan") || roleCode.equals("clip") || roleCode.equals("shot") || roleCode.equals("plane")|| roleCode.equals("planeLeader")){
+        if (roleCode.equals("plan") || roleCode.equals("clip") || roleCode.equals("shot") || roleCode.equals("plane") || roleCode.equals("planeLeader")) {
             projectMemberList = memberMapper.designProjects(userId, mediaIds);
-        }else if( roleCode.equals("designTeamLeader")){
+        } else if (roleCode.equals("designTeamLeader")) {
             projectMemberList = memberMapper.designLeaderProjects(companyId, mediaIds);
-        }else if(roleCode.equals(CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN)){
+        } else if (roleCode.equals("admin")) {
             projectMemberList = memberMapper.adminProjects(mediaIds);
-        }else if(roleCode.equals("operator") || roleCode.equals("operationAssistant") || roleCode.equals("touTiaoOperationManager")||roleCode.equals("huananyunying")){
+        } else if (roleCode.equals("operator") || roleCode.equals("operationAssistant") || roleCode.equals("touTiaoOperationManager")) {
             projectMemberList = memberMapper.operationProjects(userId, mediaIds);
-        }else{
-            //如果以上角色都不是的话直接查询此角色所属项目
-            projectMemberList = memberMapper.designProjects(userId, mediaIds);
         }
 
-        if(null == projectMemberList){
-            projectMemberList = new ArrayList<>();
-        }
         return projectMemberList;
     }
 
     @Override
-    @Cacheable(value = "cache_project_account",key="'projectAccount:userId='+#userId",unless = "#result ==null")
+    @Cacheable(value = "cache_project_account",key="'projectAccount:userId='+#userId",unless = "#result.size() ==0")
     public List<Map<String, Object>> getProjectAccountByUserId(String userId) {
         List<Map<String, Object>> result = new ArrayList<>();
         List<Integer> mediaList = new ArrayList<>();
         mediaList.add(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INT);
         mediaList.add(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INSIDE_INT);
         //查询登录账号下的项目
-        List<ProjectMember> projectMemberList = this.getProjects(mediaList);
+        List<ProjectMember> projectMemberList = this.queryProjectMemberBy(userId,mediaList);
         if (projectMemberList.isEmpty()) {
             return result;
         }
@@ -135,4 +129,12 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
         }
         return temp;
     }
+
+    private List<ProjectMember> queryProjectMemberBy(String userId, List<Integer> mediaIds) {
+        String roleCode = memberMapper.getRoleCodeByUserId(userId);
+        if(roleCode.equals("admin")){
+            return memberMapper.adminProjects(mediaIds);
+        }
+        return memberMapper.queryProjectMemberByUserId(userId,mediaIds);
+    }
 }