94 lines
2.7 KiB
Go
94 lines
2.7 KiB
Go
package model
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
xtime "go-common/library/time"
|
|
)
|
|
|
|
// official state const.
|
|
const (
|
|
OfficialStateWait = iota
|
|
OfficialStatePass
|
|
OfficialStateNoPass
|
|
OfficialStateReWait
|
|
)
|
|
|
|
// official role const.
|
|
const (
|
|
OfficialRoleUnauth = iota
|
|
OfficialRoleUp
|
|
OfficialRoleIdentify
|
|
OfficialRoleBusiness
|
|
OfficialRoleGov
|
|
OfficialRoleMedia
|
|
OfficialRoleOther
|
|
)
|
|
|
|
// OfficialDoc official doc.
|
|
type OfficialDoc struct {
|
|
Mid int64 `json:"mid"`
|
|
Name string `json:"name"`
|
|
State int8 `json:"state"`
|
|
Role int8 `json:"role"`
|
|
Title string `json:"title"`
|
|
Desc string `json:"desc"`
|
|
Extra string `json:"-"`
|
|
RejectReason string `json:"reject_reason"` // 被拒绝理由
|
|
SubmitSource string `json:"submit_source"` // 提交来源
|
|
SubmitTime xtime.Time `json:"submit_time"` // 最后提交时间
|
|
|
|
OfficialExtra
|
|
}
|
|
|
|
// OfficialExtra official extra.
|
|
type OfficialExtra struct {
|
|
Realname int8 `json:"realname"`
|
|
Operator string `json:"operator"` // 经营人
|
|
Telephone string `json:"telephone"` // 电话号码
|
|
Email string `json:"email"` // 邮箱
|
|
Address string `json:"address"` // 地址
|
|
Company string `json:"company"` // 公司
|
|
CreditCode string `json:"credit_code"` // 社会信用代码
|
|
Organization string `json:"organization"` // 政府或组织名称
|
|
OrganizationType string `json:"organization_type"` // 组织或机构类型
|
|
BusinessLicense string `json:"business_license"` // 企业营业执照
|
|
BusinessScale string `json:"business_scale"` // 企业规模
|
|
BusinessLevel string `json:"business_level"` // 企业登记
|
|
BusinessAuth string `json:"business_auth"` // 企业授权函
|
|
Supplement string `json:"supplement"` // 其他补充材料
|
|
Professional string `json:"professional"` // 专业资质
|
|
Identification string `json:"identification"` // 身份证明
|
|
OfficialSite string `json:"official_site"` // 官网地址
|
|
RegisteredCapital string `json:"registered_capital"` // 注册资金
|
|
}
|
|
|
|
// ParseExtra parse extra.
|
|
func (oc *OfficialDoc) ParseExtra() {
|
|
oe := OfficialExtra{}
|
|
if len(oc.Extra) > 0 {
|
|
json.Unmarshal([]byte(oc.Extra), &oe)
|
|
}
|
|
oc.OfficialExtra = oe
|
|
}
|
|
|
|
// String is
|
|
func (oe OfficialExtra) String() string {
|
|
bs, _ := json.Marshal(oe)
|
|
if len(bs) == 0 {
|
|
bs = []byte("{}")
|
|
}
|
|
return string(bs)
|
|
}
|
|
|
|
// Validate is.
|
|
func (oc OfficialDoc) Validate() bool {
|
|
if oc.Mid <= 0 ||
|
|
oc.Name == "" ||
|
|
oc.Role <= 0 ||
|
|
oc.Title == "" {
|
|
return false
|
|
}
|
|
return true
|
|
}
|