From 6d87af33ec0d71f86918920fee2abc37b9fb9e73 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 07 九月 2023 17:21:56 +0800
Subject: [PATCH] fix

---
 nsq/msg_handler.go |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go
index 6e8df60..693c3e1 100644
--- a/nsq/msg_handler.go
+++ b/nsq/msg_handler.go
@@ -79,16 +79,23 @@
 		}
 
 		err = model.WithTransaction(func(db *gorm.DB) error {
-			if err = model.NewOrderSearch(db).SetWorkOrderId(task.WorkOrder.WorkOrderID).Delete(); err != nil {
-				return err
+			if oldWorkOrder != nil {
+				if err = model.NewOrderSearch(db).SetId(oldWorkOrder.ID).Updates(&orderRecord); err != nil {
+					return err
+				}
+				for _, procedure := range procedureRecords {
+					err = model.NewProceduresSearch(db).SetProcedureId(procedure.ProcedureID).Updates(procedure)
+					if err != nil {
+						return err
+					}
+				}
+			} else {
+				if err = model.NewOrderSearch(db).Create(&orderRecord); err != nil {
+					return err
+				}
+				return model.NewProceduresSearch(db).CreateBatch(procedureRecords)
 			}
-			if err = model.NewOrderSearch(db).Save(&orderRecord); err != nil {
-				return err
-			}
-			if err = model.NewProceduresSearch(db).SetProcedureIds(procedureIds).Delete(); err != nil {
-				return err
-			}
-			return model.NewProceduresSearch(db).CreateBatch(procedureRecords)
+			return nil
 		})
 		if err != nil {
 			logx.Errorf(" save task message error err: %v", err.Error())

--
Gitblit v1.8.0