From 481d8165f26fc7e37f0e87f6444ac0340bb563a3 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 18:53:22 +0800
Subject: [PATCH] fix: 移植长辉已验证的四类接口 500/体验问题(不含物料颜色字段)

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/api/contract/CrmContractApiImpl.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/api/contract/CrmContractApiImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/api/contract/CrmContractApiImpl.java
index b9e4f4a..6f53278 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/api/contract/CrmContractApiImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/api/contract/CrmContractApiImpl.java
@@ -2,6 +2,11 @@
 
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.module.crm.service.contract.CrmContractService;
+import cn.iocoder.yudao.module.crm.api.contract.dto.CrmContractForSaleDTO;
+import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO;
+import cn.iocoder.yudao.module.crm.dal.mysql.contract.CrmContractMapper;
+import cn.iocoder.yudao.module.crm.dal.mysql.contract.CrmContractProductMapper;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import jakarta.annotation.Resource;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.validation.annotation.Validated;
@@ -24,6 +29,19 @@
     @Lazy // 寤惰繜鍔犺浇锛岄伩鍏嶅惊鐜緷璧�
     private CrmContractService contractService;
 
+    @Resource
+    private CrmContractMapper contractMapper;
+    @Resource
+    private CrmContractProductMapper contractProductMapper;
+
+    @Override
+    public CommonResult<CrmContractForSaleDTO> getContractForSaleByNo(String no) {
+        CrmContractDO contract = contractMapper.selectByNoForUpdate(no);
+        if (contract == null) return success(null);
+        CrmContractForSaleDTO result = BeanUtils.toBean(contract, CrmContractForSaleDTO.class);
+        result.setItems(BeanUtils.toBean(contractProductMapper.selectListByContractId(contract.getId()), CrmContractForSaleDTO.Item.class));
+        return success(result);
+    }
     @Override
     public CommonResult<Boolean> updateContractStatus(Long id, Integer status) {
         contractService.updateContractStatus(id, status);

--
Gitblit v1.9.3