package service
|
|
import (
|
"aps_crm/constvar"
|
"aps_crm/model"
|
"aps_crm/model/request"
|
"aps_crm/pkg/ecode"
|
)
|
|
type ServiceOrderService struct{}
|
|
func NewServiceOrderService() ServiceOrderService {
|
return ServiceOrderService{}
|
}
|
|
func (ServiceOrderService) AddServiceOrder(ServiceOrder *model.ServiceOrder) int {
|
err := model.NewServiceOrderSearch().Create(ServiceOrder)
|
if err != nil {
|
return ecode.DBErr
|
}
|
|
return ecode.OK
|
}
|
|
func (ServiceOrderService) DeleteServiceOrder(id int) int {
|
err := model.NewServiceOrderSearch().SetId(id).Delete()
|
if err != nil {
|
return ecode.DBErr
|
}
|
return ecode.OK
|
}
|
|
func (ServiceOrderService) BatchDeleteServiceOrder(ids []int) int {
|
err := model.NewServiceOrderSearch().DeleteByIds(ids)
|
if err != nil {
|
return ecode.DBErr
|
}
|
return ecode.OK
|
}
|
|
func (ServiceOrderService) GetServiceOrderList(page, pageSize int, queryClass constvar.ServiceOrderQueryClass, keywordType constvar.ServiceOrderKeywordType, keyword string, serviceContractId, salesDetailsId int, memberIds []int) ([]*model.ServiceOrder, int64, int) {
|
list, total, err := model.NewServiceOrderSearch().
|
SetPage(page, pageSize).
|
SetKeyword(keyword).
|
SetKeywordType(keywordType).
|
SetQueryClass(queryClass).
|
SetPreload(true).
|
SetServiceContractId(serviceContractId).
|
SetSalesDetailsId(salesDetailsId).
|
SetMemberIds(memberIds).
|
SetOrder("created_at desc").
|
Find()
|
if err != nil {
|
return nil, 0, ecode.DBErr
|
}
|
|
return list, total, ecode.OK
|
}
|
|
func (ServiceOrderService) UpdateServiceOrders(ServiceOrders []*request.UpdateServiceOrder) int {
|
for _, v := range ServiceOrders {
|
// check ServiceOrder exist
|
_, err := model.NewServiceOrderSearch().SetId(v.Id).First()
|
if err != nil {
|
return ecode.DBErr
|
}
|
|
err = model.NewServiceOrderSearch().SetId(v.Id).Updates(map[string]interface{}{})
|
if err != nil {
|
return ecode.DBErr
|
}
|
}
|
|
return ecode.OK
|
}
|
|
func (ServiceOrderService) UpdateServiceOrder(serviceOrder *model.ServiceOrder) int {
|
err := model.NewServiceOrderSearch().SetId(serviceOrder.Id).Updates(serviceOrder)
|
if err != nil {
|
return ecode.DBErr
|
}
|
return ecode.OK
|
}
|