package com.ruoyi.sales.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.sales.dto.BiddingManagementDto; import com.ruoyi.sales.mapper.BiddingManagementMapper; import com.ruoyi.sales.pojo.BiddingManagement; import com.ruoyi.sales.service.IBiddingManagementService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.List; /** * 招投标管理Service业务层处理 */ @Service public class BiddingManagementServiceImpl extends ServiceImpl implements IBiddingManagementService { @Override public IPage selectBiddingManagementList(Page page, BiddingManagementDto dto) { LambdaQueryWrapper queryWrapper = buildQueryWrapper(dto); queryWrapper.orderByDesc(BiddingManagement::getCreateTime); return this.page(page, queryWrapper); } @Override public List selectBiddingManagementList(BiddingManagementDto dto) { LambdaQueryWrapper queryWrapper = buildQueryWrapper(dto); queryWrapper.orderByDesc(BiddingManagement::getCreateTime); return this.list(queryWrapper); } @Override public int addOrUpdateBiddingManagement(BiddingManagementDto dto) { BiddingManagement biddingManagement = new BiddingManagement(); BeanUtils.copyProperties(dto, biddingManagement); if (biddingManagement.getId() == null) { return this.save(biddingManagement) ? 1 : 0; } else { return this.updateById(biddingManagement) ? 1 : 0; } } @Override public int deleteBiddingManagementByIds(Long[] ids) { return this.removeByIds(Arrays.asList(ids)) ? ids.length : 0; } private LambdaQueryWrapper buildQueryWrapper(BiddingManagementDto dto) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (dto != null) { queryWrapper.like(StringUtils.isNotEmpty(dto.getProjectName()), BiddingManagement::getProjectName, dto.getProjectName()) .like(StringUtils.isNotEmpty(dto.getTenderUnit()), BiddingManagement::getTenderUnit, dto.getTenderUnit()) .eq(StringUtils.isNotEmpty(dto.getBidResult()), BiddingManagement::getBidResult, dto.getBidResult()) .ge(StringUtils.isNotEmpty(dto.getBidDateStart()), BiddingManagement::getBidDate, dto.getBidDateStart()) .le(StringUtils.isNotEmpty(dto.getBidDateEnd()), BiddingManagement::getBidDate, dto.getBidDateEnd()); } return queryWrapper; } }