feat:优化项目信息

This commit is contained in:
henry
2022-02-08 08:56:28 +08:00
parent a25464289f
commit 252182f089
13 changed files with 67 additions and 138 deletions

View File

@ -175,7 +175,7 @@ func (c *Patent) Form(params *PatentParams) error {
} }
} }
} }
mTechnologyPatent.Kind = model2.SysParentKind(params.Kind) mTechnologyPatent.Kind = model2.TechnologyPatentKind(params.Kind)
mTechnologyPatent.Title = params.Title mTechnologyPatent.Title = params.Title
mTechnologyPatent.FileUrl = params.FileUrl mTechnologyPatent.FileUrl = params.FileUrl
mTechnologyPatent.ApplyCode = params.ApplyCode mTechnologyPatent.ApplyCode = params.ApplyCode
@ -189,7 +189,7 @@ func (c *Patent) Form(params *PatentParams) error {
mTechnologyPatent.PrincipalClaim = params.PrincipalClaim mTechnologyPatent.PrincipalClaim = params.PrincipalClaim
mTechnologyPatent.IPCCode = params.IPCCode mTechnologyPatent.IPCCode = params.IPCCode
mTechnologyPatent.ShelfStatus = model2.ShelfStatusKind(params.ShelfStatus) mTechnologyPatent.ShelfStatus = model2.ShelfStatusKind(params.ShelfStatus)
mTechnologyPatent.Status = model2.SysParentStatus(params.Status) mTechnologyPatent.Status = model2.TechnologyPatentStatus(params.Status)
if mTechnologyPatent.ID > 0 { if mTechnologyPatent.ID > 0 {
return model2.Updates(mTechnologyPatent.TechnologyPatent, mTechnologyPatent.TechnologyPatent) return model2.Updates(mTechnologyPatent.TechnologyPatent, mTechnologyPatent.TechnologyPatent)

View File

@ -1,11 +0,0 @@
package model
import "SciencesServer/app/common/model"
type SysPatentClassify struct {
*model.SysPatentClassify
}
func NewSysPatentClassify() *SysPatentClassify {
return &SysPatentClassify{model.NewSysPatentClassify()}
}

View File

@ -0,0 +1,11 @@
package model
import "SciencesServer/app/common/model"
type TechnologyPatentClassify struct {
*model.TechnologyPatentClassify
}
func NewTechnologyPatentClassify() *TechnologyPatentClassify {
return &TechnologyPatentClassify{model.NewTechnologyPatentClassify()}
}

View File

@ -21,7 +21,7 @@ type (
// PatentInfo 专利信息 // PatentInfo 专利信息
PatentInfo struct { PatentInfo struct {
ID string `json:"id"` ID string `json:"id"`
Kind model2.SysParentKind `json:"kind"` Kind model2.TechnologyPatentKind `json:"kind"`
Title string `json:"title"` Title string `json:"title"`
ApplyName string `json:"apply_name"` ApplyName string `json:"apply_name"`
ApplyCode string `json:"apply_code"` ApplyCode string `json:"apply_code"`
@ -72,7 +72,7 @@ func (c *Patent) List(kind int, title, applyCode, openCode, ipcCode string, page
Where: model2.NewWhereLike("ipc_code", ipcCode), Where: model2.NewWhereLike("ipc_code", ipcCode),
}) })
} }
out := make([]*model2.SysPatent, 0) out := make([]*model2.TechnologyPatent, 0)
var count int64 var count int64

View File

@ -27,12 +27,12 @@ type (
PatentInfo struct { PatentInfo struct {
*sys.PatentInfo *sys.PatentInfo
ShelfStatus model2.ShelfStatusKind ShelfStatus model2.ShelfStatusKind
Status model2.SysParentStatus Status model2.TechnologyPatentStatus
} }
// PatentMatchInfo 专利匹配信息 // PatentMatchInfo 专利匹配信息
PatentMatchInfo struct { PatentMatchInfo struct {
ID string `json:"id"` ID string `json:"id"`
Kind model2.SysParentKind `json:"kind"` Kind model2.TechnologyPatentKind `json:"kind"`
Title string `json:"title"` Title string `json:"title"`
Description string `json:"description"` Description string `json:"description"`
ApplyAt string `json:"apply_at"` ApplyAt string `json:"apply_at"`
@ -67,7 +67,7 @@ func (c *PatentParams) add(tenantID, uid uint64) error {
return errors.New("操作错误,申请号或公开(公告)号已存在") return errors.New("操作错误,申请号或公开(公告)号已存在")
} }
return orm.GetDB().Transaction(func(tx *gorm.DB) error { return orm.GetDB().Transaction(func(tx *gorm.DB) error {
mTechnologyPatent.Kind = model2.SysParentKind(c.Kind) mTechnologyPatent.Kind = model2.TechnologyPatentKind(c.Kind)
mTechnologyPatent.TenantID = tenantID mTechnologyPatent.TenantID = tenantID
mTechnologyPatent.UID = uid mTechnologyPatent.UID = uid
mTechnologyPatent.Title = c.Title mTechnologyPatent.Title = c.Title
@ -82,7 +82,7 @@ func (c *PatentParams) add(tenantID, uid uint64) error {
mTechnologyPatent.Description = c.Description mTechnologyPatent.Description = c.Description
mTechnologyPatent.PrincipalClaim = c.PrincipalClaim mTechnologyPatent.PrincipalClaim = c.PrincipalClaim
mTechnologyPatent.IPCCode = c.IPCCode mTechnologyPatent.IPCCode = c.IPCCode
mTechnologyPatent.Status = model2.SysParentStatus(c.Status) mTechnologyPatent.Status = model2.TechnologyPatentStatus(c.Status)
if err = model2.Create(mTechnologyPatent.TechnologyPatent, tx); err != nil { if err = model2.Create(mTechnologyPatent.TechnologyPatent, tx); err != nil {
return err return err
@ -121,7 +121,7 @@ func (c *PatentParams) edit(uid uint64) error {
return errors.New("操作错误,申请号或公开(公告)号已存在") return errors.New("操作错误,申请号或公开(公告)号已存在")
} }
} }
mTechnologyPatent.Kind = model2.SysParentKind(c.Kind) mTechnologyPatent.Kind = model2.TechnologyPatentKind(c.Kind)
mTechnologyPatent.Title = c.Title mTechnologyPatent.Title = c.Title
mTechnologyPatent.FileUrl = c.FileUrl mTechnologyPatent.FileUrl = c.FileUrl
mTechnologyPatent.ApplyCode = c.ApplyCode mTechnologyPatent.ApplyCode = c.ApplyCode
@ -134,7 +134,7 @@ func (c *PatentParams) edit(uid uint64) error {
mTechnologyPatent.Description = c.Description mTechnologyPatent.Description = c.Description
mTechnologyPatent.PrincipalClaim = c.PrincipalClaim mTechnologyPatent.PrincipalClaim = c.PrincipalClaim
mTechnologyPatent.IPCCode = c.IPCCode mTechnologyPatent.IPCCode = c.IPCCode
mTechnologyPatent.Status = model2.SysParentStatus(c.Status) mTechnologyPatent.Status = model2.TechnologyPatentStatus(c.Status)
return model2.Updates(mTechnologyPatent.TechnologyPatent, mTechnologyPatent.TechnologyPatent) return model2.Updates(mTechnologyPatent.TechnologyPatent, mTechnologyPatent.TechnologyPatent)
} }
@ -218,7 +218,7 @@ func (c *Patent) Match(title string, industrys, keywords []string) (*controller.
} }
mTechnologyPatent := model.NewTechnologyPatent() mTechnologyPatent := model.NewTechnologyPatent()
patents := make([]*model2.SysPatent, 0) patents := make([]*model2.TechnologyPatent, 0)
if err = model2.ScanFields(mTechnologyPatent.TechnologyPatent, &patents, []string{"id", "kind", "title", "description", "apply_at"}, &model2.ModelWhereOrder{ if err = model2.ScanFields(mTechnologyPatent.TechnologyPatent, &patents, []string{"id", "kind", "title", "description", "apply_at"}, &model2.ModelWhereOrder{
Where: model2.NewWhereIn("id", ids), Where: model2.NewWhereIn("id", ids),

View File

@ -13,7 +13,7 @@ type TechnologyPatent struct {
type TechnologyPatentInfo struct { type TechnologyPatentInfo struct {
model.Model model.Model
Kind model.SysParentKind `json:"kind"` Kind model.TechnologyPatentKind `json:"kind"`
Title string `json:"title"` Title string `json:"title"`
Description string `json:"description"` Description string `json:"description"`
ApplyAt string `json:"apply_at"` ApplyAt string `json:"apply_at"`

View File

@ -65,7 +65,7 @@ func (c *Expert) Instance(id uint64) (*ExpertInstanceInfo, error) {
if out.PatentTitle != "" { if out.PatentTitle != "" {
for _, val := range strings.Split(out.PatentTitle, "&&") { for _, val := range strings.Split(out.PatentTitle, "&&") {
objs := strings.Split(val, "$$") objs := strings.Split(val, "$$")
mTechnologyPatent.Kind = model2.SysParentKind(utils.StringToInt(objs[0])) mTechnologyPatent.Kind = model2.TechnologyPatentKind(utils.StringToInt(objs[0]))
patentTitles = append(patentTitles, fmt.Sprintf("【%s】%s", mTechnologyPatent.KindTitle(), objs[1])) patentTitles = append(patentTitles, fmt.Sprintf("【%s】%s", mTechnologyPatent.KindTitle(), objs[1]))
} }
} }

View File

@ -74,7 +74,7 @@ func searchExpert(page, pageSize int, keyword, industry string, params map[strin
if v.PatentTitle != "" { if v.PatentTitle != "" {
for _, val := range strings.Split(v.PatentTitle, "&&") { for _, val := range strings.Split(v.PatentTitle, "&&") {
objs := strings.Split(val, "$$") objs := strings.Split(val, "$$")
mTechnologyPatent.Kind = model2.SysParentKind(utils.StringToInt(objs[0])) mTechnologyPatent.Kind = model2.TechnologyPatentKind(utils.StringToInt(objs[0]))
patentTitles = append(patentTitles, fmt.Sprintf("【%s】%s", mTechnologyPatent.KindTitle(), objs[1])) patentTitles = append(patentTitles, fmt.Sprintf("【%s】%s", mTechnologyPatent.KindTitle(), objs[1]))
} }
} }

View File

@ -11,7 +11,7 @@ type (
// PatentInfo 专利信息 // PatentInfo 专利信息
PatentInfo struct { PatentInfo struct {
ID string `json:"id"` ID string `json:"id"`
Kind model2.SysParentKind `json:"kind"` Kind model2.TechnologyPatentKind `json:"kind"`
Title string `json:"title"` Title string `json:"title"`
ApplyAt string `json:"apply_at"` ApplyAt string `json:"apply_at"`
Description string `json:"description"` Description string `json:"description"`
@ -42,7 +42,7 @@ func searchPatent(page, pageSize int, keyword, industry string, params map[strin
} }
mTechnologyPatent := model.NewTechnologyPatent() mTechnologyPatent := model.NewTechnologyPatent()
patents := make([]*model2.SysPatent, 0) patents := make([]*model2.TechnologyPatent, 0)
if err = model2.ScanFields(mTechnologyPatent.TechnologyPatent, &patents, []string{"id", "kind", "title", "apply_at", "description"}, if err = model2.ScanFields(mTechnologyPatent.TechnologyPatent, &patents, []string{"id", "kind", "title", "apply_at", "description"},
&model2.ModelWhereOrder{Where: model2.NewWhereIn("id", ids)}); err != nil { &model2.ModelWhereOrder{Where: model2.NewWhereIn("id", ids)}); err != nil {

View File

@ -12,7 +12,7 @@ type TechnologyPatent struct {
type TechnologyPatentInfo struct { type TechnologyPatentInfo struct {
model.Model model.Model
Kind model.SysParentKind `json:"kind"` Kind model.TechnologyPatentKind `json:"kind"`
Title string `json:"title"` Title string `json:"title"`
Description string `json:"description"` Description string `json:"description"`
ApplyAt string `json:"apply_at"` ApplyAt string `json:"apply_at"`

View File

@ -61,9 +61,6 @@ func (this *Instance) Handle() {
&synchronized{iModel: model.NewSysConfig(), iValues: func() interface{} { &synchronized{iModel: model.NewSysConfig(), iValues: func() interface{} {
return nil return nil
}}, }},
&synchronized{iModel: model.NewSysPatent(), iValues: func() interface{} {
return nil
}},
&synchronized{iModel: model.NewSysIdentity(), iValues: func() interface{} { &synchronized{iModel: model.NewSysIdentity(), iValues: func() interface{} {
out := make([]*model.SysIdentity, 0) out := make([]*model.SysIdentity, 0)

View File

@ -1,68 +0,0 @@
package model
// SysPatent 专利信息数据模型
type SysPatent struct {
Model
ModelTenant
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
Kind SysParentKind `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 SysParentStatus `gorm:"column:status;type:tinyint(1);default:1;comment:专利状态(1授权2实审3公开)" json:"-"`
ModelDeleted
ModelAt
}
// SysParentKind 专利类型
type SysParentKind int
const (
// SysParentKindForInvent 发明专利
SysParentKindForInvent SysParentKind = iota + 1
// SysParentKindForDesign 外观设计
SysParentKindForDesign
// SysParentKindForNewPractical 实用新型
SysParentKindForNewPractical
)
// SysParentStatus 专利状态
type SysParentStatus int
const (
// SysParentStatusForAuthorize 授权
SysParentStatusForAuthorize SysParentStatus = iota + 1
// SysParentStatusForActualTrial 实审
SysParentStatusForActualTrial
// SysParentStatusForPublic 公开
SysParentStatusForPublic
)
func (m *SysPatent) TableName() string {
return "sys_patent"
}
func (m *SysPatent) KindTitle() string {
if m.Kind == SysParentKindForInvent {
return "发明专利"
} else if m.Kind == SysParentKindForDesign {
return "外观设计"
} else if m.Kind == SysParentKindForNewPractical {
return "实用新型"
}
return "未知"
}
func NewSysPatent() *SysPatent {
return &SysPatent{}
}

View File

@ -5,7 +5,7 @@ type TechnologyPatent struct {
Model Model
ModelTenant ModelTenant
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"` UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
Kind SysParentKind `gorm:"column:kind;index:idx_sys_patent_kind;type:tinyint(1);default:0;comment:专利类型" json:"kind"` 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"` 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"` 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"` ApplyCode string `gorm:"column:apply_code;type:varchar(30);default:'';comment:申请号" json:"apply_code"`
@ -19,7 +19,7 @@ type TechnologyPatent struct {
PrincipalClaim string `gorm:"column:principal_claim;type:text;comment:主权项" json:"principal_claim"` 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"` IPCCode string `gorm:"column:ipc_code;index:idx_sys_patent_ipc_code;type:varchar(30);default:'';comment:IPC主分类号" json:"ipc_code"`
Shelf Shelf
Status SysParentStatus `gorm:"column:status;type:tinyint(1);default:1;comment:专利状态(1授权2实审3公开)" json:"-"` Status TechnologyPatentStatus `gorm:"column:status;type:tinyint(1);default:1;comment:专利状态(1授权2实审3公开)" json:"-"`
ModelDeleted ModelDeleted
ModelAt ModelAt
} }
@ -53,11 +53,11 @@ func (m *TechnologyPatent) TableName() string {
} }
func (m *TechnologyPatent) KindTitle() string { func (m *TechnologyPatent) KindTitle() string {
if m.Kind == SysParentKindForInvent { if m.Kind == TechnologyPatentKindForInvent {
return "发明专利" return "发明专利"
} else if m.Kind == SysParentKindForDesign { } else if m.Kind == TechnologyPatentKindForDesign {
return "外观设计" return "外观设计"
} else if m.Kind == SysParentKindForNewPractical { } else if m.Kind == TechnologyPatentKindForNewPractical {
return "实用新型" return "实用新型"
} }
return "未知" return "未知"