zhangzengfei
2024-10-22 a254bc563003a9e7b3a8f1307df38b8ae4274a4f
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package vo
 
import (
    "database/sql/driver"
    "encoding/json"
    "errors"
)
 
type Subscribe struct {
    SubscribeID           string `json:"SubscribeID"`
    Title                 string `json:"Title" binding:"required"`
    SubscribeDetail       string `json:"SubscribeDetail" binding:"required"`
    ResourceURI           string `json:"ResourceURI" binding:"required"`
    ApplicantName         string `json:"ApplicantName" binding:"required"`
    ApplicantOrg          string `json:"ApplicantOrg" binding:"required"`
    BeginTime             string `json:"BeginTime" binding:"required"`
    EndTime               string `json:"EndTime" binding:"required"`
    ReceiveAddr           string `json:"ReceiveAddr" binding:"required"`
    ReportInterval        int    `json:"ReportInterval" binding:"required"`
    Reason                string `json:"Reason" binding:"required"`
    OperateType           int    `json:"OperateType" `                    // 0:订阅;1:取消订阅
    SubscribeStatus       int    `json:"SubscribeStatus" `                // 0:订阅中 1:已取消订阅 2:订阅到期 9:未订阅
    ResourceClass         int    `json:"ResourceClass" `                  //
    ResultImageDeclare    string `json:"ResultImageDeclare" `             // 对应subImage 的 type, -1 不传
    ResultFeatureDeclare  int    `json:"ResultFeatureDeclare" `           //
    SubscribeCancelOrg    string `json:"SubscribeCancelOrg,omitempty"`    // 仅在取消订阅时使用
    SubscribeCancelPerson string `json:"SubscribeCancelPerson,omitempty"` // 仅在取消订阅时使用
    CancelTime            string `json:"CancelTime,omitempty"`            // 仅在取消订阅时使用
    CancelReason          string `json:"CancelReason,omitempty"`          // 仅在取消订阅时使用
}
 
func (s *Subscribe) Scan(value interface{}) error {
    b, ok := value.([]byte)
    if !ok {
        return errors.New("failed to unmarshal Author value")
    }
    var config Subscribe
    err := json.Unmarshal(b, &config)
    if err != nil {
        return err
    }
    *s = config
    return nil
}
 
func (s Subscribe) Value() (driver.Value, error) {
    return json.Marshal(s)
}
 
type RequestSubscribe struct {
    SubscribeListObject struct {
        SubscribeObject []Subscribe `json:"SubscribeObject"`
    } `json:"SubscribeListObject"`
}
 
type RequestCancelSubscribe struct {
    SubscribeObject Subscribe `json:"SubscribeObject"`
}
 
type RequestSubscribeNotification struct {
    SubscribeNotificationListObject struct {
        SubscribeNotificationObject []interface{} `json:"SubscribeNotificationObject"`
    } `json:"SubscribeNotificationListObject"`
}
 
type RequestSubscribeNotificationBind struct {
    SubscribeNotificationListObject struct {
        SubscribeNotificationObject []Notification `json:"SubscribeNotificationObject"`
    } `json:"SubscribeNotificationListObject"`
}
 
type DeviceNotification struct {
    NotificationID   string
    SubscribeID      string
    Title            string
    TriggerTime      string
    InfoIDs          string
    ExecuteOperation int
    DeviceList       NotificationApeList
}
 
type FaceNotification struct {
    NotificationID   string
    SubscribeID      string
    Title            string
    TriggerTime      string
    InfoIDs          string
    ExecuteOperation int
    FaceObjectList   NotificationFaceList
}
 
type PersonNotification struct {
    NotificationID   string
    SubscribeID      string
    Title            string
    TriggerTime      string
    InfoIDs          string
    ExecuteOperation int
    PersonObjectList NotificationPersonList
}
 
type Notification struct {
    NotificationID   string
    SubscribeID      string
    Title            string
    TriggerTime      string
    InfoIDs          string
    ExecuteOperation int
    DeviceList       NotificationApeList
    FaceObjectList   NotificationFaceList
    PersonObjectList NotificationPersonList
}