package service
|
|
import (
|
"aps_crm/model"
|
"aps_crm/pkg/ecode"
|
)
|
|
type ClientService struct{}
|
|
func (ClientService) AddClient(client *model.Client) int {
|
err := model.NewClientSearch(nil).Create(client)
|
if err != nil {
|
return ecode.ClientExist
|
}
|
return ecode.OK
|
}
|
|
|
// CheckClientExist check client exist
|
func CheckClientExist(id int) int {
|
_, err := model.NewClientSearch(nil).SetId(id).First()
|
if err != nil {
|
return ecode.ClientNotExist
|
}
|
|
return ecode.OK
|
}
|
|
func (ClientService) UpdateClient(client *model.Client) int {
|
// check client exist
|
errCode := CheckClientExist(client.Id)
|
if errCode != ecode.OK {
|
return errCode
|
}
|
|
// update client
|
err := model.NewClientSearch(nil).SetId(client.Id).Update(client)
|
if err != nil {
|
return ecode.ClientUpdateErr
|
}
|
|
return ecode.OK
|
}
|
|
func (ClientService) GetClientList(page, pageSize int, keyword string) ([]*model.Client, int64, int) {
|
// get contact list
|
contacts, total, err := model.NewClientSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).Find()
|
if err != nil {
|
return nil, 0, ecode.ClientListErr
|
}
|
return contacts, total, ecode.OK
|
}
|
|
func (ClientService) Assign(id, memberId int) int {
|
// check client exist
|
errCode := CheckClientExist(id)
|
if errCode != ecode.OK {
|
return errCode
|
}
|
|
// assign client
|
err := model.NewClientSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{
|
"member_id": memberId,
|
})
|
if err != nil {
|
return ecode.AssignErr
|
}
|
|
return ecode.OK
|
}
|
|
func (ClientService) DeleteClient (ids []int) int {
|
// delete client
|
err := model.NewClientSearch(nil).SetIds(ids).Delete()
|
if err != nil {
|
return ecode.ClientDeleteErr
|
}
|
return ecode.OK
|
}
|