From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化

---
 yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/visit/AfterSaleVisitServiceImpl.java |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/visit/AfterSaleVisitServiceImpl.java b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/visit/AfterSaleVisitServiceImpl.java
index f30f75c..908a56c 100644
--- a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/visit/AfterSaleVisitServiceImpl.java
+++ b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/visit/AfterSaleVisitServiceImpl.java
@@ -11,6 +11,8 @@
 import cn.iocoder.yudao.module.aftersales.dal.mysql.visit.AfterSaleVisitMapper;
 import cn.iocoder.yudao.module.aftersales.enums.AfterSaleTicketStatusEnum;
 import cn.iocoder.yudao.module.aftersales.enums.AfterSaleVisitStatusEnum;
+import cn.iocoder.yudao.module.aftersales.enums.AfterSaleVisitTypeEnum;
+import cn.iocoder.yudao.module.aftersales.service.ticket.AfterSaleTicketFlowService;
 import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
@@ -40,6 +42,8 @@
     private AfterSaleTicketMapper ticketMapper;
     @Resource
     private StorageAttachmentApi storageAttachmentApi;
+    @Resource
+    private AfterSaleTicketFlowService ticketFlowService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -80,6 +84,15 @@
                     .setVisitStatus(AfterSaleVisitStatusEnum.WAITING.getStatus());
         }
         ticketMapper.updateById(update);
+        // 5. 璁板綍娴佽浆锛氬洖璁块�氳繃鍒欎繚鎸佸凡瀹岀粨锛屼笉婊℃剰/澶嶅彂鍒欓��鍥炲鐞嗕腑
+        Integer toStatus = satisfied && !recurred
+                ? AfterSaleTicketStatusEnum.COMPLETED.getStatus()
+                : AfterSaleTicketStatusEnum.PROCESSING.getStatus();
+        ticketFlowService.record(ticket.getId(), AfterSaleTicketFlowService.ACTION_VISIT, "鐧昏鍥炶",
+                ticket.getStatus(), toStatus,
+                "鐧昏鍥炶锛�" + AfterSaleVisitTypeEnum.getNameByType(createReqVO.getVisitType())
+                        + "锛屽鎴�" + (satisfied ? "婊℃剰" : "涓嶆弧鎰�")
+                        + "锛岄棶棰�" + (recurred ? "澶嶅彂" : "鏈鍙�"));
         return visitDO.getId();
     }
 

--
Gitblit v1.9.3