From 6acff3ce321e59b03e95fe7143ba45b0c48cd926 Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期一, 14 八月 2023 18:00:13 +0800 Subject: [PATCH] fix --- service/client.go | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/service/client.go b/service/client.go index 8743ee3..523e368 100644 --- a/service/client.go +++ b/service/client.go @@ -51,9 +51,36 @@ } // update client - err := model.NewClientSearch(nil).SetId(client.Id).Update(client) - if err != nil { - return ecode.ClientUpdateErr + if len(client.Contacts) == 0 { + err := model.NewClientSearch(nil).SetId(client.Id).Update(client) + if err != nil { + return ecode.ClientUpdateErr + } + } else { + tx := mysqlx.GetDB().Begin() + err := model.NewClientSearch(tx).SetId(client.Id).Update(client) + if err != nil { + tx.Rollback() + return ecode.ClientUpdateErr + } + + for _, contact := range client.Contacts { + contact.ClientId = client.Id + if contact.Id == 0 { + err := model.NewContactSearch(tx).Create(&contact) + if err != nil { + tx.Rollback() + return ecode.ClientUpdateErr + } + } else { + err = model.NewContactSearch(tx).SetId(contact.Id).Update(&contact) + if err != nil { + tx.Rollback() + return ecode.ClientUpdateErr + } + } + } + tx.Commit() } return ecode.OK -- Gitblit v1.8.0