From a923e6f0b4e402bac8e95d4d69fc5cc50c0b1c53 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Wed, 23 Nov 2022 16:52:27 +0800 Subject: [PATCH] GetUnreviewedRevisionList --- cmd/answer/wire_gen.go | 2 +- internal/schema/revision_schema.go | 4 +++ internal/service/revision_service.go | 40 +++++++++++++++++++--------- 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/cmd/answer/wire_gen.go b/cmd/answer/wire_gen.go index 21b1022e..c6bc7999 100644 --- a/cmd/answer/wire_gen.go +++ b/cmd/answer/wire_gen.go @@ -163,7 +163,7 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database, searchRepo := search_common.NewSearchRepo(dataData, uniqueIDRepo, userCommon) searchService := service.NewSearchService(searchParser, searchRepo) searchController := controller.NewSearchController(searchService) - serviceRevisionService := service.NewRevisionService(revisionRepo, userCommon, questionCommon, answerService) + serviceRevisionService := service.NewRevisionService(revisionRepo, userCommon, questionCommon, answerService, objService) revisionController := controller.NewRevisionController(serviceRevisionService) rankController := controller.NewRankController(rankService) commonRepo := common.NewCommonRepo(dataData, uniqueIDRepo) diff --git a/internal/schema/revision_schema.go b/internal/schema/revision_schema.go index 09ed274b..2bda608c 100644 --- a/internal/schema/revision_schema.go +++ b/internal/schema/revision_schema.go @@ -30,6 +30,10 @@ type RevisionSearch struct { Page int `json:"page" form:"page"` // Query number of pages } +type GetUnreviewedRevisionResp struct { + Type string `json:"type"` +} + // GetRevisionResp get revision response type GetRevisionResp struct { // id diff --git a/internal/service/revision_service.go b/internal/service/revision_service.go index 0102d761..64e2d9bf 100644 --- a/internal/service/revision_service.go +++ b/internal/service/revision_service.go @@ -7,6 +7,7 @@ import ( "github.com/answerdev/answer/internal/base/constant" "github.com/answerdev/answer/internal/entity" "github.com/answerdev/answer/internal/schema" + "github.com/answerdev/answer/internal/service/object_info" questioncommon "github.com/answerdev/answer/internal/service/question_common" "github.com/answerdev/answer/internal/service/revision" usercommon "github.com/answerdev/answer/internal/service/user_common" @@ -16,33 +17,46 @@ import ( // RevisionService user service type RevisionService struct { - revisionRepo revision.RevisionRepo - userCommon *usercommon.UserCommon - questionCommon *questioncommon.QuestionCommon - answerService *AnswerService + revisionRepo revision.RevisionRepo + userCommon *usercommon.UserCommon + questionCommon *questioncommon.QuestionCommon + answerService *AnswerService + objectInfoService *object_info.ObjService } func NewRevisionService( revisionRepo revision.RevisionRepo, userCommon *usercommon.UserCommon, questionCommon *questioncommon.QuestionCommon, - answerService *AnswerService) *RevisionService { + answerService *AnswerService, + objectInfoService *object_info.ObjService, +) *RevisionService { return &RevisionService{ - revisionRepo: revisionRepo, - userCommon: userCommon, - questionCommon: questionCommon, - answerService: answerService, + revisionRepo: revisionRepo, + userCommon: userCommon, + questionCommon: questionCommon, + answerService: answerService, + objectInfoService: objectInfoService, } } // SearchUnreviewedList get unreviewed list -func (rs *RevisionService) GetUnreviewedRevisionList(ctx context.Context, req *schema.RevisionSearch) (resp []schema.GetRevisionResp, count int64, err error) { - resp = []schema.GetRevisionResp{} +func (rs *RevisionService) GetUnreviewedRevisionList(ctx context.Context, req *schema.RevisionSearch) (resp []*schema.GetUnreviewedRevisionResp, count int64, err error) { + resp = []*schema.GetUnreviewedRevisionResp{} search := &entity.RevisionSearch{} _ = copier.Copy(search, req) list, count, err := rs.revisionRepo.SearchUnreviewedList(ctx, search) - for _, item := range list { - spew.Dump(item) + for _, revision := range list { + spew.Dump(revision) + item := &schema.GetUnreviewedRevisionResp{} + _, ok := constant.ObjectTypeNumberMapping[revision.ObjectType] + if !ok { + continue + } + item.Type = constant.ObjectTypeNumberMapping[revision.ObjectType] + info, err := rs.objectInfoService.GetInfo(ctx, revision.ObjectID) + spew.Dump(info, err) + resp = append(resp, item) } return