| | |
| | | import ( |
| | | "aps_crm/model" |
| | | "aps_crm/pkg/ecode" |
| | | "aps_crm/pkg/mysqlx" |
| | | "gorm.io/gorm" |
| | | ) |
| | | |
| | |
| | | return code |
| | | } |
| | | |
| | | tx := model.NewContactSearch().Orm.Begin() |
| | | |
| | | tx := mysqlx.GetDB().Begin() |
| | | // check isFirst |
| | | errCode := setFirstContact(tx, contact) |
| | | if errCode != ecode.OK { |
| | | return errCode |
| | | } |
| | | |
| | | err := model.NewContactSearch().Create(contact) |
| | | err := model.NewContactSearch(tx).Create(contact) |
| | | if err != nil { |
| | | tx.Rollback() |
| | | return ecode.ContactExist |
| | |
| | | |
| | | func (ContactService) DeleteContact(id int) int { |
| | | // check contact exist |
| | | _, err := model.NewContactSearch().SetId(id).First() |
| | | _, err := model.NewContactSearch(nil).SetId(id).First() |
| | | if err != nil { |
| | | return ecode.ContactNotExist |
| | | } |
| | | |
| | | // delete contact |
| | | err = model.NewContactSearch().SetId(id).Delete() |
| | | err = model.NewContactSearch(nil).SetId(id).Delete() |
| | | if err != nil { |
| | | return ecode.ContactDeleteErr |
| | | } |
| | |
| | | |
| | | func (ContactService) GetContactList() ([]*model.ContactDetail, int) { |
| | | // get contact list |
| | | contacts, err := model.NewContactSearch().FindAll() |
| | | contacts, err := model.NewContactSearch(nil).FindAll() |
| | | if err != nil { |
| | | return nil, ecode.ContactListErr |
| | | } |
| | |
| | | |
| | | func (ContactService) UpdateContact(contact *model.Contact) int { |
| | | // check contact exist |
| | | _, err := model.NewContactSearch().SetId(contact.Id).First() |
| | | _, err := model.NewContactSearch(nil).SetId(contact.Id).First() |
| | | if err != nil { |
| | | return ecode.ContactNotExist |
| | | } |
| | |
| | | return code |
| | | } |
| | | |
| | | tx := model.NewContactSearch().Orm.Begin() |
| | | tx := mysqlx.GetDB().Begin() |
| | | code = setFirstContact(tx, contact) |
| | | if code != ecode.OK { |
| | | return code |
| | | } |
| | | |
| | | // update contact |
| | | err = model.NewContactSearch().SetId(contact.Id).Update(contact) |
| | | err = model.NewContactSearch(tx).SetId(contact.Id).Update(contact) |
| | | if err != nil { |
| | | tx.Rollback() |
| | | return ecode.ContactUpdateErr |
| | |
| | | |
| | | func setFirstContact(tx *gorm.DB, contact *model.Contact) int { |
| | | if contact.IsFirst && contact.ClientId != 0 { |
| | | err := model.NewContactSearch().SetClientId(contact.ClientId).UpdateByMap(map[string]interface{}{ |
| | | err := model.NewContactSearch(tx).SetClientId(contact.ClientId).UpdateByMap(map[string]interface{}{ |
| | | "is_first": false, |
| | | }) |
| | | if err != nil { |
| | |
| | | |
| | | // CheckContactExist check contact exist |
| | | func CheckContactExist(id int) int { |
| | | tmp, err := model.NewContactSearch().SetId(id).First() |
| | | tmp, err := model.NewContactSearch(nil).SetId(id).First() |
| | | if err != nil { |
| | | return ecode.ContactNotExist |
| | | } |