正在显示
6 个修改的文件
包含
30 行增加
和
5 行删除
@@ -417,6 +417,7 @@ type ( | @@ -417,6 +417,7 @@ type ( | ||
417 | Tags []int64 `json:"tags,optional"` //标签 | 417 | Tags []int64 `json:"tags,optional"` //标签 |
418 | Page int `json:"page"` //页码 | 418 | Page int `json:"page"` //页码 |
419 | Size int `json:"size"` //每页行数 | 419 | Size int `json:"size"` //每页行数 |
420 | + OrderMode string `json:"orderMode"` //排序方式 | ||
420 | } | 421 | } |
421 | 422 | ||
422 | SystemArticleSearchResponse { | 423 | SystemArticleSearchResponse { |
@@ -39,6 +39,9 @@ func (l *MiniShowHomePageLogic) MiniShowHomePage(req *types.MiniHomePageRequest) | @@ -39,6 +39,9 @@ func (l *MiniShowHomePageLogic) MiniShowHomePage(req *types.MiniHomePageRequest) | ||
39 | if err != nil { | 39 | if err != nil { |
40 | return nil, xerr.NewErrMsgErr("获取文章汇总数量失败", err) | 40 | return nil, xerr.NewErrMsgErr("获取文章汇总数量失败", err) |
41 | } | 41 | } |
42 | + | ||
43 | + //TODO 拆分统计 | ||
44 | + | ||
42 | countDataMap := map[int64]*domain.CountArticleTagRead{} | 45 | countDataMap := map[int64]*domain.CountArticleTagRead{} |
43 | for _, val := range countData { | 46 | for _, val := range countData { |
44 | countDataMap[val.TagId] = val | 47 | countDataMap[val.TagId] = val |
@@ -2,6 +2,7 @@ package article | @@ -2,6 +2,7 @@ package article | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "context" | 4 | "context" |
5 | + | ||
5 | "github.com/samber/lo" | 6 | "github.com/samber/lo" |
6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 8 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
@@ -33,7 +34,9 @@ func (l *SystemSearchArticleLogic) SystemSearchArticle(req *types.SystemArticleS | @@ -33,7 +34,9 @@ func (l *SystemSearchArticleLogic) SystemSearchArticle(req *types.SystemArticleS | ||
33 | WithKV("authorId", req.Author). | 34 | WithKV("authorId", req.Author). |
34 | WithKV("tags", req.Tags). | 35 | WithKV("tags", req.Tags). |
35 | WithKV("beginCreatedAt", req.BeginTime). | 36 | WithKV("beginCreatedAt", req.BeginTime). |
36 | - WithKV("endCreatedAt", req.EndTime) | 37 | + WithKV("endCreatedAt", req.EndTime). |
38 | + WithKV("orderMode", req.OrderMode) | ||
39 | + | ||
37 | total, articles, err := l.svcCtx.ArticleRepository.Find(l.ctx, conn, req.CompanyId, queryOptions) | 40 | total, articles, err := l.svcCtx.ArticleRepository.Find(l.ctx, conn, req.CompanyId, queryOptions) |
38 | if err != nil { | 41 | if err != nil { |
39 | return nil, xerr.NewErrMsgErr("搜索帖子异常", err) | 42 | return nil, xerr.NewErrMsgErr("搜索帖子异常", err) |
@@ -1248,6 +1248,7 @@ type SystemArticleSearchRequest struct { | @@ -1248,6 +1248,7 @@ type SystemArticleSearchRequest struct { | ||
1248 | Tags []int64 `json:"tags,optional"` //标签 | 1248 | Tags []int64 `json:"tags,optional"` //标签 |
1249 | Page int `json:"page"` //页码 | 1249 | Page int `json:"page"` //页码 |
1250 | Size int `json:"size"` //每页行数 | 1250 | Size int `json:"size"` //每页行数 |
1251 | + OrderMode string `json:"orderMode"` //排序方式 | ||
1251 | } | 1252 | } |
1252 | 1253 | ||
1253 | type SystemArticleSearchResponse struct { | 1254 | type SystemArticleSearchResponse struct { |
@@ -121,7 +121,22 @@ func (repository *ArticleRepository) Find(ctx context.Context, conn transaction. | @@ -121,7 +121,22 @@ func (repository *ArticleRepository) Find(ctx context.Context, conn transaction. | ||
121 | total int64 | 121 | total int64 |
122 | ) | 122 | ) |
123 | queryFunc := func() (interface{}, error) { | 123 | queryFunc := func() (interface{}, error) { |
124 | - tx = tx.Model(&ms).Order("id desc").Where("company_id=?", companyId) | 124 | + tx = tx.Model(&ms).Where("company_id=?", companyId) |
125 | + if v, ok := queryOptions["orderMode"]; ok { | ||
126 | + mode := v.(string) | ||
127 | + switch mode { | ||
128 | + case "CountComment ASC": | ||
129 | + tx = tx.Order("count_comment asc") | ||
130 | + case "CountComment DESC": | ||
131 | + tx = tx.Order("count_comment desc") | ||
132 | + case "CountLove ASC": | ||
133 | + tx = tx.Order("count_love asc") | ||
134 | + case "CountLove DESC": | ||
135 | + tx = tx.Order("count_love desc") | ||
136 | + default: | ||
137 | + tx = tx.Order("id desc") | ||
138 | + } | ||
139 | + } | ||
125 | if v, ok := queryOptions["ids"]; ok { | 140 | if v, ok := queryOptions["ids"]; ok { |
126 | tx = tx.Where("id in (?)", v) | 141 | tx = tx.Where("id in (?)", v) |
127 | } | 142 | } |
@@ -3,14 +3,15 @@ package database | @@ -3,14 +3,15 @@ package database | ||
3 | import ( | 3 | import ( |
4 | "context" | 4 | "context" |
5 | "fmt" | 5 | "fmt" |
6 | + "log" | ||
7 | + "os" | ||
8 | + "time" | ||
9 | + | ||
6 | "github.com/zeromicro/go-zero/core/logx" | 10 | "github.com/zeromicro/go-zero/core/logx" |
7 | "gorm.io/driver/mysql" | 11 | "gorm.io/driver/mysql" |
8 | "gorm.io/driver/postgres" | 12 | "gorm.io/driver/postgres" |
9 | "gorm.io/gorm" | 13 | "gorm.io/gorm" |
10 | "gorm.io/gorm/logger" | 14 | "gorm.io/gorm/logger" |
11 | - "log" | ||
12 | - "os" | ||
13 | - "time" | ||
14 | ) | 15 | ) |
15 | 16 | ||
16 | func OpenGormDB(source string) *gorm.DB { | 17 | func OpenGormDB(source string) *gorm.DB { |
@@ -44,6 +45,7 @@ func OpenGormPGDB(source string, logMode string) *gorm.DB { | @@ -44,6 +45,7 @@ func OpenGormPGDB(source string, logMode string) *gorm.DB { | ||
44 | if err != nil { | 45 | if err != nil { |
45 | panic(err) | 46 | panic(err) |
46 | } | 47 | } |
48 | + | ||
47 | return db | 49 | return db |
48 | } | 50 | } |
49 | 51 |
-
请 注册 或 登录 后发表评论