106 lines
2.4 KiB
Go
106 lines
2.4 KiB
Go
package user
|
|
|
|
import (
|
|
"SciencesServer/app/api/enterprise/model"
|
|
"SciencesServer/app/basic/controller"
|
|
model2 "SciencesServer/app/common/model"
|
|
"SciencesServer/app/session"
|
|
"SciencesServer/serve/orm"
|
|
"errors"
|
|
"gorm.io/gorm"
|
|
"time"
|
|
)
|
|
|
|
type Patent struct {
|
|
*session.Enterprise
|
|
local string
|
|
}
|
|
|
|
type PatentHandle func(session *session.Enterprise, local string) *Patent
|
|
|
|
type (
|
|
// PatentParams 专利参数信息
|
|
PatentParams struct {
|
|
ID uint64
|
|
Title string
|
|
}
|
|
)
|
|
|
|
func (c *PatentParams) add() error {
|
|
return nil
|
|
}
|
|
|
|
func (c *PatentParams) edit() error {
|
|
return nil
|
|
}
|
|
|
|
func (c *Patent) List(kind int, title, applyCode, openCode, ipcCode string, page, pageSize int) (*controller.ReturnPages, error) {
|
|
return &controller.ReturnPages{
|
|
Data: nil,
|
|
Count: 0,
|
|
}, nil
|
|
}
|
|
|
|
func (c *Patent) Form(params *PatentParams) error {
|
|
if params.ID <= 0 {
|
|
return params.add()
|
|
}
|
|
return params.edit()
|
|
}
|
|
|
|
// Shelf 上下架操作
|
|
func (c *Patent) Shelf(id uint64, status int) error {
|
|
mUserPatent := model.NewUserPatent()
|
|
mUserPatent.ID = id
|
|
|
|
isExist, err := model2.FirstField(mUserPatent.UserPatent, []string{"id", "uid", "patent_id"})
|
|
|
|
if err != nil {
|
|
return err
|
|
} else if !isExist {
|
|
return errors.New("操作错误,用户专利信息不存在或已被删除")
|
|
} else if mUserPatent.UID != c.UID {
|
|
return errors.New("无权限操作")
|
|
}
|
|
mSysPatent := model.NewSysPatent()
|
|
mSysPatent.ID = mUserPatent.PatentID
|
|
|
|
return model2.Updates(mSysPatent.SysPatent, map[string]interface{}{
|
|
"shelf": status, "updated_at": time.Now(),
|
|
})
|
|
}
|
|
|
|
// Delete 删除操作
|
|
func (c *Patent) Delete(id uint64) error {
|
|
mUserPatent := model.NewUserPatent()
|
|
mUserPatent.ID = id
|
|
|
|
isExist, err := model2.FirstField(mUserPatent.UserPatent, []string{"id", "uid", "patent_id"})
|
|
|
|
if err != nil {
|
|
return err
|
|
} else if !isExist {
|
|
return errors.New("操作错误,用户专利信息不存在或已被删除")
|
|
} else if mUserPatent.UID != c.UID {
|
|
return errors.New("无权限操作")
|
|
}
|
|
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
|
if err = model2.Delete(mUserPatent.UserPatent); err != nil {
|
|
return err
|
|
}
|
|
mSysPatent := model.NewSysPatent()
|
|
mSysPatent.ID = mUserPatent.PatentID
|
|
|
|
return model2.Delete(mSysPatent.SysPatent)
|
|
})
|
|
}
|
|
|
|
func NewPatent() PatentHandle {
|
|
return func(session *session.Enterprise, local string) *Patent {
|
|
return &Patent{
|
|
Enterprise: session,
|
|
local: local,
|
|
}
|
|
}
|
|
}
|