69 lines
3.2 KiB
Go
69 lines
3.2 KiB
Go
package model
|
||
|
||
// TechnologyPatent 专利信息数据模型
|
||
type TechnologyPatent struct {
|
||
Model
|
||
ModelTenant
|
||
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
|
||
Kind TechnologyPatentKind `gorm:"column:kind;index:idx_sys_patent_kind;type:tinyint(1);default:0;comment:专利类型" json:"kind"`
|
||
Title string `gorm:"column:title;type:varchar(100);default:'';comment:名称标题" json:"title"`
|
||
FileUrl string `gorm:"column:file_url;type:varchar(255);default:'';comment:文件地址" json:"file_url"`
|
||
ApplyCode string `gorm:"column:apply_code;type:varchar(30);default:'';comment:申请号" json:"apply_code"`
|
||
ApplyAt string `gorm:"column:apply_at;type:varchar(10);default:'';comment:申请日" json:"apply_at"`
|
||
OpenCode string `gorm:"column:open_code;type:varchar(30);default:'';comment:公开(公告)号" json:"open_code"`
|
||
OpenAt string `gorm:"column:open_at;type:varchar(10);default:'';comment:公开(公告)日" json:"open_at"`
|
||
ApplyName string `gorm:"column:apply_name;type:varchar(255);default:'';comment:申请(专利权)人" json:"apply_name"`
|
||
ApplyAddress string `gorm:"column:apply_address;type:varchar(255);default:'';comment:申请人地址" json:"apply_address"`
|
||
Inventor string `gorm:"column:inventor;type:varchar(255);default:'';comment:发明人" json:"inventor"`
|
||
Description string `gorm:"column:description;type:text;comment:摘要" json:"description"`
|
||
PrincipalClaim string `gorm:"column:principal_claim;type:text;comment:主权项" json:"principal_claim"`
|
||
IPCCode string `gorm:"column:ipc_code;index:idx_sys_patent_ipc_code;type:varchar(30);default:'';comment:IPC主分类号" json:"ipc_code"`
|
||
Shelf
|
||
Status TechnologyPatentStatus `gorm:"column:status;type:tinyint(1);default:1;comment:专利状态(1:授权,2:实审,3:公开)" json:"-"`
|
||
ModelDeleted
|
||
ModelAt
|
||
}
|
||
|
||
// TechnologyPatentKind 专利类型
|
||
type TechnologyPatentKind int
|
||
|
||
const (
|
||
// TechnologyPatentKindForInvent 发明专利
|
||
TechnologyPatentKindForInvent TechnologyPatentKind = iota + 1
|
||
// TechnologyPatentKindForDesign 外观设计
|
||
TechnologyPatentKindForDesign
|
||
// TechnologyPatentKindForNewPractical 实用新型
|
||
TechnologyPatentKindForNewPractical
|
||
)
|
||
|
||
// TechnologyPatentStatus 专利状态
|
||
type TechnologyPatentStatus int
|
||
|
||
const (
|
||
// TechnologyPatentStatusForAuthorize 授权
|
||
TechnologyPatentStatusForAuthorize TechnologyPatentStatus = iota + 1
|
||
// TechnologyPatentStatusForActualTrial 实审
|
||
TechnologyPatentStatusForActualTrial
|
||
// TechnologyPatentStatusForPublic 公开
|
||
TechnologyPatentStatusForPublic
|
||
)
|
||
|
||
func (m *TechnologyPatent) TableName() string {
|
||
return "technology_patent"
|
||
}
|
||
|
||
func (m *TechnologyPatent) KindTitle() string {
|
||
if m.Kind == TechnologyPatentKindForInvent {
|
||
return "发明专利"
|
||
} else if m.Kind == TechnologyPatentKindForDesign {
|
||
return "外观设计"
|
||
} else if m.Kind == TechnologyPatentKindForNewPractical {
|
||
return "实用新型"
|
||
}
|
||
return "未知"
|
||
}
|
||
|
||
func NewTechnologyPatent() *TechnologyPatent {
|
||
return &TechnologyPatent{}
|
||
}
|