From 0452c635b7215efac1cd09ee46720c723cc845de Mon Sep 17 00:00:00 2001 From: hujiebin Date: Wed, 7 Jun 2023 15:18:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E4=B8=8B=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E7=BA=AA=E5=BF=B5=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- route/cp_r/anniversary.go | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/route/cp_r/anniversary.go b/route/cp_r/anniversary.go index e2f1feb..5a147d5 100644 --- a/route/cp_r/anniversary.go +++ b/route/cp_r/anniversary.go @@ -13,6 +13,7 @@ import ( "hilo-user/req" "hilo-user/resp" "strconv" + "time" ) type PostPutAnniversaryReq struct { @@ -119,11 +120,15 @@ func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) { } anniversary := cp_m.GetAllCpAnniversary(model, userId) for _, v := range anniversary { + timestamp := v.Timestamp + if v.Type == cp_e.AnniversaryItemTypeAnniversary { + timestamp = calcNextAnniversary(timestamp) + } response = append(response, cp_cv.CvCpAnniversary{ Type: v.Type, Id: v.ID, Content: v.Content, - Timestamp: v.Timestamp, + Timestamp: timestamp, IsRemind: v.IsRemind, CanDel: true, IsTop: v.Sort > 0, @@ -133,6 +138,26 @@ func PageAnniversary(c *gin.Context) (*mycontext.MyContext, error) { return myCtx, nil } +// 计算下一个纪念日 +func calcNextAnniversary(timestamp int64) int64 { + now := time.Now() + birthday := time.Unix(timestamp, 0) + // 计算今年的生日日期 + thisYearBirthday := time.Date(now.Year(), birthday.Month(), birthday.Day(), 0, 0, 0, 0, time.Local) + + // 如果今年的生日还未到,则生日日期为今年的生日日期;否则为明年的生日日期 + var next time.Time + if thisYearBirthday.After(now) { + next = thisYearBirthday + } else { + next = thisYearBirthday.AddDate(1, 0, 0) + } + + // 计算时间戳 + nextTimestamp := next.Unix() + return nextTimestamp +} + // @Tags CP v2 // @Summary 获取纪念日 // @Param token header string true "token" -- 2.22.0