Create & Init Project...
This commit is contained in:
173
app/admin/main/member/model/official.go
Normal file
173
app/admin/main/member/model/official.go
Normal file
@ -0,0 +1,173 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
xtime "go-common/library/time"
|
||||
)
|
||||
|
||||
// official role const.
|
||||
const (
|
||||
OfficialRoleUnauth = iota
|
||||
OfficialRoleUp
|
||||
OfficialRoleIdentify
|
||||
OfficialRoleBusiness
|
||||
OfficialRoleGov
|
||||
OfficialRoleMedia
|
||||
OfficialRoleOther
|
||||
)
|
||||
|
||||
// OfficialRoleName official role name.
|
||||
func OfficialRoleName(role int8) string {
|
||||
switch role {
|
||||
case OfficialRoleUnauth:
|
||||
return "未认证"
|
||||
case OfficialRoleUp:
|
||||
return "UP主认证"
|
||||
case OfficialRoleIdentify:
|
||||
return "身份认证"
|
||||
case OfficialRoleBusiness:
|
||||
return "企业认证"
|
||||
case OfficialRoleGov:
|
||||
return "政府认证"
|
||||
case OfficialRoleMedia:
|
||||
return "媒体认证"
|
||||
case OfficialRoleOther:
|
||||
return "其他认证"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// official state const.
|
||||
const (
|
||||
OfficialStateWait = iota
|
||||
OfficialStatePass
|
||||
OfficialStateNoPass
|
||||
OfficialStateReWait
|
||||
)
|
||||
|
||||
// OfficialStateName official state name.
|
||||
func OfficialStateName(state int8) string {
|
||||
switch state {
|
||||
case OfficialStateWait:
|
||||
return "待审核"
|
||||
case OfficialStatePass:
|
||||
return "审核通过"
|
||||
case OfficialStateNoPass:
|
||||
return "审核未通过"
|
||||
case OfficialStateReWait:
|
||||
return "待重新审核"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// all
|
||||
var (
|
||||
AllRoles = []int8{
|
||||
OfficialRoleUnauth,
|
||||
OfficialRoleUp,
|
||||
OfficialRoleIdentify,
|
||||
OfficialRoleBusiness,
|
||||
OfficialRoleGov,
|
||||
OfficialRoleMedia,
|
||||
OfficialRoleOther,
|
||||
}
|
||||
AllStates = []int8{
|
||||
OfficialStateWait,
|
||||
OfficialStatePass,
|
||||
OfficialStateNoPass,
|
||||
OfficialStateReWait,
|
||||
}
|
||||
)
|
||||
|
||||
// Official is.
|
||||
type Official struct {
|
||||
ID int64 `json:"id" gorm:"column:id"`
|
||||
Mid int64 `json:"mid" gorm:"column:mid"`
|
||||
Role int8 `json:"role" gorm:"column:role"`
|
||||
Title string `json:"title" gorm:"column:title"`
|
||||
Desc string `json:"desc" gorm:"column:description"`
|
||||
CTime xtime.Time `json:"ctime" gorm:"column:ctime"`
|
||||
MTime xtime.Time `json:"mtime" gorm:"column:mtime"`
|
||||
|
||||
// 后台展示需求,需要查 official doc 对应的昵称
|
||||
Name string `json:"name" gorm:"-"`
|
||||
}
|
||||
|
||||
// OfficialDoc is.
|
||||
type OfficialDoc struct {
|
||||
ID int64 `json:"id" gorm:"column:id"`
|
||||
Mid int64 `json:"mid" gorm:"column:mid"`
|
||||
Name string `json:"name" gorm:"column:name"`
|
||||
State int8 `json:"state" gorm:"column:state"`
|
||||
Role int8 `json:"role" gorm:"column:role"`
|
||||
Title string `json:"title" gorm:"column:title"`
|
||||
Desc string `json:"desc" gorm:"column:description"`
|
||||
Uname string `json:"uname" gorm:"column:uname"`
|
||||
Extra string `json:"-" gorm:"column:extra"`
|
||||
IsInternal bool `json:"is_internal" gorm:"column:is_internal"`
|
||||
RejectReason string `json:"reject_reason" gorm:"column:reject_reason"`
|
||||
SubmitSource string `json:"submit_source" gorm:"column:submit_source"`
|
||||
SubmitTime xtime.Time `json:"submit_time" gorm:"column:submit_time"`
|
||||
CTime xtime.Time `json:"ctime" gorm:"column:ctime"`
|
||||
MTime xtime.Time `json:"mtime" gorm:"column:mtime"`
|
||||
*OfficialExtra `gorm:"-"`
|
||||
}
|
||||
|
||||
// OfficialExtra extra.
|
||||
type OfficialExtra struct {
|
||||
Realname int8 `json:"realname" gorm:"-"`
|
||||
Operator string `json:"operator" gorm:"-"`
|
||||
Telephone string `json:"telephone" gorm:"-"`
|
||||
Email string `json:"email" gorm:"-"`
|
||||
Address string `json:"address" gorm:"-"`
|
||||
Company string `json:"company" gorm:"-"`
|
||||
CreditCode string `json:"credit_code" gorm:"-"` // 社会信用代码
|
||||
Organization string `json:"organization" gorm:"-"` // 政府或组织名称
|
||||
OrganizationType string `json:"organization_type" gorm:"-"` // 政府或机构类型
|
||||
BusinessLicense string `json:"business_license" gorm:"-"` // 企业营业执照
|
||||
BusinessScale string `json:"business_scale" gorm:"-"` // 企业规模
|
||||
BusinessLevel string `json:"business_level" gorm:"-"` // 行政级别
|
||||
BusinessAuth string `json:"business_auth" gorm:"-"` // 企业授权函
|
||||
Supplement string `json:"supplement" gorm:"-"` // 其他补充材料
|
||||
Professional string `json:"professional" gorm:"-"` // 专业资质
|
||||
Identification string `json:"identification" gorm:"-"` // 身份证明
|
||||
OfficalSite string `json:"official_site" gorm:"-"` // 官方站点
|
||||
RegisteredCapital string `json:"registered_capital" gorm:"-"` // 注册资本
|
||||
}
|
||||
|
||||
// OfficialDocAddit .
|
||||
type OfficialDocAddit struct {
|
||||
Mid int64 `json:"mid" gorm:"mid"`
|
||||
Property string `json:"property" gorm:"property"`
|
||||
Vstring string `json:"vstring" gorm:"vstring"`
|
||||
}
|
||||
|
||||
// ParseExtra parse extra.
|
||||
func (oc *OfficialDoc) ParseExtra() {
|
||||
oe := &OfficialExtra{}
|
||||
if len(oc.Extra) > 0 {
|
||||
json.Unmarshal([]byte(oc.Extra), oe)
|
||||
}
|
||||
oc.OfficialExtra = oe
|
||||
}
|
||||
|
||||
// Validate is.
|
||||
func (oc *OfficialDoc) Validate() bool {
|
||||
if oc.Mid <= 0 ||
|
||||
oc.Name == "" ||
|
||||
oc.Role <= 0 ||
|
||||
oc.Title == "" {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// String is
|
||||
func (oe *OfficialExtra) String() string {
|
||||
bs, _ := json.Marshal(oe)
|
||||
if len(bs) == 0 {
|
||||
bs = []byte("{}")
|
||||
}
|
||||
return string(bs)
|
||||
}
|
Reference in New Issue
Block a user