PowerServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.hssx.cloudmodel.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.github.pagehelper.PageHelper;
  4. import com.github.pagehelper.PageInfo;
  5. import com.hssx.cloudmodel.constant.Constant;
  6. import com.hssx.cloudmodel.entity.Power;
  7. import com.hssx.cloudmodel.entity.Project;
  8. import com.hssx.cloudmodel.entity.User;
  9. import com.hssx.cloudmodel.entity.vo.ProjectVO;
  10. import com.hssx.cloudmodel.entity.vo.UserVO;
  11. import com.hssx.cloudmodel.mapper.PowerMapper;
  12. import com.hssx.cloudmodel.mapper.ProjectMapper;
  13. import com.hssx.cloudmodel.mapper.UserMapper;
  14. import com.hssx.cloudmodel.service.PowerService;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import com.hssx.cloudmodel.util.HttpRespMsg;
  17. import com.hssx.cloudmodel.util.ListUtil;
  18. import com.hssx.cloudmodel.util.PageUtil;
  19. import net.sf.jsqlparser.expression.operators.arithmetic.Concat;
  20. import org.springframework.beans.BeanUtils;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.stereotype.Service;
  23. import javax.annotation.Resource;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. /**
  27. * <p>
  28. * 服务实现类
  29. * </p>
  30. *
  31. * @author 吴涛涛
  32. * @since 2019-08-06
  33. */
  34. @Service
  35. public class PowerServiceImpl extends ServiceImpl<PowerMapper, Power> implements PowerService {
  36. @Resource
  37. PowerMapper powerMapper;
  38. @Resource
  39. UserMapper userMapper;
  40. @Resource
  41. ProjectMapper projectMapper;
  42. @Override
  43. public HttpRespMsg getList(UserVO userVO, String token, PageUtil page) {
  44. HttpRespMsg msg = new HttpRespMsg();
  45. List<ProjectVO> list = new ArrayList<>();
  46. Integer type = 0;
  47. PageHelper.startPage(page.getPageNum(), page.getPageSize());
  48. User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
  49. QueryWrapper<Project> qw = new QueryWrapper<>();
  50. Integer count = projectMapper.selectCount(qw.eq("manager_id", user.getId()));
  51. BeanUtils.copyProperties(user, userVO);
  52. if (user != null) {
  53. if (Constant.SYS_PARENT_ID == user.getParentId()) {
  54. //平台超级管理员
  55. msg.setError("对不起你不具备该项权限!");
  56. } else if (Constant.SYS_ID == user.getParentId()) {
  57. //资产方管理员,展示此人创建所有项目对应的权限
  58. list = projectMapper.selectUserPowerList(userVO, type);
  59. } else if (count > 0) {
  60. //项目经理
  61. type = 1;
  62. list = projectMapper.selectUserPowerList(userVO, type);
  63. } else {
  64. //普通用户
  65. msg.setError("对不起你不具备该项权限!");
  66. }
  67. PageInfo<ProjectVO> pageInfos = new PageInfo<>(list);
  68. msg.data = pageInfos;
  69. } else {
  70. msg.setError("用户不存或没登录!");
  71. }
  72. return msg;
  73. }
  74. @Override
  75. public HttpRespMsg updatePower(UserVO userVO, String token) {
  76. HttpRespMsg msg = new HttpRespMsg();
  77. QueryWrapper<Project> qw = new QueryWrapper<>();
  78. User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
  79. if (user != null) {
  80. Project pro = projectMapper.selectById(userVO.getProjectId());
  81. if (pro.getCreatorId() == user.getId() || pro.getManagerId() == user.getId()) {
  82. //资产方管理员或者担任项目经理的人才可修改人员权限
  83. if (null != userVO.getPowers()) {
  84. List<Integer> powerTypes = ListUtil.convertIntegerIdsArrayToList(userVO.getPowers());
  85. if (powerTypes.size() > 0) {
  86. //删除之前的权限
  87. powerMapper.delete(new QueryWrapper<Power>().eq("user_id", userVO.getId()).eq("project_id", userVO.getProjectId()));
  88. }
  89. for (Integer powerType : powerTypes) {
  90. Power power = new Power();
  91. power.setPowerType(powerType);
  92. power.setProjectId(userVO.getProjectId());
  93. power.setUserId(userVO.getId());
  94. powerMapper.insert(power);
  95. }
  96. } else {
  97. msg.setError("对不起您没有该项权限!");
  98. }
  99. } else {
  100. msg.setError("用户不存或没登录!");
  101. }
  102. }
  103. return msg;
  104. }
  105. }