From fb65d17251dbef84ed69156c4fb620f0fcb5cd5c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 12 十月 2026 14:58:57 +0800
Subject: [PATCH] 银川英泽防锈需求:商机状态组改为非必填

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java
index 65c09cf..dad93f7 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java
@@ -100,7 +100,11 @@
 
         // 2.1 鎻掑叆鍟嗘満
         CrmBusinessDO business = BeanUtils.toBean(createReqVO, CrmBusinessDO.class);
-        business.setStatusId(businessStatusService.getBusinessStatusListByTypeId(createReqVO.getStatusTypeId()).get(0).getId()); // 榛樿鐘舵��
+        // 鍟嗘満鐘舵�佺粍涓洪�夊~锛氭湭閫夋嫨鏃朵笉璁剧疆榛樿闃舵锛屼篃涓嶅弬涓庛�屽晢鏈虹姸鎬佺粍銆嶇淮搴︾殑缁熻
+        if (createReqVO.getStatusTypeId() != null) {
+            List<CrmBusinessStatusDO> statusList = businessStatusService.getBusinessStatusListByTypeId(createReqVO.getStatusTypeId());
+            business.setStatusId(CollUtil.isNotEmpty(statusList) ? statusList.get(0).getId() : null); // 榛樿鐘舵��
+        }
         calculateTotalPrice(business, businessProducts);
         businessMapper.insert(business);
         // 2.2 鎻掑叆鍟嗘満鍏宠仈鍟嗗搧
@@ -297,6 +301,10 @@
         // 1.3 鏍¢獙鍟嗘満鐘舵��
         CrmBusinessStatusDO status = null;
         if (reqVO.getStatusId() != null) {
+            // 鍟嗘満鐘舵�佺粍涓洪�夊~锛氭湭璁剧疆鐘舵�佺粍鐨勫晢鏈烘病鏈夊彲閫夐樁娈碉紝涓嶅厑璁稿彉鏇淬�屽晢鏈洪樁娈点��
+            if (business.getStatusTypeId() == null) {
+                throw exception(BUSINESS_UPDATE_STATUS_FAIL_NO_STATUS_TYPE, business.getName());
+            }
             status = businessStatusService.validateBusinessStatus(business.getStatusTypeId(), reqVO.getStatusId());
         }
         // 1.4 鏍¢獙鏄笉鏄姸鎬佹病鍙樻洿
@@ -312,7 +320,7 @@
         // 3. 璁板綍鎿嶄綔鏃ュ織涓婁笅鏂�
         LogRecordContext.putVariable("businessName", business.getName());
         LogRecordContext.putVariable("oldStatusName", getBusinessStatusName(business.getEndStatus(),
-                businessStatusService.getBusinessStatus(business.getStatusId())));
+                business.getStatusId() != null ? businessStatusService.getBusinessStatus(business.getStatusId()) : null));
         LogRecordContext.putVariable("newStatusName", getBusinessStatusName(reqVO.getEndStatus(), status));
     }
 

--
Gitblit v1.9.3