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