123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package com.hssx.cloudmodel.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.hssx.cloudmodel.constant.Constant;
- import com.hssx.cloudmodel.entity.Power;
- import com.hssx.cloudmodel.entity.Project;
- import com.hssx.cloudmodel.entity.User;
- import com.hssx.cloudmodel.entity.vo.ProjectVO;
- import com.hssx.cloudmodel.entity.vo.UserVO;
- import com.hssx.cloudmodel.mapper.PowerMapper;
- import com.hssx.cloudmodel.mapper.ProjectMapper;
- import com.hssx.cloudmodel.mapper.UserMapper;
- import com.hssx.cloudmodel.service.PowerService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.hssx.cloudmodel.util.HttpRespMsg;
- import com.hssx.cloudmodel.util.ListUtil;
- import com.hssx.cloudmodel.util.PageUtil;
- import net.sf.jsqlparser.expression.operators.arithmetic.Concat;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author 吴涛涛
- * @since 2019-08-06
- */
- @Service
- public class PowerServiceImpl extends ServiceImpl<PowerMapper, Power> implements PowerService {
- @Resource
- PowerMapper powerMapper;
- @Resource
- UserMapper userMapper;
- @Resource
- ProjectMapper projectMapper;
- @Override
- public HttpRespMsg getList(UserVO userVO, String token, PageUtil page) {
- HttpRespMsg msg = new HttpRespMsg();
- List<ProjectVO> list = new ArrayList<>();
- Integer type = 0;
- PageHelper.startPage(page.getPageNum(), page.getPageSize());
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
- QueryWrapper<Project> qw = new QueryWrapper<>();
- Integer count = projectMapper.selectCount(qw.eq("manager_id", user.getId()));
- BeanUtils.copyProperties(user, userVO);
- if (user != null) {
- if (Constant.SYS_PARENT_ID == user.getParentId()) {
- //平台超级管理员
- msg.setError("对不起你不具备该项权限!");
- } else if (Constant.SYS_ID == user.getParentId()) {
- //资产方管理员,展示此人创建所有项目对应的权限
- list = projectMapper.selectUserPowerList(userVO, type);
- } else if (count > 0) {
- //项目经理
- type = 1;
- list = projectMapper.selectUserPowerList(userVO, type);
- } else {
- //普通用户
- msg.setError("对不起你不具备该项权限!");
- }
- PageInfo<ProjectVO> pageInfos = new PageInfo<>(list);
- msg.data = pageInfos;
- } else {
- msg.setError("用户不存或没登录!");
- }
- return msg;
- }
- @Override
- public HttpRespMsg updatePower(UserVO userVO, String token) {
- HttpRespMsg msg = new HttpRespMsg();
- QueryWrapper<Project> qw = new QueryWrapper<>();
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
- if (user != null) {
- Project pro = projectMapper.selectById(userVO.getProjectId());
- if (pro.getCreatorId() == user.getId() || pro.getManagerId() == user.getId()) {
- //资产方管理员或者担任项目经理的人才可修改人员权限
- if (null != userVO.getPowers()) {
- List<Integer> powerTypes = ListUtil.convertIntegerIdsArrayToList(userVO.getPowers());
- if (powerTypes.size() > 0) {
- //删除之前的权限
- powerMapper.delete(new QueryWrapper<Power>().eq("user_id", userVO.getId()).eq("project_id", userVO.getProjectId()));
- }
- for (Integer powerType : powerTypes) {
- Power power = new Power();
- power.setPowerType(powerType);
- power.setProjectId(userVO.getProjectId());
- power.setUserId(userVO.getId());
- powerMapper.insert(power);
- }
- } else {
- msg.setError("对不起您没有该项权限!");
- }
- } else {
- msg.setError("用户不存或没登录!");
- }
- }
- return msg;
- }
- }
|