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.
93 lines
2.7 KiB
93 lines
2.7 KiB
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 |
|
}
|
|
|