Files
go-common/app/service/main/member/model/official.go
2019-04-22 18:49:16 +08:00

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
}