From 962f78c8383e7c884ddb08c951c15e5ba6eb4cb8 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 15:43:33 +0800
Subject: [PATCH] fix: 完善审批流程与业务状态校验

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractMapper.java |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractMapper.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractMapper.java
index 2c4bdfe..a05fd5f 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractMapper.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractMapper.java
@@ -32,6 +32,12 @@
         return selectOne(CrmContractDO::getNo, no);
     }
 
+    default CrmContractDO selectByNameAndCustomerId(String name, Long customerId) {
+        return selectOne(new LambdaQueryWrapperX<CrmContractDO>()
+                .eq(CrmContractDO::getName, name)
+                .eq(CrmContractDO::getCustomerId, customerId));
+    }
+
     /**
      * 鎻愪氦瀹℃壒锛氱疆涓哄鎵逛腑锛屽苟娓呯┖涓婁竴杞鏍哥粨鏋�
      *
@@ -45,6 +51,8 @@
     default int submitAndResetAuditInfo(Long id, Integer status) {
         return update(null, new LambdaUpdateWrapper<CrmContractDO>()
                 .eq(CrmContractDO::getId, id)
+                .in(CrmContractDO::getAuditStatus, CrmAuditStatusEnum.DRAFT.getStatus(),
+                        CrmAuditStatusEnum.REJECT.getStatus())
                 .set(CrmContractDO::getAuditStatus, status)
                 .set(CrmContractDO::getReviewerId, null)
                 .set(CrmContractDO::getReviewerName, null)
@@ -68,6 +76,7 @@
                               String reviewerName, String reviewRemark) {
         return update(null, new LambdaUpdateWrapper<CrmContractDO>()
                 .eq(CrmContractDO::getId, id)
+                .eq(CrmContractDO::getAuditStatus, CrmAuditStatusEnum.PROCESS.getStatus())
                 .set(CrmContractDO::getAuditStatus, status)
                 .set(CrmContractDO::getReviewerId, reviewerId)
                 .set(CrmContractDO::getReviewerName, reviewerName)

--
Gitblit v1.9.3