From 1a9570ec8efe8281da90fffb7baab206414b41a3 Mon Sep 17 00:00:00 2001 From: shenjiachi Date: Fri, 6 Dec 2024 15:18:58 +0800 Subject: [PATCH] update --- app/svc/svc_points_center.go | 51 +++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/app/svc/svc_points_center.go b/app/svc/svc_points_center.go index 7080d42..6ca2cea 100644 --- a/app/svc/svc_points_center.go +++ b/app/svc/svc_points_center.go @@ -38,14 +38,21 @@ func GetEggPointRecordBase(now time.Time, uid int64, page int, limit int) ([]md. } // 3. 获取最老有效索引及年份周数 oldestIndex := aliasName + "_" + "999999" + newestIndex := aliasName + "_" + "000000" for key, _ := range aliases.Indices { if key < oldestIndex { oldestIndex = key } + if key > newestIndex { + newestIndex = key + } } oldestYearStr, oldestWeekStr := GetYearsAndWeekStr(oldestIndex) oldestYear := utils.StrToInt(oldestYearStr) oldestWeek := utils.StrToInt(oldestWeekStr) + newestYearStr, newestWeekStr := GetYearsAndWeekStr(newestIndex) + newestYear := utils.StrToInt(newestYearStr) + newestWeek := utils.StrToInt(newestWeekStr) // 4. 获取当期有效蛋蛋分 nowIndex := md2.EggEnergyUserEggScoreEsAlias + "_" + es2.GetLatestEffectiveIndexFromAlias(now) @@ -56,25 +63,26 @@ func GetEggPointRecordBase(now time.Time, uid int64, page int, limit int) ([]md. Query(boolQuery). Pretty(true). Do(context.Background()) - if searchResult == nil { - return nil, "", 0, errors.New("failed to get current egg score") - } - var results []md.UserEggFlowReqRespList - if searchResult.Hits.TotalHits.Value != 0 { - // 解析结果 - for _, hit := range searchResult.Hits.Hits { - var doc md.UserEggFlowReqRespList - err = json.Unmarshal(hit.Source, &doc) - if err != nil { - return nil, "", 0, errors.New("failed to unmarshal") + var nowScore string + if searchResult != nil { + var results []md.UserEggFlowReqRespList + if searchResult.Hits.TotalHits.Value != 0 { + // 解析结果 + for _, hit := range searchResult.Hits.Hits { + var doc md.UserEggFlowReqRespList + err = json.Unmarshal(hit.Source, &doc) + if err != nil { + return nil, "", 0, errors.New("failed to unmarshal") + } + results = append(results, doc) } - results = append(results, doc) } + nowScore = utils.Float64ToStr(results[0].ScoreValue) + } else { + nowScore = "60" } - nowScore := utils.Float64ToStr(results[0].ScoreValue) - indexes := make([]string, 0, limit) // 5. 构造分页索引列表 查询历史蛋蛋分 for i := 0; i < limit; i++ { @@ -94,6 +102,13 @@ func GetEggPointRecordBase(now time.Time, uid int64, page int, limit int) ([]md. } else if tempYear < oldestYear { break } + // 判断是否超过最新索引时间 + if tempYear > newestYear { + continue + } + if tempYear == newestYear && tempWeek > newestWeek { + continue + } tempIndex := es2.GetAppointIndexFromAlias(utils.IntToStr(tempYear), utils.IntToStr(tempWeek)) indexes = append(indexes, tempIndex) } @@ -108,22 +123,22 @@ func GetEggPointRecordBase(now time.Time, uid int64, page int, limit int) ([]md. if searchRecordResult == nil { return nil, "", 0, errors.New("failed to get egg score flows") } - var recordResults []md.UserEggFlowReqRespList + //var recordResults []md.UserEggFlowReqRespList // 检查是否有结果 if searchRecordResult.Hits.TotalHits.Value != 0 { // 解析结果 - for _, hit := range searchResult.Hits.Hits { + for _, hit := range searchRecordResult.Hits.Hits { var doc md.UserEggFlowReqRespList err = json.Unmarshal(hit.Source, &doc) if err != nil { return nil, "", 0, errors.New("failed to unmarshal") } - recordResults = append(recordResults, doc) + results = append(results, doc) } } list := make([]md.EggPointRecordNode, len(results)) - for i, result := range recordResults { + for i, result := range results { year, week, startAt, endAt := GetWeekInfo(result.UpdatedAt) list[i].Score = utils.Float64ToStr(result.ScoreValue) list[i].Year = year