From db6328125045720aaa4885b972233ee55059ba2a Mon Sep 17 00:00:00 2001 From: Chang lue Tsen Date: Wed, 23 Jul 2025 09:23:01 -0400 Subject: [PATCH] feat(subscription): update user subscription status based on expiration time --- internal/logic/admin/user/updateUserSubscribeLogic.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/logic/admin/user/updateUserSubscribeLogic.go b/internal/logic/admin/user/updateUserSubscribeLogic.go index 61dcf56..4b50771 100644 --- a/internal/logic/admin/user/updateUserSubscribeLogic.go +++ b/internal/logic/admin/user/updateUserSubscribeLogic.go @@ -33,8 +33,15 @@ func (l *UpdateUserSubscribeLogic) UpdateUserSubscribe(req *types.UpdateUserSubs l.Errorw("FindOneUserSubscribe failed:", logger.Field("error", err.Error()), logger.Field("userSubscribeId", req.UserSubscribeId)) return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "FindOneUserSubscribe failed: %v", err.Error()) } + expiredAt := time.UnixMilli(req.ExpiredAt) + if time.Since(expiredAt).Minutes() > 0 { + userSub.Status = 3 + } else { + userSub.Status = 1 + } + err = l.svcCtx.UserModel.UpdateSubscribe(l.ctx, &user.Subscribe{ - Id: req.UserSubscribeId, + Id: userSub.Id, UserId: userSub.UserId, OrderId: userSub.OrderId, SubscribeId: req.SubscribeId,