CompanyServiceImpl.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.hssx.cloudmodel.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.hssx.cloudmodel.constant.Constant;
  4. import com.hssx.cloudmodel.entity.Company;
  5. import com.hssx.cloudmodel.entity.User;
  6. import com.hssx.cloudmodel.mapper.CompanyMapper;
  7. import com.hssx.cloudmodel.mapper.UserMapper;
  8. import com.hssx.cloudmodel.service.CompanyService;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import com.hssx.cloudmodel.util.HttpRespMsg;
  11. import com.hssx.cloudmodel.util.PageUtil;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import javax.annotation.Resource;
  15. import java.util.List;
  16. /**
  17. * <p>
  18. * 服务实现类
  19. * </p>
  20. *
  21. * @author 吴涛涛
  22. * @since 2019-07-26
  23. */
  24. @Service
  25. public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
  26. @Resource
  27. CompanyMapper companyMapper;
  28. @Resource
  29. UserMapper userMapper;
  30. @Override
  31. public HttpRespMsg addAndUpdateRole(Company company, Integer flag) {
  32. HttpRespMsg msg = new HttpRespMsg();
  33. if (flag == 0) {
  34. //添加公司
  35. QueryWrapper<Company> qw = new QueryWrapper<>();
  36. qw.eq("company_name", company.getCompanyName());
  37. int count = companyMapper.selectCount(qw);
  38. if (count > 0) {
  39. msg.setError("公司已存在,请勿重复添加");
  40. } else {
  41. companyMapper.insert(company);
  42. }
  43. } else if (flag == 1) {
  44. //更新公司信息
  45. companyMapper.updateById(company);
  46. }
  47. return msg;
  48. }
  49. @Override
  50. public HttpRespMsg pageList(PageUtil page, String keyName) {
  51. HttpRespMsg msg = new HttpRespMsg();
  52. QueryWrapper<Company> qw = new QueryWrapper<>();
  53. if(keyName !=null && !"".equals(keyName)){
  54. qw.like("company_name", keyName);
  55. }
  56. Integer start = (page.getPageNum()-1)*page.getPageSize();
  57. Integer count = companyMapper.selectCount(qw);
  58. page.setTotal(count);
  59. page.setPages(page.getTotal());
  60. List<Company> list = companyMapper.getListByKeyName(keyName, start, page.getPageSize());
  61. page.setList(list);
  62. msg.data = page;
  63. return msg;
  64. }
  65. @Override
  66. public List<Company> getIdAndNamelist(User user) {
  67. QueryWrapper<Company> qw = new QueryWrapper<>();
  68. qw.select("id","company_name","company_type");
  69. if(Constant.SYS_ID == user.getParentId()){
  70. //此时是admin创建用户,返回可选的生产方公司,查询出当前admin的信息并获取他的公司id
  71. User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getId()));
  72. qw.eq("company_type",Constant.PRODUCER_COMPANY).or().eq("id",admin.getCompanyId());
  73. }else if(Constant.SYS_PARENT_ID == user.getParentId()){
  74. //系统管理员创建admin,返回资产方公司
  75. qw.eq("company_type",Constant.ASSETS_COMPANY);
  76. }else{
  77. //此时是项目经理创建其他用户
  78. User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getParentId()));
  79. qw.eq("company_type",Constant.ASSETS_COMPANY).or().eq("id",admin.getCompanyId());
  80. }
  81. return companyMapper.selectList(qw);
  82. }
  83. @Override
  84. public HttpRespMsg deleteById(Integer id) {
  85. HttpRespMsg msg = new HttpRespMsg();
  86. Integer count = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", id));
  87. if (count > 0) {
  88. msg.setError("该公司已被应用到用户中,暂不提供删除操作");
  89. } else {
  90. companyMapper.deleteById(id);
  91. }
  92. return msg;
  93. }
  94. }