package com.doumee.service.business.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.CompanyMapper; import com.doumee.dao.business.model.Company; import com.doumee.service.business.CompanyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; /** * 系统-企业信息表Service实现 * @author AA * @since 2023/09/08 10:27 */ @Service public class CompanyServiceImpl implements CompanyService { @Autowired private CompanyMapper companyMapper; @Override public Integer create(Company company) { companyMapper.insert(company); return company.getId(); } @Override public void deleteById(Integer id) { companyMapper.deleteById(id); } @Override public void delete(Company company) { UpdateWrapper deleteWrapper = new UpdateWrapper<>(company); companyMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) { return; } companyMapper.deleteBatchIds(ids); } @Override public void updateById(Company company) { companyMapper.updateById(company); } @Override public void updateByIdInBatch(List companys) { if (CollectionUtils.isEmpty(companys)) { return; } for (Company company: companys) { this.updateById(company); } } @Override public Company findById(Integer id) { return companyMapper.selectById(id); } @Override public Company findOne(Company company) { QueryWrapper wrapper = new QueryWrapper<>(company); return companyMapper.selectOne(wrapper); } @Override public List findList(Company company) { QueryWrapper wrapper = new QueryWrapper<>(company); return companyMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.lambda() .eq(pageWrap.getModel().getId() != null, Company::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getDeleted() != null, Company::getDeleted, pageWrap.getModel().getDeleted()) .eq(pageWrap.getModel().getCreateUser() != null, Company::getCreateUser, pageWrap.getModel().getCreateUser()) .ge(pageWrap.getModel().getCreateTime() != null, Company::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())) .le(pageWrap.getModel().getCreateTime() != null, Company::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())) .eq(pageWrap.getModel().getUpdateUser() != null, Company::getUpdateUser, pageWrap.getModel().getUpdateUser()) .ge(pageWrap.getModel().getUpdateTime() != null, Company::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())) .le(pageWrap.getModel().getUpdateTime() != null, Company::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())) .eq(pageWrap.getModel().getName() != null, Company::getName, pageWrap.getModel().getName()) .eq(pageWrap.getModel().getShortName() != null, Company::getShortName, pageWrap.getModel().getShortName()) .eq(pageWrap.getModel().getRemark() != null, Company::getRemark, pageWrap.getModel().getRemark()) .eq(pageWrap.getModel().getManagerId() != null, Company::getManagerId, pageWrap.getModel().getManagerId()) .eq(pageWrap.getModel().getLinkname() != null, Company::getLinkname, pageWrap.getModel().getLinkname()) .eq(pageWrap.getModel().getLinkephone() != null, Company::getLinkephone, pageWrap.getModel().getLinkephone()) .eq(pageWrap.getModel().getCreditCode() != null, Company::getCreditCode, pageWrap.getModel().getCreditCode()) .eq(pageWrap.getModel().getUserNum() != null, Company::getUserNum, pageWrap.getModel().getUserNum()) .ge(pageWrap.getModel().getOepnValidDate() != null, Company::getOepnValidDate, Utils.Date.getStart(pageWrap.getModel().getOepnValidDate())) .le(pageWrap.getModel().getOepnValidDate() != null, Company::getOepnValidDate, Utils.Date.getEnd(pageWrap.getModel().getOepnValidDate())) .eq(pageWrap.getModel().getOepnType() != null, Company::getOepnType, pageWrap.getModel().getOepnType()) .eq(pageWrap.getModel().getSalesmanId() != null, Company::getSalesmanId, pageWrap.getModel().getSalesmanId()) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(companyMapper.selectPage(page, queryWrapper)); } @Override public long count(Company company) { QueryWrapper wrapper = new QueryWrapper<>(company); return companyMapper.selectCount(wrapper); } }