@@ -275,7 +275,40 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte
275275}
276276
277277func (e ExptInsightAnalysisServiceImpl ) ListAnalysisRecord (ctx context.Context , spaceID , exptID int64 , page entity.Page , session * entity.Session ) ([]* entity.ExptInsightAnalysisRecord , int64 , error ) {
278- return e .repo .ListAnalysisRecord (ctx , spaceID , exptID , page )
278+ analysisRecords , total , err := e .repo .ListAnalysisRecord (ctx , spaceID , exptID , page )
279+ if err != nil {
280+ return nil , 0 , err
281+ }
282+ if total == 0 {
283+ return analysisRecords , total , nil
284+ }
285+
286+ firstAnalysisRecord := analysisRecords [0 ]
287+
288+ upvoteCount , downvoteCount , err := e .repo .CountFeedbackVote (ctx , spaceID , exptID , firstAnalysisRecord .ID )
289+ if err != nil {
290+ // side path, don't block the main flow
291+ logs .CtxWarn (ctx , "CountFeedbackVote failed for space_id: %v, expt_id: %v, record_id: %v, err=%v" , spaceID , exptID , firstAnalysisRecord .ID , err )
292+ return analysisRecords , total , nil
293+ }
294+
295+ curUserFeedbackVote , err := e .repo .GetFeedbackVoteByUser (ctx , spaceID , exptID , firstAnalysisRecord .ID , session .UserID )
296+ if err != nil {
297+ // side path, don't block the main flow
298+ logs .CtxWarn (ctx , "GetFeedbackVoteByUser failed for space_id: %v, expt_id: %v, record_id: %v, err=%v" , spaceID , exptID , firstAnalysisRecord .ID , err )
299+ return analysisRecords , total , nil
300+ }
301+ firstAnalysisRecord .ExptInsightAnalysisFeedback = entity.ExptInsightAnalysisFeedback {
302+ UpvoteCount : upvoteCount ,
303+ DownvoteCount : downvoteCount ,
304+ CurrentUserVoteType : entity .None ,
305+ }
306+ firstAnalysisRecord .ExptInsightAnalysisFeedback .CurrentUserVoteType = entity .None
307+ if curUserFeedbackVote != nil {
308+ firstAnalysisRecord .ExptInsightAnalysisFeedback .CurrentUserVoteType = curUserFeedbackVote .VoteType
309+ }
310+
311+ return analysisRecords , total , nil
279312}
280313
281314func (e ExptInsightAnalysisServiceImpl ) DeleteAnalysisRecord (ctx context.Context , spaceID , exptID , recordID int64 ) error {
0 commit comments