Skip to content

Commit 9337f69

Browse files
committed
fix(question): remove delete question on similar questions
1 parent c68eff2 commit 9337f69

5 files changed

Lines changed: 27 additions & 20 deletions

File tree

internal/controller/question_controller.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -686,20 +686,19 @@ func (qc *QuestionController) UpdateQuestionInviteUser(ctx *gin.Context) {
686686
handler.HandleResponse(ctx, nil, nil)
687687
}
688688

689-
// SearchByTitleLike add question title like
690-
// @Summary add question title like
691-
// @Description add question title like
689+
// GetSimilarQuestions fuzzy query similar questions based on title
690+
// @Summary fuzzy query similar questions based on title
691+
// @Description fuzzy query similar questions based on title
692692
// @Tags Question
693693
// @Accept json
694694
// @Produce json
695695
// @Security ApiKeyAuth
696696
// @Param title query string true "title" default(string)
697697
// @Success 200 {object} handler.RespBody
698698
// @Router /answer/api/v1/question/similar [get]
699-
func (qc *QuestionController) SearchByTitleLike(ctx *gin.Context) {
699+
func (qc *QuestionController) GetSimilarQuestions(ctx *gin.Context) {
700700
title := ctx.Query("title")
701-
userID := middleware.GetLoginUserIDFromContext(ctx)
702-
resp, err := qc.questionService.SearchByTitleLike(ctx, title, userID)
701+
resp, err := qc.questionService.GetQuestionsByTitle(ctx, title)
703702
handler.HandleResponse(ctx, err, resp)
704703
}
705704

internal/repo/question/question_repo.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,15 @@ func (qr *questionRepo) GetQuestion(ctx context.Context, id string) (
186186
return
187187
}
188188

189-
// GetTagBySlugName get tag by slug name
190-
func (qr *questionRepo) SearchByTitleLike(ctx context.Context, title string) (questionList []*entity.Question, err error) {
189+
// GetQuestionsByTitle get question list by title
190+
func (qr *questionRepo) GetQuestionsByTitle(ctx context.Context, title string, pageSize int) (
191+
questionList []*entity.Question, err error) {
191192
questionList = make([]*entity.Question, 0)
192-
err = qr.data.DB.Context(ctx).Table("question").Where("title like ?", "%"+title+"%").Limit(10, 0).Find(&questionList)
193+
session := qr.data.DB.Context(ctx)
194+
session.Where("status != ?", entity.QuestionStatusDeleted)
195+
session.Where("title like ?", "%"+title+"%")
196+
session.Limit(pageSize)
197+
err = session.Find(&questionList)
193198
if err != nil {
194199
return nil, errors.InternalServer(reason.DatabaseError).WithError(err).WithStack()
195200
}

internal/router/answer_api_router.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ func (a *AnswerAPIRouter) RegisterAnswerAPIRouter(r *gin.RouterGroup) {
203203
r.PUT("/question/status", a.questionController.CloseQuestion)
204204
r.PUT("/question/operation", a.questionController.OperationQuestion)
205205
r.PUT("/question/reopen", a.questionController.ReopenQuestion)
206-
r.GET("/question/similar", a.questionController.SearchByTitleLike)
206+
r.GET("/question/similar", a.questionController.GetSimilarQuestions)
207207

208208
// answer
209209
r.POST("/answer", a.answerController.Add)

internal/service/question_common/question.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ type QuestionRepo interface {
4040
UpdateQuestionStatus(ctx context.Context, question *entity.Question) (err error)
4141
UpdateQuestionStatusWithOutUpdateTime(ctx context.Context, question *entity.Question) (err error)
4242
UpdateQuestionOperation(ctx context.Context, question *entity.Question) (err error)
43-
SearchByTitleLike(ctx context.Context, title string) (questionList []*entity.Question, err error)
43+
GetQuestionsByTitle(ctx context.Context, title string, pageSize int) (questionList []*entity.Question, err error)
4444
UpdatePvCount(ctx context.Context, questionID string) (err error)
4545
UpdateAnswerCount(ctx context.Context, questionID string, num int) (err error)
4646
UpdateCollectionCount(ctx context.Context, questionID string, num int) (err error)

internal/service/question_service.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,14 +1103,18 @@ func (qs *QuestionService) SearchUserTopList(ctx context.Context, userName strin
11031103
return userQuestionlist, userAnswerlist, nil
11041104
}
11051105

1106-
// SearchByTitleLike
1107-
func (qs *QuestionService) SearchByTitleLike(ctx context.Context, title string, loginUserID string) ([]*schema.QuestionBaseInfo, error) {
1108-
list := make([]*schema.QuestionBaseInfo, 0)
1109-
dblist, err := qs.questionRepo.SearchByTitleLike(ctx, title)
1106+
// GetQuestionsByTitle get questions by title
1107+
func (qs *QuestionService) GetQuestionsByTitle(ctx context.Context, title string) (
1108+
resp []*schema.QuestionBaseInfo, err error) {
1109+
resp = make([]*schema.QuestionBaseInfo, 0)
1110+
if len(title) == 0 {
1111+
return resp, nil
1112+
}
1113+
questions, err := qs.questionRepo.GetQuestionsByTitle(ctx, title, 10)
11101114
if err != nil {
1111-
return list, err
1115+
return resp, err
11121116
}
1113-
for _, question := range dblist {
1117+
for _, question := range questions {
11141118
item := &schema.QuestionBaseInfo{}
11151119
item.ID = question.ID
11161120
item.Title = question.Title
@@ -1125,10 +1129,9 @@ func (qs *QuestionService) SearchByTitleLike(ctx context.Context, title string,
11251129
if question.AcceptedAnswerID != "0" {
11261130
item.AcceptedAnswer = true
11271131
}
1128-
list = append(list, item)
1132+
resp = append(resp, item)
11291133
}
1130-
1131-
return list, nil
1134+
return resp, nil
11321135
}
11331136

11341137
// SimilarQuestion

0 commit comments

Comments
 (0)