From db46314b9c56256a31c9114bd45d9bd63368cbd8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 29 七月 2026 18:06:22 +0800
Subject: [PATCH] feat(crm): 实现CRM客户管理查看全部权限功能
---
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java
index 77b1270..91e6e74 100644
--- a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java
+++ b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderBidServiceImpl.java
@@ -51,6 +51,10 @@
if (!supplierApplyMapper.existsApprovedBySupplierId(createReqVO.getSupplierId())) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.BID_SUPPLIER_NOT_APPROVED);
}
+ // 鏍¢獙鎶曟爣缂栧彿鏄惁閲嶅
+ if (tenderBidMapper.existsByBidNo(createReqVO.getBidNo())) {
+ throw ServiceExceptionUtil.exception(ErrorCodeConstants.BID_NO_EXISTS);
+ }
// 鏍¢獙渚涘簲鍟嗘槸鍚﹀凡鍙備笌鎶曟爣
SrmTenderBidDO existing = tenderBidMapper.selectByTenderAndSupplier(createReqVO.getTenderProjectId(), createReqVO.getSupplierId());
if (existing != null) {
@@ -88,12 +92,15 @@
@Override
public Long createQuote(SrmSupplierQuoteSaveReqVO createReqVO) {
// 鏍¢獙鎶曟爣鐘舵�侊紙鎾ゆ爣鍚庝笉鍏佽鎶ヤ环锛�
- validateBidNotWithdrawn(createReqVO.getBidId());
+ SrmTenderBidDO bid = validateBidNotWithdrawn(createReqVO.getBidId());
// 鏍¢獙鍚屼竴鎶曟爣涓嬬墿鏂欎笉鍙噸澶嶆姤浠�
if (supplierQuoteMapper.existsByBidAndMaterial(createReqVO.getBidId(), createReqVO.getTenderMaterialId())) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.QUOTE_MATERIAL_DUPLICATE);
}
SrmSupplierQuoteDO quote = BeanUtils.toBean(createReqVO, SrmSupplierQuoteDO.class);
+ // 浠庢姇鏍囪褰曚腑鑾峰彇鎷涙爣椤圭洰ID鍜屼緵搴斿晢ID锛岄伩鍏嶅墠绔仐婕忓鑷存暟鎹簱绾︽潫澶辫触
+ quote.setTenderProjectId(bid.getTenderProjectId());
+ quote.setSupplierId(bid.getSupplierId());
supplierQuoteMapper.insert(quote);
return quote.getId();
}
@@ -128,11 +135,12 @@
return bid;
}
- private void validateBidNotWithdrawn(Long bidId) {
+ private SrmTenderBidDO validateBidNotWithdrawn(Long bidId) {
SrmTenderBidDO bid = validateBidExists(bidId);
if (BidStatusEnum.WITHDRAWN.getCode().equals(bid.getBidStatus())) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.BID_WITHDRAWN_CANNOT_QUOTE);
}
+ return bid;
}
private void validateTenderStatus(Long tenderProjectId) {
--
Gitblit v1.9.3