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<BiddingManagementMapper, BiddingManagement> implements IBiddingManagementService {
|
|
@Override
|
public IPage<BiddingManagement> selectBiddingManagementList(Page<BiddingManagement> page, BiddingManagementDto dto) {
|
LambdaQueryWrapper<BiddingManagement> queryWrapper = buildQueryWrapper(dto);
|
queryWrapper.orderByDesc(BiddingManagement::getCreateTime);
|
return this.page(page, queryWrapper);
|
}
|
|
@Override
|
public List<BiddingManagement> selectBiddingManagementList(BiddingManagementDto dto) {
|
LambdaQueryWrapper<BiddingManagement> 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<BiddingManagement> buildQueryWrapper(BiddingManagementDto dto) {
|
LambdaQueryWrapper<BiddingManagement> 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;
|
}
|
}
|