...
|
...
|
@@ -2,39 +2,68 @@ package domain |
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
"time"
|
|
|
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction"
|
|
|
)
|
|
|
|
|
|
// 文章
|
|
|
type Article struct {
|
|
|
Id int64 `json:"id"`
|
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
|
DeletedAt *time.Time `json:"deletedAt"`
|
|
|
AuthorId int64 `json:"authorId"` // 发布人
|
|
|
Author UserSimple `json:"author"` // 发布人
|
|
|
Title string `json:"title"` // 文章标题
|
|
|
Images []Image `json:"images"` // 图片
|
|
|
WhoRead []int64 `json:"whoRead"` // 谁可以看
|
|
|
WhoReview []int64 `json:"whoReview"` // 评论人
|
|
|
Location Location `json:"location"` // 坐标
|
|
|
CountLove int `json:"countLove"` // 点赞数量
|
|
|
CountComment int `json:"countComment"` // 评论数量
|
|
|
Tags []int `json:"tags"` // 标签
|
|
|
Show ArticleShow `json:"showState"` // 评论的展示状态(0显示、1不显示)
|
|
|
Id int64 `json:"id"`
|
|
|
CompanyId int64 `json:"companyId"`
|
|
|
CreatedAt int64 `json:"createdAt,omitempty"`
|
|
|
UpdatedAt int64 `json:"updatedAt,omitempty"`
|
|
|
DeletedAt int64 `json:"deletedAt,omitempty"`
|
|
|
Version int `json:"version,omitempty"`
|
|
|
AuthorId int64 `json:"authorId"` // 发布人
|
|
|
Author User `json:"author"` // 发布人
|
|
|
Title string `json:"title"` // 文章标题
|
|
|
Images []Image `json:"images"` // 图片
|
|
|
WhoRead []int64 `json:"whoRead"` // 谁可以看
|
|
|
WhoReview []int64 `json:"whoReview"` // 评论人
|
|
|
Location Location `json:"location"` // 坐标
|
|
|
TargetUser ArticleTarget `json:"targetUser"` // 分发方式 0 分发给所有人 1 分发给指定的人
|
|
|
CountLove int `json:"countLove"` // 点赞数量
|
|
|
CountComment int `json:"countComment"` // 评论数量
|
|
|
Tags []int `json:"tags"` // 标签
|
|
|
Show ArticleShow `json:"showState"` // 评论的展示状态(0显示、1不显示)
|
|
|
// ...more
|
|
|
}
|
|
|
|
|
|
type ArticleTarget int
|
|
|
|
|
|
const (
|
|
|
ArticleTargetAll ArticleTarget = 0 //内容分发给所有人
|
|
|
ArticleTargetLimit ArticleTarget = 1 //分发给指定的人
|
|
|
)
|
|
|
|
|
|
func (a ArticleTarget) Named() string {
|
|
|
switch a {
|
|
|
case ArticleTargetAll:
|
|
|
return "所以人"
|
|
|
case ArticleTargetLimit:
|
|
|
return "指定人"
|
|
|
}
|
|
|
return ""
|
|
|
}
|
|
|
|
|
|
// 文章的展示状态(0显示、1不显示)
|
|
|
type ArticleShow int
|
|
|
|
|
|
const (
|
|
|
ArticleShowEnable CommentShow = 0
|
|
|
ArticleShowDisable CommentShow = 1
|
|
|
ArticleShowEnable ArticleShow = 0
|
|
|
ArticleShowDisable ArticleShow = 1
|
|
|
)
|
|
|
|
|
|
func (a ArticleShow) Named() string {
|
|
|
switch a {
|
|
|
case ArticleShowEnable:
|
|
|
return "显示"
|
|
|
case ArticleShowDisable:
|
|
|
return "隐藏"
|
|
|
}
|
|
|
return ""
|
|
|
}
|
|
|
|
|
|
type ArticleRepository interface {
|
|
|
Insert(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error)
|
|
|
Update(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error)
|
...
|
...
|
|