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). 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 }