package service
|
|
import (
|
"aps_crm/model"
|
"aps_crm/pkg/ecode"
|
)
|
|
type SaleChanceService struct{}
|
|
func (SaleChanceService) AddSaleChance(saleChange *model.SaleChance) int {
|
err := model.NewSaleChanceSearch().Create(saleChange)
|
if err != nil {
|
return ecode.SaleChanceExist
|
}
|
return ecode.OK
|
}
|
|
func (SaleChanceService) UpdateSaleChance(saleChange *model.SaleChance) int {
|
// update saleChange
|
err := model.NewSaleChanceSearch().SetId(saleChange.Id).Update(saleChange)
|
if err != nil {
|
return ecode.SaleChanceUpdateErr
|
}
|
|
return ecode.OK
|
}
|
|
// CheckSaleChangeExist check saleChange exist
|
func CheckSaleChangeExist(id int) int {
|
tmp, err := model.NewSaleChanceSearch().SetId(id).Find()
|
if err != nil {
|
return ecode.SaleChanceNotExist
|
}
|
|
if tmp.Id == 0 {
|
return ecode.SaleChanceNotExist
|
}
|
|
return ecode.OK
|
}
|
|
func (SaleChanceService) GetSaleChanceList(page, pageSize int, data map[string]interface{}) ([]*model.SaleChance, int64, int) {
|
// get contact list
|
contacts, total, err := model.NewSaleChanceSearch().SetPage(page, pageSize).SetSearchMap(data).FindAll()
|
if err != nil {
|
return nil, 0, ecode.SaleChanceListErr
|
}
|
return contacts, total, ecode.OK
|
}
|
|
// push
|
func (SaleChanceService) PushSaleChance(id, step int) int {
|
// check saleChange exist
|
errCode := CheckSaleChangeExist(id)
|
if errCode != ecode.OK {
|
return errCode
|
}
|
// check step
|
_, err := model.NewSaleStageSearch().SetId(step).Find()
|
if err != nil {
|
return ecode.SaleStageNotExist
|
}
|
|
// push saleChange
|
err = model.NewSaleChanceSearch().SetId(id).Update(&model.SaleChance{SaleStageId: step})
|
if err != nil {
|
return ecode.SaleChanceUpdateErr
|
}
|
|
return ecode.OK
|
}
|
|
func (SaleChanceService) DeleteSaleChance(ids []int) int {
|
// delete client
|
err := model.NewSaleChanceSearch().SetIds(ids).Delete()
|
if err != nil {
|
return ecode.SaleChanceDeleteErr
|
}
|
return ecode.OK
|
}
|