123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- 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.*;
- import com.hssx.cloudmodel.entity.vo.UserVO;
- import com.hssx.cloudmodel.mapper.*;
- import com.hssx.cloudmodel.service.UserService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.hssx.cloudmodel.util.HttpRespMsg;
- import com.hssx.cloudmodel.util.MD5Util;
- import com.hssx.cloudmodel.util.PageUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- import java.util.UUID;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author 吴涛涛
- * @since 2019-07-26
- */
- @Service
- public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
- @Autowired
- UserMapper userMapper;
- @Autowired
- CompanyMapper companyMapper;
- @Autowired
- UserCompanyMapper userCompanyMapper;
- @Autowired
- ProjectUserMapper projectUserMapper;
- @Autowired
- ProjectMapper projectMapper;
- @Override
- public HttpRespMsg login(User user, HttpServletRequest request) {
- System.out.println("user" + user);
- HttpRespMsg msg = new HttpRespMsg();
- //验证用户名是否存在
- QueryWrapper<User> qw = new QueryWrapper<>();
- qw.eq("account", user.getAccount());
- Integer count = userMapper.selectCount(qw);
- //验证用户名是否正确
- if (count > 0) {
- User newUser = userMapper.selectOne(qw);
- //验证密码是否正确
- if (MD5Util.getPassword(user.getPassword()).equals(newUser.getPassword())) {
- newUser.setPassword("");
- msg.data = newUser;
- } else {
- msg.setError("密码错误");
- }
- } else {
- msg.setError("账号不存在");
- }
- return msg;
- }
- @Override
- public HttpRespMsg pageList(PageUtil page, Integer companyId, Integer flag, String keyName, User user, Integer roleType) {
- HttpRespMsg msg = new HttpRespMsg();
- PageHelper.startPage(page.getPageNum(), page.getPageSize());
- List<UserVO> users = userMapper.selectListByCondition(roleType, companyId, flag, user, keyName);
- PageInfo<UserVO> pageInfos = new PageInfo<>(users);
- msg.data = pageInfos;
- return msg;
- }
- @Override
- public HttpRespMsg deleteUser(User user) {
- HttpRespMsg msg = new HttpRespMsg();
- QueryWrapper<ProjectUser> qw = new QueryWrapper<>();
- qw.eq("user_id", user.getId());
- //普通用户应用到项目不能删除
- Integer count = projectUserMapper.selectCount(qw);
- if (count > 0) {
- msg.setError("该用户已被应用到项目,暂不提供删除操作");
- return msg;
- }
- //是项目经理不能删除
- Integer countProject = projectMapper.selectCount(new QueryWrapper<Project>().eq("manager_id", user.getId()));
- if(countProject>0){
- msg.setError("该用户已被应用到项目,暂不提供删除操作");
- return msg;
- }
- //删除用户
- userMapper.deleteById(user.getId());
- //删除合作的公司
- userCompanyMapper.delete(new QueryWrapper<UserCompany>().eq("user_id",user.getId()));
- return msg;
- }
- @Override
- public HttpRespMsg addAndUpdateUser(User user, Integer flag) {
- //获取该账号的创建者
- User parentUser = userMapper.selectById(user.getParentId());
- //获取admin的用户信息
- User proParentUser = userMapper.selectById(parentUser.getParentId());
- HttpRespMsg msg = new HttpRespMsg();
- if (flag == 0) {
- //添加角色
- QueryWrapper<User> qw = new QueryWrapper<>();
- qw.eq("account", user.getAccount());
- int count = userMapper.selectCount(qw);
- if (count > 0) {
- User existingUser = userMapper.selectOne(qw);
- //此时用户已经有了,则建立一条合作公司的关系
- UserCompany userCompany = new UserCompany();
- userCompany.setUserId(existingUser.getId());
- userCompany.setBelongCompanyId(existingUser.getCompanyId());
- userCompany.setCooperationCompanyId(proParentUser.getCompanyId());
- QueryWrapper<UserCompany> qWra = new QueryWrapper<>(userCompany);
- int userCompanyCount = userCompanyMapper.selectCount(qWra);
- if (count == 0) {
- userCompanyMapper.insert(userCompany);
- }
- } else {
- //创建账号默认密码"000000"
- user.setPassword(MD5Util.getPassword(Constant.DEFAULT_PWD));
- user.setHeadImgurl(UUID.randomUUID().toString().replaceAll("-", ""));
- //获取角色所属的团体
- Company company = companyMapper.selectById(user.getCompanyId());
- if (Constant.ASSETS_COMPANY == company.getCompanyType()) {
- user.setSubordinateType(Constant.ASSETS_COMPANY);
- user.setTeamName("资产方");
- } else if (Constant.PRODUCER_COMPANY == company.getCompanyType()) {
- user.setSubordinateType(Constant.PRODUCER_COMPANY);
- user.setTeamName("生产方");
- }
- userMapper.insert(user);
- UserCompany userCompany = new UserCompany();
- userCompany.setUserId(user.getId());
- userCompany.setBelongCompanyId(user.getCompanyId());
- userCompany.setCooperationCompanyId(proParentUser.getCompanyId());
- QueryWrapper<UserCompany> qWra = new QueryWrapper<>(userCompany);
- int userCompanyCount = userCompanyMapper.selectCount(qWra);
- if (count == 0) {
- userCompanyMapper.insert(userCompany);
- }
- }
- } else if (flag == 1) {
- //更新角色信息
- userMapper.updateById(user);
- }
- return msg;
- }
- }
|