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{} }