78 lines
2.6 KiB
Go
78 lines
2.6 KiB
Go
package model
|
||
|
||
import (
|
||
"SciencesServer/utils"
|
||
"fmt"
|
||
"strings"
|
||
)
|
||
|
||
// UserCooperateEnterprise 用户企业数据模型管理
|
||
type UserCooperateEnterprise struct {
|
||
Model
|
||
Local
|
||
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
|
||
Mode UserCooperateEnterpriseMode `gorm:"column:mode;type:int;default:0;comment:合作模式(1:已合作,2:想合作)" json:"mode"`
|
||
Title string `gorm:"column:title;type:varchar(30);default:'';comment:企业名称" json:"title"`
|
||
Name string `gorm:"column:name;type:varchar(50);default:'';comment:企业联系人" json:"name"`
|
||
Mobile string `gorm:"column:mobile;type:varchar(15);default:'';comment:企业联系方式" json:"mobile"`
|
||
Paper string `gorm:"column:paper;type:varchar(255);default:'';comment:论文信息" json:"-"`
|
||
Patent string `gorm:"column:patent;type:varchar(255);default:'';comment:专利信息" json:"-"`
|
||
Content string `gorm:"column:content;type:varchar(255);default:'';comment:合作内容" json:"content"`
|
||
ModelDeleted
|
||
ModelAt
|
||
}
|
||
|
||
// UserCooperateEnterpriseMode 用户企业合作模式
|
||
type UserCooperateEnterpriseMode int
|
||
|
||
const (
|
||
// UserCooperateEnterpriseModeForCooperateAlready 已合作
|
||
UserCooperateEnterpriseModeForCooperateAlready UserCooperateEnterpriseMode = iota + 1
|
||
// UserCooperateEnterpriseModeForCooperateToWant 想合作
|
||
UserCooperateEnterpriseModeForCooperateToWant
|
||
)
|
||
|
||
func (m *UserCooperateEnterprise) TableName() string {
|
||
return "user_cooperate_enterprise"
|
||
}
|
||
|
||
func (m *UserCooperateEnterprise) GetPaperAttribute() []string {
|
||
out := make([]string, 0)
|
||
|
||
for _, v := range strings.Split(m.Paper, ",") {
|
||
out = append(out, (&Model{ID: utils.StringToUnit64(v)}).GetEncodeID())
|
||
}
|
||
return out
|
||
}
|
||
|
||
func (m *UserCooperateEnterprise) SetPaperAttribute(value []uint64) {
|
||
out := make([]string, 0)
|
||
|
||
for _, v := range value {
|
||
out = append(out, fmt.Sprintf("%d", v))
|
||
}
|
||
m.Paper = strings.Join(out, ",")
|
||
}
|
||
|
||
func (m *UserCooperateEnterprise) GetPatentAttribute() []string {
|
||
out := make([]string, 0)
|
||
|
||
for _, v := range strings.Split(m.Patent, ",") {
|
||
out = append(out, (&Model{ID: utils.StringToUnit64(v)}).GetEncodeID())
|
||
}
|
||
return out
|
||
}
|
||
|
||
func (m *UserCooperateEnterprise) SetPatentAttribute(value []uint64) {
|
||
out := make([]string, 0)
|
||
|
||
for _, v := range value {
|
||
out = append(out, fmt.Sprintf("%d", v))
|
||
}
|
||
m.Patent = strings.Join(out, ",")
|
||
}
|
||
|
||
func NewUserCooperateEnterprise() *UserCooperateEnterprise {
|
||
return &UserCooperateEnterprise{}
|
||
}
|