| | |
| | | }
|
| | |
|
| | | // update client
|
| | | 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
|
| | | }
|