浏览代码

add api getProjectAccountBy on 2020.06.09

jiequan.bi 5 年之前
父节点
当前提交
4c065282db

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

@@ -1,8 +1,8 @@
 package org.jeecg.modules.ctop.controller;
 
-import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
 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 com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -78,6 +78,7 @@ public class ProjectMemberController {
         return map;
     }
 
+
     /**
      * 我参与项目
      *
@@ -92,7 +93,7 @@ public class ProjectMemberController {
         try {
             QueryWrapper<ProjectMember> queryWrapper = new QueryWrapper<>();
             String roleCode = sysRoleService.getRoleCodeByUserId(userId);
-            if (!CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode) && !"sale".equals(roleCode) && !"saleDirector".equals(roleCode)) {
+            if (!"admin".equals(roleCode) && !"sale".equals(roleCode) && !"saleDirector".equals(roleCode)) {
                 queryWrapper.eq("user_id", userId);
             }
             queryWrapper.groupBy("project_id");
@@ -327,7 +328,7 @@ public class ProjectMemberController {
     @AutoLog(value = "头条视频报表-参与项目列表")
     @ApiOperation(value = "头条视频报表-参与项目列表", notes = "头条视频报表-参与项目列表")
     @GetMapping(value = "/bytedanceProjectParticipateInList")
-    public  Result<List<ProjectMember>> bytedanceProjectParticipateInList() {
+    public Result<List<ProjectMember>> bytedanceProjectParticipateInList() {
         Result<List<ProjectMember>> result = new Result<>();
         List<Integer> mediaIds = new ArrayList<>();
         mediaIds.add(1);
@@ -343,7 +344,39 @@ public class ProjectMemberController {
 
     }
 
-
+    /**
+     * 查询当前账户下的
+     *
+     * @return
+     */
+    @GetMapping(value = "/getProjectAccountByUserId")
+    public Result<List<Map<String, Object>>> getProjectAccountBy() {
+        Result<List<Map<String, Object>>> resultBody = new Result<>();
+        try {
+            List<Integer> mediaList = new ArrayList<>();
+            mediaList.add(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INT);
+            mediaList.add(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_INSIDE_INT);
+            //查询登录账号下的项目
+            List<ProjectMember> projectMemberList = projectMemberService.getProjects(mediaList);
+            if (projectMemberList.isEmpty()) {
+                resultBody.error500("账户下未找到项目");
+                return resultBody;
+            }
+            List<Map<String, Object>> result = new ArrayList<>();
+            projectMemberList.forEach(ProjectMember -> {
+                Map<String, Object> temp=projectMemberService.queryAccountByProjectId(ProjectMember);
+                if(temp!=null){
+                    result.add(temp);
+                }
+            });
+            resultBody.setSuccess(true);
+            resultBody.setResult(result);
+        } catch (Exception e) {
+            resultBody.setSuccess(false);
+            resultBody.success("查询失败");
+        }
+        return resultBody;
+    }
 
 
 }

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

@@ -6,6 +6,7 @@ import org.jeecg.modules.ctop.entity.ProjectMember;
 import org.jeecg.modules.system.entity.SysUser;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 项目成员
@@ -17,8 +18,9 @@ import java.util.List;
 public interface IProjectMemberService extends IService<ProjectMember> {
     void addMember(SysUser sysUser, Project project);
 
-
     List<Long> selectProjectsByUserId(String userId);
 
     List<ProjectMember> getProjects(List<Integer> mediaIds);
+
+    Map<String,Object> queryAccountByProjectId(ProjectMember projectMember);
 }

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

@@ -1,8 +1,10 @@
 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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
@@ -14,6 +16,7 @@ import org.jeecg.modules.system.entity.SysUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -27,10 +30,13 @@ import java.util.Map;
  */
 @Service
 public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, ProjectMember> implements IProjectMemberService {
+
     @Autowired
     private ProjectMemberMapper memberMapper;
     @Autowired
     private ISysRoleService sysRoleService;
+    @Autowired
+    private UserAllocationMapper userAllocationMapper;
 
     @Override
     public void addMember(SysUser sysUser, Project project) {
@@ -63,30 +69,39 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
     }
 
     //视频报表
-    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);
         String companyId = memberMapper.getCompanyIdByUserId(userId);
 
-        //List<Integer> mediaIds = new ArrayList<>();
-        //mediaIds.add(1);
-        //mediaIds.add(3);
         //角色权限判断
         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")){
+        } else if (roleCode.equals("operator") || roleCode.equals("operationAssistant") || roleCode.equals("touTiaoOperationManager")) {
             projectMemberList = memberMapper.operationProjects(userId, mediaIds);
         }
 
         return projectMemberList;
     }
 
-
-
+    public Map<String, Object> queryAccountByProjectId(ProjectMember projectMember) {
+        Map<String, Object> temp = new HashMap<>();
+        temp.put("project", projectMember);
+        QueryWrapper<UserAllocation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("project_id", projectMember.getProjectId());
+        queryWrapper.isNotNull("account_id");
+        List<UserAllocation> userAllocations = userAllocationMapper.selectList(queryWrapper);
+        if(userAllocations.isEmpty()){
+            temp=null;
+        }else {
+            temp.put("account", userAllocations);
+        }
+        return temp;
+    }
 }