package com.ruixuan.jinniu.service.impl; import com.alibaba.fastjson.JSONObject; import com.ruixuan.common.utils.PageUtils; import com.ruixuan.common.utils.Result; import com.ruixuan.jinniu.entity.KuaishouProject; import com.ruixuan.jinniu.mapper.KuaishouProjectMapper; import com.ruixuan.jinniu.service.IKuaishouProjectService; import com.ruixuan.system.service.ISysDeptService; import com.ruixuan.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * 项目信息Service业务层处理 * * @author ruoyi * @date 2023-03-14 */ @Service public class KuaishouProjectServiceImpl implements IKuaishouProjectService { @Autowired private KuaishouProjectMapper KuaishouProjectMapper; @Autowired private ISysUserService sysUserService; @Autowired private ISysDeptService deptService; /** * 查询项目信息 * * @param id 项目信息主键 * @return 项目信息 */ @Override public KuaishouProject selectKuaishouProjectById(Long id) { return KuaishouProjectMapper.selectKuaishouProjectById(id); } /** * 查询项目信息列表 * 权限:admin 查所有 */ @Override public List selectKuaishouProjectList(KuaishouProject kuaishouProject) { Long userId = kuaishouProject.getUserId(); String roleKey = sysUserService.getRoleKeyByUserId(userId); List userList; if ("admin".equals(roleKey)) { //查看所有 userList = null; } else if ("electricPin".equals(roleKey) || "facePin".equals(roleKey)) { //电销 面销 kuaishouProject.setSaleIdList(Arrays.asList(userId)); } else if ("eBayAmazon".equals(roleKey) || "salesDirector".equals(roleKey)) { //销售组长、销售总监 Long deptId = deptService.getDeptIdByUserId(userId); userList = deptService.getDeptUserListByDeptId(deptId); kuaishouProject.setSaleIdList(userList); } else if ("operations".equals(roleKey) || "operator".equals(roleKey)) { //运营 运营专员 kuaishouProject.setOperatorIdList(Arrays.asList(userId)); } else if ("operationsManager".equals(roleKey) || "directorOperations".equals(roleKey)) { //运营经理、运营总监 Long deptId = deptService.getDeptIdByUserId(userId); userList = deptService.getDeptUserListByDeptId(deptId); kuaishouProject.setOperatorIdList(userList); } else if ("design".equals(roleKey)) { //设计 kuaishouProject.setDesignIdList(Arrays.asList(userId)); } else if ("designLeader".equals(roleKey)) { //设计负责人 Long deptId = deptService.getDeptIdByUserId(userId); userList = deptService.getDeptUserListByDeptId(deptId); kuaishouProject.setDesignIdList(userList); } else { //非销售、运营、设计角色,无权查看账户 return Collections.emptyList(); } PageUtils.startPage(); return KuaishouProjectMapper.selectKuaishouProjectList(kuaishouProject); } /** * 新增项目信息 * * @param kuaishouProject 项目信息 * @return 结果 */ @Override public int insertKuaishouProject(KuaishouProject kuaishouProject) { return KuaishouProjectMapper.insertKuaishouProject(kuaishouProject); } /** * 修改项目信息 * * @param kuaishouProject 项目信息 * @return 结果 */ @Override public int updateKuaishouProject(KuaishouProject kuaishouProject) { return KuaishouProjectMapper.updateKuaishouProject(kuaishouProject); } /** * 删除项目信息信息 * * @param id 项目信息主键 * @return 结果 */ @Override public int deleteKuaishouProjectById(Long id) { return KuaishouProjectMapper.deleteKuaishouProjectById(id); } @Override public Result getOcpxActionType() { List list = KuaishouProjectMapper.getOcpxActionType(); return Result.success(list); } }