KuaishouProjectServiceImpl.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.ruixuan.jinniu.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.ruixuan.common.utils.PageUtils;
  4. import com.ruixuan.common.utils.Result;
  5. import com.ruixuan.jinniu.entity.KuaishouProject;
  6. import com.ruixuan.jinniu.mapper.KuaishouProjectMapper;
  7. import com.ruixuan.jinniu.service.IKuaishouProjectService;
  8. import com.ruixuan.system.service.ISysDeptService;
  9. import com.ruixuan.system.service.ISysUserService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import java.util.Arrays;
  13. import java.util.Collections;
  14. import java.util.List;
  15. /**
  16. * 项目信息Service业务层处理
  17. *
  18. * @author ruoyi
  19. * @date 2023-03-14
  20. */
  21. @Service
  22. public class KuaishouProjectServiceImpl implements IKuaishouProjectService {
  23. @Autowired
  24. private KuaishouProjectMapper KuaishouProjectMapper;
  25. @Autowired
  26. private ISysUserService sysUserService;
  27. @Autowired
  28. private ISysDeptService deptService;
  29. /**
  30. * 查询项目信息
  31. *
  32. * @param id 项目信息主键
  33. * @return 项目信息
  34. */
  35. @Override
  36. public KuaishouProject selectKuaishouProjectById(Long id) {
  37. return KuaishouProjectMapper.selectKuaishouProjectById(id);
  38. }
  39. /**
  40. * 查询项目信息列表
  41. * 权限:admin 查所有
  42. */
  43. @Override
  44. public List<KuaishouProject> selectKuaishouProjectList(KuaishouProject kuaishouProject) {
  45. Long userId = kuaishouProject.getUserId();
  46. String roleKey = sysUserService.getRoleKeyByUserId(userId);
  47. List<Long> userList;
  48. if ("admin".equals(roleKey)) {
  49. //查看所有
  50. userList = null;
  51. } else if ("electricPin".equals(roleKey) || "facePin".equals(roleKey)) {
  52. //电销 面销
  53. kuaishouProject.setSaleIdList(Arrays.asList(userId));
  54. } else if ("eBayAmazon".equals(roleKey) || "salesDirector".equals(roleKey)) {
  55. //销售组长、销售总监
  56. Long deptId = deptService.getDeptIdByUserId(userId);
  57. userList = deptService.getDeptUserListByDeptId(deptId);
  58. kuaishouProject.setSaleIdList(userList);
  59. } else if ("operations".equals(roleKey) || "operator".equals(roleKey)) {
  60. //运营 运营专员
  61. kuaishouProject.setOperatorIdList(Arrays.asList(userId));
  62. } else if ("operationsManager".equals(roleKey) || "directorOperations".equals(roleKey)) {
  63. //运营经理、运营总监
  64. Long deptId = deptService.getDeptIdByUserId(userId);
  65. userList = deptService.getDeptUserListByDeptId(deptId);
  66. kuaishouProject.setOperatorIdList(userList);
  67. } else if ("design".equals(roleKey)) {
  68. //设计
  69. kuaishouProject.setDesignIdList(Arrays.asList(userId));
  70. } else if ("designLeader".equals(roleKey)) {
  71. //设计负责人
  72. Long deptId = deptService.getDeptIdByUserId(userId);
  73. userList = deptService.getDeptUserListByDeptId(deptId);
  74. kuaishouProject.setDesignIdList(userList);
  75. } else {
  76. //非销售、运营、设计角色,无权查看账户
  77. return Collections.emptyList();
  78. }
  79. PageUtils.startPage();
  80. return KuaishouProjectMapper.selectKuaishouProjectList(kuaishouProject);
  81. }
  82. /**
  83. * 新增项目信息
  84. *
  85. * @param kuaishouProject 项目信息
  86. * @return 结果
  87. */
  88. @Override
  89. public int insertKuaishouProject(KuaishouProject kuaishouProject) {
  90. return KuaishouProjectMapper.insertKuaishouProject(kuaishouProject);
  91. }
  92. /**
  93. * 修改项目信息
  94. *
  95. * @param kuaishouProject 项目信息
  96. * @return 结果
  97. */
  98. @Override
  99. public int updateKuaishouProject(KuaishouProject kuaishouProject) {
  100. return KuaishouProjectMapper.updateKuaishouProject(kuaishouProject);
  101. }
  102. /**
  103. * 删除项目信息信息
  104. *
  105. * @param id 项目信息主键
  106. * @return 结果
  107. */
  108. @Override
  109. public int deleteKuaishouProjectById(Long id) {
  110. return KuaishouProjectMapper.deleteKuaishouProjectById(id);
  111. }
  112. @Override
  113. public Result<Object> getOcpxActionType() {
  114. List<JSONObject> list = KuaishouProjectMapper.getOcpxActionType();
  115. return Result.success(list);
  116. }
  117. }