|
|
package models
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
"time"
|
|
|
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain"
|
|
|
"gorm.io/gorm"
|
|
|
"gorm.io/plugin/soft_delete"
|
|
|
)
|
|
|
|
|
|
type ArticleTag struct {
|
|
|
Id int64 `gorm:"primaryKey"` // 唯一标识
|
|
|
CompanyId int64
|
|
|
CreatedAt int64
|
|
|
UpdatedAt int64
|
|
|
DeletedAt int64
|
|
|
IsDel soft_delete.DeletedAt `gorm:"softDelete:flag,DeletedAtField:DeletedAt"`
|
|
|
Version int
|
|
|
Image domain.Image `gorm:"type:jsonb;serializer:json"` // 图片
|
|
|
Name string // 标签名称
|
|
|
Group string // 标签分类
|
|
|
Remark string // 备注
|
|
|
}
|
|
|
|
|
|
func (m *ArticleTag) TableName() string {
|
|
|
return "article_tag"
|
|
|
}
|
|
|
|
|
|
func (m *ArticleTag) BeforeCreate(tx *gorm.DB) (err error) {
|
|
|
m.CreatedAt = time.Now().Unix()
|
|
|
m.UpdatedAt = time.Now().Unix()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func (m *ArticleTag) BeforeUpdate(tx *gorm.DB) (err error) {
|
|
|
m.UpdatedAt = time.Now().Unix()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func (m *ArticleTag) CacheKeyFunc() string {
|
|
|
if m.Id == 0 {
|
|
|
return ""
|
|
|
}
|
|
|
return fmt.Sprintf("%v:cache:%v:id:%v", domain.ProjectName, m.TableName(), m.Id)
|
|
|
}
|
|
|
|
|
|
func (m *ArticleTag) CacheKeyFuncByObject(obj interface{}) string {
|
|
|
if v, ok := obj.(*ArticleTag); ok {
|
|
|
return v.CacheKeyFunc()
|
|
|
}
|
|
|
return ""
|
|
|
}
|
|
|
|
|
|
func (m *ArticleTag) CachePrimaryKeyFunc() string {
|
|
|
if len("") == 0 {
|
|
|
return ""
|
|
|
}
|
|
|
return fmt.Sprintf("%v:cache:%v:primarykey:%v", domain.ProjectName, m.TableName(), "key")
|
|
|
} |
...
|
...
|
|