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