|
@@ -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);
|
|
|
}
|