正在显示
13 个修改的文件
包含
56 行增加
和
23 行删除
| @@ -20,6 +20,7 @@ type ServiceContext struct { | @@ -20,6 +20,7 @@ type ServiceContext struct { | ||
| 20 | ArticleCommentRepository domain.ArticleCommentRepository | 20 | ArticleCommentRepository domain.ArticleCommentRepository |
| 21 | ArticleDraftRepository domain.ArticleDraftRepository | 21 | ArticleDraftRepository domain.ArticleDraftRepository |
| 22 | ArticleRepository domain.ArticleRepository | 22 | ArticleRepository domain.ArticleRepository |
| 23 | + ArticleSectionRepository domain.ArticleSectionRepository | ||
| 23 | 24 | ||
| 24 | CompanyRepository domain.CompanyRepository | 25 | CompanyRepository domain.CompanyRepository |
| 25 | CommentRepository domain.CommentRepository // 待移除 | 26 | CommentRepository domain.CommentRepository // 待移除 |
| @@ -47,6 +48,7 @@ func NewServiceContext(c config.Config) *ServiceContext { | @@ -47,6 +48,7 @@ func NewServiceContext(c config.Config) *ServiceContext { | ||
| 47 | ArticleCommentRepository: repository.NewArticleCommentRepository(cache.NewCachedRepository(mlCache)), | 48 | ArticleCommentRepository: repository.NewArticleCommentRepository(cache.NewCachedRepository(mlCache)), |
| 48 | ArticleDraftRepository: repository.NewArticleDraftRepository(cache.NewCachedRepository(mlCache)), | 49 | ArticleDraftRepository: repository.NewArticleDraftRepository(cache.NewCachedRepository(mlCache)), |
| 49 | ArticleRepository: repository.NewArticleRepository(cache.NewCachedRepository(mlCache)), | 50 | ArticleRepository: repository.NewArticleRepository(cache.NewCachedRepository(mlCache)), |
| 51 | + ArticleSectionRepository: repository.NewArticleSectionRepository(cache.NewCachedRepository(mlCache)), | ||
| 50 | CompanyRepository: repository.NewCompanyRepository(cache.NewCachedRepository(mlCache)), | 52 | CompanyRepository: repository.NewCompanyRepository(cache.NewCachedRepository(mlCache)), |
| 51 | DepartmentRepository: repository.NewDepartmentRepository(cache.NewCachedRepository(mlCache)), | 53 | DepartmentRepository: repository.NewDepartmentRepository(cache.NewCachedRepository(mlCache)), |
| 52 | MessageBusinessRepository: repository.NewMessageBusinessRepository(cache.NewCachedRepository(mlCache)), | 54 | MessageBusinessRepository: repository.NewMessageBusinessRepository(cache.NewCachedRepository(mlCache)), |
| 1 | package db | 1 | package db |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/models" | ||
| 4 | "gorm.io/gorm" | 5 | "gorm.io/gorm" |
| 5 | ) | 6 | ) |
| 6 | 7 | ||
| 7 | func Migrate(db *gorm.DB) { | 8 | func Migrate(db *gorm.DB) { |
| 8 | - db.AutoMigrate() | 9 | + modelsList := []interface{}{ |
| 10 | + &models.Article{}, | ||
| 11 | + &models.ArticleSection{}, | ||
| 12 | + &models.ArticleBackup{}, | ||
| 13 | + &models.ArticleDraft{}, | ||
| 14 | + &models.ArticleComment{}, | ||
| 15 | + &models.UserLoveFlag{}, | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + db.AutoMigrate(modelsList...) | ||
| 9 | } | 19 | } |
| @@ -18,16 +18,16 @@ type Article struct { | @@ -18,16 +18,16 @@ type Article struct { | ||
| 18 | IsDel soft_delete.DeletedAt `gorm:"softDelete:flag,DeletedAtField:DeletedAt"` | 18 | IsDel soft_delete.DeletedAt `gorm:"softDelete:flag,DeletedAtField:DeletedAt"` |
| 19 | Version int | 19 | Version int |
| 20 | AuthorId int64 // 发布人 | 20 | AuthorId int64 // 发布人 |
| 21 | - Author domain.UserSimple // 发布人 | 21 | + Author domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 发布人 |
| 22 | Title string // 文章标题 | 22 | Title string // 文章标题 |
| 23 | - Images []domain.Image // 图片 | ||
| 24 | - WhoRead []int64 // 谁可以看 | ||
| 25 | - WhoReview []int64 // 评论人 | ||
| 26 | - Location domain.Location // 坐标 | 23 | + Images []domain.Image `gorm:"type:jsonb;serializer:json"` // 图片 |
| 24 | + WhoRead []int64 `gorm:"type:jsonb;serializer:json"` // 谁可以看 | ||
| 25 | + WhoReview []int64 `gorm:"type:jsonb;serializer:json"` // 评论人 | ||
| 26 | + Location domain.Location `gorm:"type:jsonb;serializer:json"` // 坐标 | ||
| 27 | TargetUser int // 分发方式 0 分发给所有人 1 分发给指定的人 | 27 | TargetUser int // 分发方式 0 分发给所有人 1 分发给指定的人 |
| 28 | CountLove int // 点赞数量 | 28 | CountLove int // 点赞数量 |
| 29 | CountComment int // 评论数量 | 29 | CountComment int // 评论数量 |
| 30 | - Tags []int // 标签 | 30 | + Tags []int `gorm:"type:jsonb;serializer:json"` // 标签 |
| 31 | Show int // 评论的展示状态(0显示、1不显示) | 31 | Show int // 评论的展示状态(0显示、1不显示) |
| 32 | } | 32 | } |
| 33 | 33 |
| @@ -17,14 +17,14 @@ type ArticleBackup struct { | @@ -17,14 +17,14 @@ type ArticleBackup struct { | ||
| 17 | DeletedAt int64 | 17 | DeletedAt int64 |
| 18 | IsDel soft_delete.DeletedAt `gorm:"softDelete:flag,DeletedAtField:DeletedAt"` | 18 | IsDel soft_delete.DeletedAt `gorm:"softDelete:flag,DeletedAtField:DeletedAt"` |
| 19 | Version int | 19 | Version int |
| 20 | - Operator domain.UserSimple // 操作人 | 20 | + Operator domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 操作人 |
| 21 | Title string // 标题 | 21 | Title string // 标题 |
| 22 | - Section []domain.ArticleSection // 分段内容 | ||
| 23 | - Images []domain.Image // 图片 | 22 | + Section []domain.ArticleSection `gorm:"type:jsonb;serializer:json"` // 分段内容 |
| 23 | + Images []domain.Image `gorm:"type:jsonb;serializer:json"` // 图片 | ||
| 24 | Action string // 操作 | 24 | Action string // 操作 |
| 25 | - WhoRead []int64 // 谁可以看 | ||
| 26 | - WhoReview []int64 // 评论人 | ||
| 27 | - Tags []int // 标签 | 25 | + WhoRead []int64 `gorm:"type:jsonb;serializer:json"` // 谁可以看 |
| 26 | + WhoReview []int64 `gorm:"type:jsonb;serializer:json"` // 评论人 | ||
| 27 | + Tags []int `gorm:"type:jsonb;serializer:json"` // 标签 | ||
| 28 | TargetUser int // 分发方式 0 分发给所有人 1 分发给指定的人 | 28 | TargetUser int // 分发方式 0 分发给所有人 1 分发给指定的人 |
| 29 | } | 29 | } |
| 30 | 30 |
| @@ -23,9 +23,9 @@ type ArticleComment struct { | @@ -23,9 +23,9 @@ type ArticleComment struct { | ||
| 23 | ArticleSectionId int64 // 文本内容id | 23 | ArticleSectionId int64 // 文本内容id |
| 24 | SectionContent string // 引用的文章内容文本 | 24 | SectionContent string // 引用的文章内容文本 |
| 25 | FromUserId int64 // 谁填写的评论 | 25 | FromUserId int64 // 谁填写的评论 |
| 26 | - FromUser domain.UserSimple // 谁填写的评论 | 26 | + FromUser domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 谁填写的评论 |
| 27 | ToUserId int64 // 回复谁的评论 | 27 | ToUserId int64 // 回复谁的评论 |
| 28 | - ToUser domain.UserSimple // 回复谁的评论 | 28 | + ToUser domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 回复谁的评论 |
| 29 | Content string // 评论内容 | 29 | Content string // 评论内容 |
| 30 | CountReply int // 回复数量 | 30 | CountReply int // 回复数量 |
| 31 | CountUserLove int // 用户点赞数量 | 31 | CountUserLove int // 用户点赞数量 |
| @@ -17,13 +17,13 @@ type ArticleDraft struct { | @@ -17,13 +17,13 @@ type ArticleDraft struct { | ||
| 17 | DeletedAt int64 | 17 | DeletedAt int64 |
| 18 | Version int | 18 | Version int |
| 19 | Template int // 填写内容时用的样板0、无 1、演绎式 2、归纳式 | 19 | Template int // 填写内容时用的样板0、无 1、演绎式 2、归纳式 |
| 20 | - Content []string // 文章内容 | 20 | + Content []string `gorm:"type:jsonb;serializer:json"` // 文章内容 |
| 21 | AuthorId int64 // 发布人 | 21 | AuthorId int64 // 发布人 |
| 22 | Title string // 文章标题 | 22 | Title string // 文章标题 |
| 23 | - Images []domain.Image // 图片 | ||
| 24 | - WhoRead []int64 // 谁可以看 | ||
| 25 | - WhoReview []int64 // 评论人 | ||
| 26 | - Location domain.Location // 坐标 | 23 | + Images []domain.Image `gorm:"type:jsonb;serializer:json"` // 图片 |
| 24 | + WhoRead []int64 `gorm:"type:jsonb;serializer:json"` // 谁可以看 | ||
| 25 | + WhoReview []int64 `gorm:"type:jsonb;serializer:json"` // 评论人 | ||
| 26 | + Location domain.Location `gorm:"type:jsonb;serializer:json"` // 坐标 | ||
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | func (m *ArticleDraft) TableName() string { | 29 | func (m *ArticleDraft) TableName() string { |
| @@ -68,6 +68,7 @@ type ArticleRepository interface { | @@ -68,6 +68,7 @@ type ArticleRepository interface { | ||
| 68 | Insert(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) | 68 | Insert(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) |
| 69 | Update(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) | 69 | Update(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) |
| 70 | Delete(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) | 70 | Delete(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) |
| 71 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *Article) (*Article, error) | ||
| 71 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*Article, error) | 72 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*Article, error) |
| 72 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*Article, error) | 73 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*Article, error) |
| 73 | } | 74 | } |
| @@ -28,6 +28,7 @@ type ArticleBackup struct { | @@ -28,6 +28,7 @@ type ArticleBackup struct { | ||
| 28 | type ArticleBackupRepository interface { | 28 | type ArticleBackupRepository interface { |
| 29 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) | 29 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) |
| 30 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) | 30 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) |
| 31 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) | ||
| 31 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) | 32 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleBackup) (*ArticleBackup, error) |
| 32 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleBackup, error) | 33 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleBackup, error) |
| 33 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleBackup, error) | 34 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleBackup, error) |
| @@ -42,6 +42,7 @@ const ( | @@ -42,6 +42,7 @@ const ( | ||
| 42 | type ArticleCommentRepository interface { | 42 | type ArticleCommentRepository interface { |
| 43 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) | 43 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) |
| 44 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) | 44 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) |
| 45 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) | ||
| 45 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) | 46 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) |
| 46 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleComment, error) | 47 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleComment, error) |
| 47 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleComment, error) | 48 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleComment, error) |
| @@ -27,6 +27,7 @@ type ArticleDraft struct { | @@ -27,6 +27,7 @@ type ArticleDraft struct { | ||
| 27 | type ArticleDraftRepository interface { | 27 | type ArticleDraftRepository interface { |
| 28 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) | 28 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) |
| 29 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) | 29 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) |
| 30 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) | ||
| 30 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) | 31 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleDraft) (*ArticleDraft, error) |
| 31 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleDraft, error) | 32 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleDraft, error) |
| 32 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleDraft, error) | 33 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleDraft, error) |
| @@ -6,7 +6,7 @@ import ( | @@ -6,7 +6,7 @@ import ( | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" |
| 7 | ) | 7 | ) |
| 8 | 8 | ||
| 9 | -// 文章段落 | 9 | +// 文章段落内容 |
| 10 | type ArticleSection struct { | 10 | type ArticleSection struct { |
| 11 | Id int64 `json:"id"` | 11 | Id int64 `json:"id"` |
| 12 | CompanyId int64 `json:"companyId"` | 12 | CompanyId int64 `json:"companyId"` |
| @@ -23,6 +23,7 @@ type ArticleSection struct { | @@ -23,6 +23,7 @@ type ArticleSection struct { | ||
| 23 | type ArticleSectionRepository interface { | 23 | type ArticleSectionRepository interface { |
| 24 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) | 24 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) |
| 25 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) | 25 | Update(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) |
| 26 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) | ||
| 26 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) | 27 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleSection) (*ArticleSection, error) |
| 27 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleSection, error) | 28 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleSection, error) |
| 28 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleSection, error) | 29 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleSection, error) |
| @@ -6,7 +6,7 @@ import ( | @@ -6,7 +6,7 @@ import ( | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" |
| 7 | ) | 7 | ) |
| 8 | 8 | ||
| 9 | -// 文章的标签 | 9 | +// 文章全部的标签 |
| 10 | 10 | ||
| 11 | type ArticleTag struct { | 11 | type ArticleTag struct { |
| 12 | Id int64 `json:"id"` | 12 | Id int64 `json:"id"` |
| @@ -22,8 +22,9 @@ type ArticleTag struct { | @@ -22,8 +22,9 @@ type ArticleTag struct { | ||
| 22 | } | 22 | } |
| 23 | type ArticleTagRepository interface { | 23 | type ArticleTagRepository interface { |
| 24 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleTag, error) | 24 | Insert(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleTag, error) |
| 25 | - Update(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleSection, error) | 25 | + Update(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleTag, error) |
| 26 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleTag, error) | 26 | Delete(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleTag, error) |
| 27 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *ArticleTag) (*ArticleTag, error) | ||
| 27 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleTag, error) | 28 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*ArticleTag, error) |
| 28 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleTag, error) | 29 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*ArticleTag, error) |
| 29 | } | 30 | } |
| 1 | package domain | 1 | package domain |
| 2 | 2 | ||
| 3 | +import ( | ||
| 4 | + "context" | ||
| 5 | + | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | ||
| 7 | +) | ||
| 8 | + | ||
| 3 | // 人员查看文章详情后,标记一个记录 | 9 | // 人员查看文章详情后,标记一个记录 |
| 4 | // 浏览记录 | 10 | // 浏览记录 |
| 5 | 11 | ||
| @@ -14,3 +20,12 @@ type UserReadArticle struct { | @@ -14,3 +20,12 @@ type UserReadArticle struct { | ||
| 14 | DeletedAt int64 `json:"deletedAt,omitempty"` | 20 | DeletedAt int64 `json:"deletedAt,omitempty"` |
| 15 | Version int `json:"version,omitempty"` | 21 | Version int `json:"version,omitempty"` |
| 16 | } | 22 | } |
| 23 | + | ||
| 24 | +type UserReadArticleRepository interface { | ||
| 25 | + Insert(ctx context.Context, conn transaction.Conn, dm *UserReadArticle) (*UserReadArticle, error) | ||
| 26 | + Update(ctx context.Context, conn transaction.Conn, dm *UserReadArticle) (*UserReadArticle, error) | ||
| 27 | + UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *UserReadArticle) (*UserReadArticle, error) | ||
| 28 | + Delete(ctx context.Context, conn transaction.Conn, dm *UserReadArticle) (*UserReadArticle, error) | ||
| 29 | + FindOne(ctx context.Context, conn transaction.Conn, id int64) (*UserReadArticle, error) | ||
| 30 | + Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*UserReadArticle, error) | ||
| 31 | +} |
-
请 注册 或 登录 后发表评论