This is an automated email from the ASF dual-hosted git repository.

linkinstar pushed a commit to branch feat/1.3.1/review
in repository https://gitbox.apache.org/repos/asf/incubator-answer.git


The following commit(s) were added to refs/heads/feat/1.3.1/review by this push:
     new 84ec57d2 feat(review): set default review status
84ec57d2 is described below

commit 84ec57d2d63fc0ba4dab74b55dae68e029c1dfe7
Author: LinkinStars <[email protected]>
AuthorDate: Thu Mar 28 17:00:40 2024 +0800

    feat(review): set default review status
---
 internal/controller/answer_controller.go     |  6 +++---
 internal/controller/question_controller.go   | 14 +++++++-------
 internal/schema/answer_schema.go             |  2 ++
 internal/schema/question_schema.go           |  4 ++++
 internal/service/content/answer_service.go   |  4 ++--
 internal/service/content/question_service.go |  4 ++--
 internal/service/review/review_service.go    |  4 ++++
 7 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/internal/controller/answer_controller.go 
b/internal/controller/answer_controller.go
index 4795e0b3..0142c58c 100644
--- a/internal/controller/answer_controller.go
+++ b/internal/controller/answer_controller.go
@@ -260,10 +260,10 @@ func (ac *AnswerController) Add(ctx *gin.Context) {
                }
        }
 
-       ua := ctx.GetHeader("User-Agent")
-       ip := ctx.ClientIP()
+       req.UserAgent = ctx.GetHeader("User-Agent")
+       req.IP = ctx.ClientIP()
 
-       answerID, err := ac.answerService.Insert(ctx, req, ip, ua)
+       answerID, err := ac.answerService.Insert(ctx, req)
        if err != nil {
                handler.HandleResponse(ctx, err, nil)
                return
diff --git a/internal/controller/question_controller.go 
b/internal/controller/question_controller.go
index 7e67766b..1b0dee92 100644
--- a/internal/controller/question_controller.go
+++ b/internal/controller/question_controller.go
@@ -434,10 +434,10 @@ func (qc *QuestionController) AddQuestion(ctx 
*gin.Context) {
                return
        }
 
-       ua := ctx.GetHeader("User-Agent")
-       ip := ctx.ClientIP()
+       req.UserAgent = ctx.GetHeader("User-Agent")
+       req.IP = ctx.ClientIP()
 
-       resp, err := qc.questionService.AddQuestion(ctx, req, ip, ua)
+       resp, err := qc.questionService.AddQuestion(ctx, req)
        if err != nil {
                errlist, ok := resp.([]*validator.FormErrorField)
                if ok {
@@ -529,9 +529,9 @@ func (qc *QuestionController) AddQuestionByAnswer(ctx 
*gin.Context) {
                return
        }
 
-       ua := ctx.GetHeader("User-Agent")
-       ip := ctx.ClientIP()
-       resp, err := qc.questionService.AddQuestion(ctx, questionReq, ip, ua)
+       req.UserAgent = ctx.GetHeader("User-Agent")
+       req.IP = ctx.ClientIP()
+       resp, err := qc.questionService.AddQuestion(ctx, questionReq)
        if err != nil {
                errlist, ok := resp.([]*validator.FormErrorField)
                if ok {
@@ -555,7 +555,7 @@ func (qc *QuestionController) AddQuestionByAnswer(ctx 
*gin.Context) {
                answerReq.UserID = middleware.GetLoginUserIDFromContext(ctx)
                answerReq.Content = req.AnswerContent
                answerReq.HTML = req.AnswerHTML
-               answerID, err := qc.answerService.Insert(ctx, answerReq, ip, ua)
+               answerID, err := qc.answerService.Insert(ctx, answerReq)
                if err != nil {
                        handler.HandleResponse(ctx, err, nil)
                        return
diff --git a/internal/schema/answer_schema.go b/internal/schema/answer_schema.go
index d0c208e6..01bc64a2 100644
--- a/internal/schema/answer_schema.go
+++ b/internal/schema/answer_schema.go
@@ -54,6 +54,8 @@ type AnswerAddReq struct {
        CanRecover  bool   `json:"-"`
        CaptchaID   string `json:"captcha_id"`
        CaptchaCode string `json:"captcha_code"`
+       IP          string `json:"-"`
+       UserAgent   string `json:"-"`
 }
 
 func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err 
error) {
diff --git a/internal/schema/question_schema.go 
b/internal/schema/question_schema.go
index 48fd97c5..f915d5ea 100644
--- a/internal/schema/question_schema.go
+++ b/internal/schema/question_schema.go
@@ -86,6 +86,8 @@ type QuestionAdd struct {
        QuestionPermission
        CaptchaID   string `json:"captcha_id"` // captcha_id
        CaptchaCode string `json:"captcha_code"`
+       IP          string `json:"-"`
+       UserAgent   string `json:"-"`
 }
 
 func (req *QuestionAdd) Check() (errFields []*validator.FormErrorField, err 
error) {
@@ -115,6 +117,8 @@ type QuestionAddByAnswer struct {
        QuestionPermission
        CaptchaID   string `json:"captcha_id"` // captcha_id
        CaptchaCode string `json:"captcha_code"`
+       IP          string `json:"-"`
+       UserAgent   string `json:"-"`
 }
 
 func (req *QuestionAddByAnswer) Check() (errFields 
[]*validator.FormErrorField, err error) {
diff --git a/internal/service/content/answer_service.go 
b/internal/service/content/answer_service.go
index eb4d61d3..667ea8c0 100644
--- a/internal/service/content/answer_service.go
+++ b/internal/service/content/answer_service.go
@@ -216,7 +216,7 @@ func (as *AnswerService) RecoverAnswer(ctx context.Context, 
req *schema.RecoverA
        return nil
 }
 
-func (as *AnswerService) Insert(ctx context.Context, req *schema.AnswerAddReq, 
ip, ua string) (string, error) {
+func (as *AnswerService) Insert(ctx context.Context, req *schema.AnswerAddReq) 
(string, error) {
        questionInfo, exist, err := as.questionRepo.GetQuestion(ctx, 
req.QuestionID)
        if err != nil {
                return "", err
@@ -241,7 +241,7 @@ func (as *AnswerService) Insert(ctx context.Context, req 
*schema.AnswerAddReq, i
        if err = as.answerRepo.AddAnswer(ctx, insertData); err != nil {
                return "", err
        }
-       insertData.Status = as.reviewService.AddAnswerReview(ctx, insertData, 
ip, ua)
+       insertData.Status = as.reviewService.AddAnswerReview(ctx, insertData, 
req.IP, req.UserAgent)
        if err := as.answerRepo.UpdateAnswerStatus(ctx, insertData.ID, 
insertData.Status); err != nil {
                return "", err
        }
diff --git a/internal/service/content/question_service.go 
b/internal/service/content/question_service.go
index 81f674d8..171f67bd 100644
--- a/internal/service/content/question_service.go
+++ b/internal/service/content/question_service.go
@@ -258,7 +258,7 @@ func (qs *QuestionService) HasNewTag(ctx context.Context, 
tags []*schema.TagItem
 }
 
 // AddQuestion add question
-func (qs *QuestionService) AddQuestion(ctx context.Context, req 
*schema.QuestionAdd, ip, ua string) (questionInfo any, err error) {
+func (qs *QuestionService) AddQuestion(ctx context.Context, req 
*schema.QuestionAdd) (questionInfo any, err error) {
        if len(req.Tags) == 0 {
                errorlist := make([]*validator.FormErrorField, 0)
                errorlist = append(errorlist, &validator.FormErrorField{
@@ -327,7 +327,7 @@ func (qs *QuestionService) AddQuestion(ctx context.Context, 
req *schema.Question
        if err != nil {
                return
        }
-       question.Status = qs.reviewService.AddQuestionReview(ctx, question, 
req.Tags, ip, ua)
+       question.Status = qs.reviewService.AddQuestionReview(ctx, question, 
req.Tags, req.IP, req.UserAgent)
        if err := qs.questionRepo.UpdateQuestionStatus(ctx, question.ID, 
question.Status); err != nil {
                return nil, err
        }
diff --git a/internal/service/review/review_service.go 
b/internal/service/review/review_service.go
index 8db95725..ab4079ee 100644
--- a/internal/service/review/review_service.go
+++ b/internal/service/review/review_service.go
@@ -119,6 +119,8 @@ func (cs *ReviewService) AddQuestionReview(ctx 
context.Context,
                questionStatus = entity.QuestionStatusPending
        case plugin.ReviewStatusDeleteDirectly:
                questionStatus = entity.QuestionStatusDeleted
+       default:
+               questionStatus = entity.QuestionStatusAvailable
        }
        return questionStatus
 }
@@ -141,6 +143,8 @@ func (cs *ReviewService) AddAnswerReview(ctx 
context.Context,
                answerStatus = entity.AnswerStatusPending
        case plugin.ReviewStatusDeleteDirectly:
                answerStatus = entity.AnswerStatusDeleted
+       default:
+               answerStatus = entity.AnswerStatusAvailable
        }
        return answerStatus
 }

Reply via email to