You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.9 KiB
110 lines
3.9 KiB
package model |
|
|
|
import ( |
|
"encoding/json" |
|
"net/url" |
|
"strconv" |
|
"strings" |
|
|
|
xtime "go-common/library/time" |
|
) |
|
|
|
// Resource . |
|
type Resource struct { |
|
ID int64 `json:"id" gorm:"primary_key" form:"id"` |
|
BusinessID int64 `json:"business_id" gorm:"column:business_id" form:"business_id"` |
|
OID string `json:"oid" gorm:"column:oid" form:"oid"` |
|
MID int64 `json:"mid" gorm:"column:mid" form:"mid"` |
|
Content string `json:"content" gorm:"column:content" form:"content"` |
|
Extra1 int64 `json:"extra1" gorm:"column:extra1" form:"extra1"` |
|
Extra2 int64 `json:"extra2" gorm:"column:extra2" form:"extra2"` |
|
Extra3 int64 `json:"extra3" gorm:"column:extra3" form:"extra3"` |
|
Extra4 int64 `json:"extra4" gorm:"column:extra4" form:"extra4"` |
|
Extra1s string `json:"extra1s" gorm:"column:extra1s" form:"extra1s"` |
|
Extra2s string `json:"extra2s" gorm:"column:extra2s" form:"extra2s"` |
|
MetaData string `json:"metadata" gorm:"column:metadata" form:"metadata"` |
|
Ctime xtime.Time `json:"ctime" gorm:"column:ctime"` |
|
Mtime xtime.Time `json:"mtime" gorm:"column:mtime"` |
|
Extra5 int64 `json:"extra5" gorm:"column:extra5" form:"extra5"` |
|
Extra6 int64 `json:"extra6" gorm:"column:extra6" form:"extra6"` |
|
Extra3s string `json:"extra3s" gorm:"column:extra3s" form:"extra3s"` |
|
Extra4s string `json:"extra4s" gorm:"column:extra4s" form:"extra4s"` |
|
ExtraTime1 string `json:"extratime1" gorm:"column:extratime1" form:"extratime1"` |
|
OCtime string `json:"octime" gorm:"column:octime" form:"octime"` |
|
Ptime string `json:"ptime" gorm:"column:ptime" form:"ptime"` |
|
} |
|
|
|
// TableName . |
|
func (t *Resource) TableName() string { |
|
return "resource" |
|
} |
|
|
|
//AddOption add option |
|
type AddOption struct { |
|
Resource |
|
State int `form:"state" json:"state"` |
|
NetID int64 `form:"net_id" json:"net_id"` |
|
} |
|
|
|
// ToQueryURI convert field to uri. |
|
func (opt AddOption) ToQueryURI() url.Values { |
|
var params = url.Values{} |
|
params.Add("business_id", strconv.Itoa(int(opt.BusinessID))) |
|
params.Add("net_id", strconv.Itoa(int(opt.NetID))) |
|
params.Add("oid", opt.OID) |
|
params.Add("mid", strconv.Itoa(int(opt.MID))) |
|
params.Add("content", opt.Content) |
|
params.Add("extra1", strconv.Itoa(int(opt.Extra1))) |
|
params.Add("extra2", strconv.Itoa(int(opt.Extra2))) |
|
params.Add("extra3", strconv.Itoa(int(opt.Extra3))) |
|
params.Add("extra4", strconv.Itoa(int(opt.Extra4))) |
|
params.Add("extra5", strconv.Itoa(int(opt.Extra5))) |
|
params.Add("extra5", strconv.Itoa(int(opt.Extra6))) |
|
params.Add("extra1s", opt.Extra1s) |
|
params.Add("extra2s", opt.Extra2s) |
|
params.Add("extra3s", opt.Extra3s) |
|
params.Add("extra4s", opt.Extra4s) |
|
params.Add("extratime1", opt.ExtraTime1) |
|
params.Add("octime", opt.OCtime) |
|
params.Add("ptime", opt.Ptime) |
|
params.Add("metadata", opt.MetaData) |
|
return params |
|
} |
|
|
|
//UpdateOption update option |
|
type UpdateOption struct { |
|
BusinessID int64 `json:"business_id"` |
|
NetID int64 `json:"net_id"` |
|
OID string `json:"oid"` |
|
Update map[string]interface{} `json:"update"` |
|
} |
|
|
|
//ToQueryURI convert field to uri. |
|
func (opt UpdateOption) ToQueryURI() url.Values { |
|
var params = url.Values{} |
|
params.Add("business_id", strconv.Itoa(int(opt.BusinessID))) |
|
params.Add("net_id", strconv.Itoa(int(opt.NetID))) |
|
params.Add("oid", opt.OID) |
|
|
|
if bs, err := json.Marshal(opt.Update); err == nil && len(bs) > 0 { |
|
params.Add("update", string(bs)) |
|
} |
|
return params |
|
} |
|
|
|
//CancelOption . |
|
type CancelOption struct { |
|
BusinessID int64 `json:"business_id"` |
|
Oids []string `json:"oids"` |
|
Reason string `json:"reason"` |
|
} |
|
|
|
// ToQueryURI convert field to uri. |
|
func (opt CancelOption) ToQueryURI() url.Values { |
|
var params = url.Values{} |
|
params.Add("business_id", strconv.Itoa(int(opt.BusinessID))) |
|
params.Add("oids", strings.Join(opt.Oids, ",")) |
|
params.Add("reason", opt.Reason) |
|
|
|
return params |
|
}
|
|
|