liujiandao
2023-10-17 d4bf53dd19a45ef09a367babcf7a2ac04ae1d08f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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
}