fix question tags search

This commit is contained in:
aichy126 2022-10-27 10:41:57 +08:00
parent 4bbe327e96
commit c3b096edc5
5 changed files with 25 additions and 28 deletions

View File

@ -4961,12 +4961,9 @@ const docTemplate = `{
"description": "Search page size",
"type": "integer"
},
"tags": {
"description": "Search tag",
"type": "array",
"items": {
"type": "string"
}
"tag": {
"description": "Tags []string ` + "`" + `json:\"tags\" form:\"tags\"` + "`" + ` //Search tag",
"type": "string"
},
"username": {
"description": "Search username",

View File

@ -4949,12 +4949,9 @@
"description": "Search page size",
"type": "integer"
},
"tags": {
"description": "Search tag",
"type": "array",
"items": {
"type": "string"
}
"tag": {
"description": "Tags []string `json:\"tags\" form:\"tags\"` //Search tag",
"type": "string"
},
"username": {
"description": "Search username",

View File

@ -762,11 +762,10 @@ definitions:
page_size:
description: Search page size
type: integer
tags:
description: Search tag
items:
type: string
type: array
tag:
description: Tags []string `json:"tags" form:"tags"` //Search
tag
type: string
username:
description: Search username
type: string

View File

@ -156,12 +156,13 @@ type UserQuestionInfo struct {
}
type QuestionSearch struct {
Page int `json:"page" form:"page"` //Query number of pages
PageSize int `json:"page_size" form:"page_size"` //Search page size
Order string `json:"order" form:"order"` //Search order by
Tags []string `json:"tags" form:"tags"` //Search tag
TagIDs []string `json:"-" form:"-"` //Search tag
UserName string `json:"username" form:"username"` //Search username
Page int `json:"page" form:"page"` //Query number of pages
PageSize int `json:"page_size" form:"page_size"` //Search page size
Order string `json:"order" form:"order"` //Search order by
//Tags []string `json:"tags" form:"tags"` //Search tag
Tag string `json:"tag" form:"tag"` //Search tag
TagIDs []string `json:"-" form:"-"` //Search tag
UserName string `json:"username" form:"username"` //Search username
UserID string `json:"-" form:"-"`
}

View File

@ -481,20 +481,23 @@ func (qs *QuestionService) SimilarQuestion(ctx context.Context, questionID strin
search.Order = "frequent"
search.Page = 0
search.PageSize = 6
search.Tags = tagNames
if len(tagNames) > 0 {
search.Tag = tagNames[0]
}
return qs.SearchList(ctx, search, loginUserID)
}
// SearchList
func (qs *QuestionService) SearchList(ctx context.Context, req *schema.QuestionSearch, loginUserID string) ([]*schema.QuestionInfo, int64, error) {
if len(req.Tags) > 0 {
taginfo, err := qs.tagCommon.GetTagListByNames(ctx, req.Tags)
if len(req.Tag) > 0 {
taginfo, has, err := qs.tagCommon.GetTagListByName(ctx, req.Tag)
if err != nil {
log.Error("tagCommon.GetTagListByNames error", err)
}
for _, tag := range taginfo {
req.TagIDs = append(req.TagIDs, tag.ID)
if has {
req.TagIDs = append(req.TagIDs, taginfo.ID)
}
}
list := make([]*schema.QuestionInfo, 0)
if req.UserName != "" {