package com.hssx.cloudmodel.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hssx.cloudmodel.constant.Constant; import com.hssx.cloudmodel.entity.Company; import com.hssx.cloudmodel.entity.User; import com.hssx.cloudmodel.mapper.CompanyMapper; import com.hssx.cloudmodel.mapper.UserMapper; import com.hssx.cloudmodel.service.CompanyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hssx.cloudmodel.util.HttpRespMsg; import com.hssx.cloudmodel.util.PageUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** *

* 服务实现类 *

* * @author 吴涛涛 * @since 2019-07-26 */ @Service public class CompanyServiceImpl extends ServiceImpl implements CompanyService { @Resource CompanyMapper companyMapper; @Resource UserMapper userMapper; @Override public HttpRespMsg addAndUpdateRole(Company company, Integer flag) { HttpRespMsg msg = new HttpRespMsg(); if (flag == 0) { //添加公司 QueryWrapper qw = new QueryWrapper<>(); qw.eq("company_name", company.getCompanyName()); int count = companyMapper.selectCount(qw); if (count > 0) { msg.setError("公司已存在,请勿重复添加"); } else { companyMapper.insert(company); } } else if (flag == 1) { //更新公司信息 companyMapper.updateById(company); } return msg; } @Override public HttpRespMsg pageList(PageUtil page, String keyName) { HttpRespMsg msg = new HttpRespMsg(); QueryWrapper qw = new QueryWrapper<>(); if(keyName !=null && !"".equals(keyName)){ qw.like("company_name", keyName); } Integer start = (page.getPageNum()-1)*page.getPageSize(); Integer count = companyMapper.selectCount(qw); page.setTotal(count); page.setPages(page.getTotal()); List list = companyMapper.getListByKeyName(keyName, start, page.getPageSize()); page.setList(list); msg.data = page; return msg; } @Override public List getIdAndNamelist(User user) { QueryWrapper qw = new QueryWrapper<>(); qw.select("id","company_name","company_type"); if(Constant.SYS_ID == user.getParentId()){ //此时是admin创建用户,返回可选的生产方公司,查询出当前admin的信息并获取他的公司id User admin = userMapper.selectOne(new QueryWrapper().eq("id", user.getId())); qw.eq("company_type",Constant.PRODUCER_COMPANY).or().eq("id",admin.getCompanyId()); }else if(Constant.SYS_PARENT_ID == user.getParentId()){ //系统管理员创建admin,返回资产方公司 qw.eq("company_type",Constant.ASSETS_COMPANY); }else{ //此时是项目经理创建其他用户 User admin = userMapper.selectOne(new QueryWrapper().eq("id", user.getParentId())); qw.eq("company_type",Constant.ASSETS_COMPANY).or().eq("id",admin.getCompanyId()); } return companyMapper.selectList(qw); } @Override public HttpRespMsg deleteById(Integer id) { HttpRespMsg msg = new HttpRespMsg(); Integer count = userMapper.selectCount(new QueryWrapper().eq("company_id", id)); if (count > 0) { msg.setError("该公司已被应用到用户中,暂不提供删除操作"); } else { companyMapper.deleteById(id); } return msg; } }