package cn.iocoder.yudao.module.srm.service.tender; import cn.iocoder.yudao.module.srm.controller.admin.tender.vo.SrmSupplierQuoteSaveReqVO; import cn.iocoder.yudao.module.srm.controller.admin.tender.vo.SrmTenderBidSaveReqVO; import cn.iocoder.yudao.module.srm.dal.dataobject.SrmSupplierQuoteDO; import cn.iocoder.yudao.module.srm.dal.dataobject.SrmTenderBidDO; import jakarta.validation.Valid; import java.math.BigDecimal; import java.util.List; /** * SRM 投标管理 Service 接口 */ public interface SrmTenderBidService { // ========== 投标管理 ========== /** * 创建投标 */ Long createBid(@Valid SrmTenderBidSaveReqVO createReqVO); /** * 获取投标详情 */ SrmTenderBidDO getBid(Long id); /** * 查询招标项目的投标列表 */ List getBidListByProject(Long tenderProjectId); /** * 撤标 */ void withdrawBid(Long id); // ========== 报价管理 ========== /** * 创建报价 */ Long createQuote(@Valid SrmSupplierQuoteSaveReqVO createReqVO); /** * 更新报价 */ void updateQuote(@Valid SrmSupplierQuoteSaveReqVO updateReqVO); /** * 获取报价列表(按投标ID) */ List getQuoteList(Long bidId); // ========== 投标总金额(人工维护) ========== /** * 更新投标总金额:报价明细填写后可由前端自动带出报价合计,再人工微调 * * @param bidTotalAmount 投标总金额;为 null 时不更新 */ void updateBidTotal(Long bidId, BigDecimal bidTotalAmount); }