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.FileUrl = params.FileUrl
mTechnologyPatent.ApplyCode = params.ApplyCode
@ -189,7 +189,7 @@ func (c *Patent) Form(params *PatentParams) error {
mTechnologyPatent.PrincipalClaim = params.PrincipalClaim
mTechnologyPatent.IPCCode = params.IPCCode
mTechnologyPatent.ShelfStatus = model2.ShelfStatusKind(params.ShelfStatus)
mTechnologyPatent.Status = model2.SysParentStatus(params.Status)
mTechnologyPatent.Status = model2.TechnologyPatentStatus(params.Status)
if mTechnologyPatent.ID > 0 {
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

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

View File

@ -27,15 +27,15 @@ type (
PatentInfo struct {
*sys.PatentInfo
ShelfStatus model2.ShelfStatusKind
Status model2.SysParentStatus
Status model2.TechnologyPatentStatus
}
// PatentMatchInfo 专利匹配信息
PatentMatchInfo struct {
ID string `json:"id"`
Kind model2.SysParentKind `json:"kind"`
Title string `json:"title"`
Description string `json:"description"`
ApplyAt string `json:"apply_at"`
ID string `json:"id"`
Kind model2.TechnologyPatentKind `json:"kind"`
Title string `json:"title"`
Description string `json:"description"`
ApplyAt string `json:"apply_at"`
}
// PatentDetailInfo 专利详细信息
PatentDetailInfo struct {
@ -67,7 +67,7 @@ func (c *PatentParams) add(tenantID, uid uint64) error {
return errors.New("操作错误,申请号或公开(公告)号已存在")
}
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.UID = uid
mTechnologyPatent.Title = c.Title
@ -82,7 +82,7 @@ func (c *PatentParams) add(tenantID, uid uint64) error {
mTechnologyPatent.Description = c.Description
mTechnologyPatent.PrincipalClaim = c.PrincipalClaim
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 {
return err
@ -121,7 +121,7 @@ func (c *PatentParams) edit(uid uint64) error {
return errors.New("操作错误,申请号或公开(公告)号已存在")
}
}
mTechnologyPatent.Kind = model2.SysParentKind(c.Kind)
mTechnologyPatent.Kind = model2.TechnologyPatentKind(c.Kind)
mTechnologyPatent.Title = c.Title
mTechnologyPatent.FileUrl = c.FileUrl
mTechnologyPatent.ApplyCode = c.ApplyCode
@ -134,7 +134,7 @@ func (c *PatentParams) edit(uid uint64) error {
mTechnologyPatent.Description = c.Description
mTechnologyPatent.PrincipalClaim = c.PrincipalClaim
mTechnologyPatent.IPCCode = c.IPCCode
mTechnologyPatent.Status = model2.SysParentStatus(c.Status)
mTechnologyPatent.Status = model2.TechnologyPatentStatus(c.Status)
return model2.Updates(mTechnologyPatent.TechnologyPatent, mTechnologyPatent.TechnologyPatent)
}
@ -218,7 +218,7 @@ func (c *Patent) Match(title string, industrys, keywords []string) (*controller.
}
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{
Where: model2.NewWhereIn("id", ids),

View File

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

View File

@ -65,7 +65,7 @@ func (c *Expert) Instance(id uint64) (*ExpertInstanceInfo, error) {
if out.PatentTitle != "" {
for _, val := range strings.Split(out.PatentTitle, "&&") {
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]))
}
}

View File

@ -74,7 +74,7 @@ func searchExpert(page, pageSize int, keyword, industry string, params map[strin
if v.PatentTitle != "" {
for _, val := range strings.Split(v.PatentTitle, "&&") {
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]))
}
}

View File

@ -10,11 +10,11 @@ import (
type (
// PatentInfo 专利信息
PatentInfo struct {
ID string `json:"id"`
Kind model2.SysParentKind `json:"kind"`
Title string `json:"title"`
ApplyAt string `json:"apply_at"`
Description string `json:"description"`
ID string `json:"id"`
Kind model2.TechnologyPatentKind `json:"kind"`
Title string `json:"title"`
ApplyAt string `json:"apply_at"`
Description string `json:"description"`
}
)
@ -42,7 +42,7 @@ func searchPatent(page, pageSize int, keyword, industry string, params map[strin
}
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"},
&model2.ModelWhereOrder{Where: model2.NewWhereIn("id", ids)}); err != nil {

View File

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

View File

@ -61,9 +61,6 @@ func (this *Instance) Handle() {
&synchronized{iModel: model.NewSysConfig(), iValues: func() interface{} {
return nil
}},
&synchronized{iModel: model.NewSysPatent(), iValues: func() interface{} {
return nil
}},
&synchronized{iModel: model.NewSysIdentity(), iValues: func() interface{} {
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

@ -4,22 +4,22 @@ package model
type TechnologyPatent 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"`
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 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
ModelAt
}
@ -53,11 +53,11 @@ func (m *TechnologyPatent) TableName() string {
}
func (m *TechnologyPatent) KindTitle() string {
if m.Kind == SysParentKindForInvent {
if m.Kind == TechnologyPatentKindForInvent {
return "发明专利"
} else if m.Kind == SysParentKindForDesign {
} else if m.Kind == TechnologyPatentKindForDesign {
return "外观设计"
} else if m.Kind == SysParentKindForNewPractical {
} else if m.Kind == TechnologyPatentKindForNewPractical {
return "实用新型"
}
return "未知"