fix(customer_service): update EnsureExternalCustomer to use TxContext

This commit is contained in:
mlogclub
2026-04-28 23:03:06 +08:00
parent 21a08f3cb1
commit 28d1cfc160
4 changed files with 44 additions and 24 deletions
+20 -12
View File
@@ -18,12 +18,16 @@ import (
func TestEnsureExternalCustomerUpdatesNameFromExternalIdentity(t *testing.T) {
db := setupCustomerServiceTestDB(t)
firstID, err := services.CustomerService.EnsureExternalCustomer(db, openidentity.ExternalUser{
ExternalSource: enums.ExternalSourceUser,
ExternalID: "user-1",
ExternalName: "张三",
})
if err != nil {
var firstID int64
if err := sqls.WithTransaction(func(ctx *sqls.TxContext) error {
id, err := services.CustomerService.EnsureExternalCustomer(ctx, openidentity.ExternalUser{
ExternalSource: enums.ExternalSourceUser,
ExternalID: "user-1",
ExternalName: "张三",
})
firstID = id
return err
}); err != nil {
t.Fatalf("EnsureExternalCustomer() first error = %v", err)
}
@@ -37,12 +41,16 @@ func TestEnsureExternalCustomerUpdatesNameFromExternalIdentity(t *testing.T) {
t.Fatalf("create conversation error = %v", err)
}
secondID, err := services.CustomerService.EnsureExternalCustomer(db, openidentity.ExternalUser{
ExternalSource: enums.ExternalSourceUser,
ExternalID: "user-1",
ExternalName: "李四",
})
if err != nil {
var secondID int64
if err := sqls.WithTransaction(func(ctx *sqls.TxContext) error {
id, err := services.CustomerService.EnsureExternalCustomer(ctx, openidentity.ExternalUser{
ExternalSource: enums.ExternalSourceUser,
ExternalID: "user-1",
ExternalName: "李四",
})
secondID = id
return err
}); err != nil {
t.Fatalf("EnsureExternalCustomer() second error = %v", err)
}
if secondID != firstID {