package doumeemes.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 doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Utils; import doumeemes.dao.business.CompanyLogMapper; import doumeemes.dao.business.model.CompanyLog; import doumeemes.dao.ext.CompanyLogExtMapper; import doumeemes.service.business.CompanyLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; /** * 企业信息变更记录Service实现 * @author 江蹄蹄 * @since 2023/06/15 13:49 */ @Service public class CompanyLogServiceImpl implements CompanyLogService { @Autowired private CompanyLogMapper companyLogMapper; @Autowired private CompanyLogExtMapper companyLogExtMapper; @Override public Integer create(CompanyLog companyLog) { companyLogMapper.insert(companyLog); return companyLog.getId(); } @Override public void deleteById(Integer id) { companyLogMapper.deleteById(id); } @Override public void delete(CompanyLog companyLog) { UpdateWrapper deleteWrapper = new UpdateWrapper<>(companyLog); companyLogMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) { return; } companyLogMapper.deleteBatchIds(ids); } @Override public void updateById(CompanyLog companyLog) { companyLogMapper.updateById(companyLog); } @Override public void updateByIdInBatch(List companyLogs) { if (CollectionUtils.isEmpty(companyLogs)) { return; } for (CompanyLog companyLog: companyLogs) { this.updateById(companyLog); } } @Override public CompanyLog findById(Integer id) { return companyLogMapper.selectById(id); } @Override public CompanyLog findOne(CompanyLog companyLog) { QueryWrapper wrapper = new QueryWrapper<>(companyLog); return companyLogMapper.selectOne(wrapper); } @Override public List findList(CompanyLog companyLog) { QueryWrapper wrapper = new QueryWrapper<>(companyLog); return companyLogMapper.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, CompanyLog::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getDeleted() != null, CompanyLog::getDeleted, pageWrap.getModel().getDeleted()) .eq(pageWrap.getModel().getCreateUser() != null, CompanyLog::getCreateUser, pageWrap.getModel().getCreateUser()) .ge(pageWrap.getModel().getCreateTime() != null, CompanyLog::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())) .le(pageWrap.getModel().getCreateTime() != null, CompanyLog::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())) .eq(pageWrap.getModel().getUpdateUser() != null, CompanyLog::getUpdateUser, pageWrap.getModel().getUpdateUser()) .ge(pageWrap.getModel().getUpdateTime() != null, CompanyLog::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())) .le(pageWrap.getModel().getUpdateTime() != null, CompanyLog::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())) .eq(pageWrap.getModel().getRemark() != null, CompanyLog::getRemark, pageWrap.getModel().getRemark()) .eq(pageWrap.getModel().getCompanyId() != null, CompanyLog::getCompanyId, pageWrap.getModel().getCompanyId()) .eq(pageWrap.getModel().getUpdateType() != null, CompanyLog::getUpdateType, pageWrap.getModel().getUpdateType()) .eq(pageWrap.getModel().getDetail() != null, CompanyLog::getDetail, pageWrap.getModel().getDetail()) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(companyLogMapper.selectPage(page, queryWrapper)); } @Override public PageData findCompanyLogPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); Utils.MP.blankToNull(pageWrap.getModel()); return PageData.from(companyLogExtMapper.selectPage(page, pageWrap.getModel().getCompanyName(),pageWrap.getModel().getUpdateType())); } @Override public long count(CompanyLog companyLog) { QueryWrapper wrapper = new QueryWrapper<>(companyLog); return companyLogMapper.selectCount(wrapper); } }