CompanyServiceImpl.java 3.5 KB

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