|
|
@@ -2,11 +2,13 @@ package org.jeecg.modules.ctop.service.impl;
|
|
|
|
|
|
import cn.com.ctop.common.module.entity.Project;
|
|
|
import cn.com.ctop.common.module.entity.UserAllocation;
|
|
|
+import cn.com.ctop.common.module.entity.UserCompany;
|
|
|
import cn.com.ctop.common.module.mapper.UserAllocationMapper;
|
|
|
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.IUserCompanyService;
|
|
|
import cn.com.ctop.common.module.utils.Check;
|
|
|
import cn.com.ctop.common.module.utils.CtopAdConstant;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
@@ -24,6 +26,7 @@ import org.jeecg.modules.ctop.service.IProjectMemberService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
@@ -52,8 +55,10 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
private IAdvertiserService advertiserService;
|
|
|
@Autowired
|
|
|
private IProductService productService;
|
|
|
+ @Resource
|
|
|
+ private IUserCompanyService userCompanyService;
|
|
|
|
|
|
- private static final String[] PERMISSION_VIEW_PROJECT = {"admin", "saleDirector", "sale", "saleAssistant", "saleAm", "meidaManager"};
|
|
|
+ private static final String[] PERMISSION_VIEW_PROJECT = {"saleDirector", "sale", "saleAssistant", "saleAm", "meidaManager"};
|
|
|
|
|
|
@Override
|
|
|
public void addMember(SysUser sysUser, Project project) {
|
|
|
@@ -112,7 +117,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
} else if ("designTeamLeader".equals(roleCode)) {
|
|
|
projectMemberList = memberMapper.designLeaderProjects(companyId, mediaIds);
|
|
|
} else if ("admin".equals(roleCode)) {
|
|
|
- projectMemberList = memberMapper.adminProjects(mediaIds);
|
|
|
+ projectMemberList = memberMapper.adminProjects(mediaIds, null);
|
|
|
} else if ("operator".equals(roleCode) || "operationAssistant".equals(roleCode) || "touTiaoOperationManager".equals(roleCode)) {
|
|
|
projectMemberList = memberMapper.designProjects(userId, mediaIds);
|
|
|
} else {
|
|
|
@@ -142,7 +147,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
} else if ("designTeamLeader".equals(roleCode)) {
|
|
|
projectMemberList = memberMapper.designLeaderProjects(companyId, mediaIds);
|
|
|
} else if ("admin".equals(roleCode)) {
|
|
|
- projectMemberList = memberMapper.adminProjects(mediaIds);
|
|
|
+ projectMemberList = memberMapper.adminProjects(mediaIds, null);
|
|
|
} else if ("operator".equals(roleCode) || "operationAssistant".equals(roleCode) || "touTiaoOperationManager".equals(roleCode)) {
|
|
|
projectMemberList = memberMapper.designProjects(userId, mediaIds);
|
|
|
} else {
|
|
|
@@ -238,11 +243,18 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
}
|
|
|
|
|
|
private List<ProjectMember> queryProjectMemberBy(String userId, List<Integer> mediaIds) {
|
|
|
+ UserCompany userCompany = userCompanyService.getByUserId(userId);
|
|
|
+ if (Check.isNull(userCompany)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ String companyId = userCompany.getCompanyId();
|
|
|
String roleCode = memberMapper.getRoleCodeByUserId(userId);
|
|
|
- if (ArrayUtils.contains(PERMISSION_VIEW_PROJECT, roleCode)) {
|
|
|
- return memberMapper.adminProjects(mediaIds);
|
|
|
+ if ("admin".equals(roleCode)) {
|
|
|
+ return memberMapper.adminProjects(mediaIds, null);
|
|
|
+ } else if (ArrayUtils.contains(PERMISSION_VIEW_PROJECT, roleCode)) {
|
|
|
+ return memberMapper.adminProjects(mediaIds, companyId);
|
|
|
}
|
|
|
- return memberMapper.queryProjectMemberByUserId(userId, mediaIds);
|
|
|
+ return memberMapper.queryProjectMemberByUserId(userId, mediaIds, companyId);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -256,7 +268,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
//角色权限判断
|
|
|
List<ProjectMember> projectMemberList = null;
|
|
|
if ("admin".equals(roleCode)) {
|
|
|
- projectMemberList = memberMapper.adminProjects(mediaIds);
|
|
|
+ projectMemberList = memberMapper.adminProjects(mediaIds, null);
|
|
|
} else {
|
|
|
//如果以上角色都不是的话直接查询此角色所属项目
|
|
|
projectMemberList = memberMapper.getSaleProjects(userId, mediaIds);
|
|
|
@@ -299,7 +311,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
//角色权限判断
|
|
|
List<ProjectMember> projectMemberList = null;
|
|
|
if ("admin".equals(roleCode)) {
|
|
|
- projectMemberList = memberMapper.adminProjects(mediaIds);
|
|
|
+ projectMemberList = memberMapper.adminProjects(mediaIds, null);
|
|
|
} else {
|
|
|
//如果以上角色都不是的话直接查询此角色所属项目
|
|
|
projectMemberList = memberMapper.designProjects(userId, mediaIds);
|
|
|
@@ -330,7 +342,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
}
|
|
|
|
|
|
//查询登录账号下的项目
|
|
|
- List<ProjectMember> projectMemberList = this.memberMapper.adminProjects(mediaList);
|
|
|
+ List<ProjectMember> projectMemberList = this.memberMapper.adminProjects(mediaList, null);
|
|
|
if (projectMemberList.isEmpty()) {
|
|
|
return result;
|
|
|
}
|
|
|
@@ -459,8 +471,8 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Long> getProjectIdsByProductId(Long productId, String userId,String companyId,String mediaId) {
|
|
|
- return memberMapper.getProjectIdsByProductId(productId, userId, companyId,mediaId);
|
|
|
+ public List<Long> getProjectIdsByProductId(Long productId, String userId, String companyId, String mediaId) {
|
|
|
+ return memberMapper.getProjectIdsByProductId(productId, userId, companyId, mediaId);
|
|
|
}
|
|
|
|
|
|
}
|