fix(subscribe): improve query logic and handle status filtering
This commit is contained in:
parent
105ee9cc46
commit
2aaf4cf618
@ -36,7 +36,7 @@ func (l *QueryUserSubscribeLogic) QueryUserSubscribe() (resp *types.QueryUserSub
|
||||
logger.Error("current user is not found in context")
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.InvalidAccess), "Invalid Access")
|
||||
}
|
||||
data, err := l.svcCtx.UserModel.QueryUserSubscribe(l.ctx, u.Id, 1, 0)
|
||||
data, err := l.svcCtx.UserModel.QueryUserSubscribe(l.ctx, u.Id, 0, 1, 2, 3)
|
||||
if err != nil {
|
||||
l.Errorw("[QueryUserSubscribeLogic] Query User Subscribe Error:", logger.Field("err", err.Error()))
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "Query User Subscribe Error")
|
||||
|
||||
@ -76,7 +76,10 @@ func (m *defaultUserModel) QueryUserSubscribe(ctx context.Context, userId int64,
|
||||
// 获取当前时间向前推 7 天
|
||||
sevenDaysAgo := time.Now().Add(-7 * 24 * time.Hour)
|
||||
// 基础条件查询
|
||||
conn = conn.Model(&Subscribe{}).Where("`user_id` = ? and `status` IN ?", userId, status)
|
||||
conn = conn.Model(&Subscribe{}).Where("`user_id` = ?", userId)
|
||||
if len(status) > 0 {
|
||||
conn = conn.Where("`status` IN ?", status)
|
||||
}
|
||||
return conn.Where("`expire_time` > ? OR `finished_at` >= ?", now, sevenDaysAgo).
|
||||
Preload("Subscribe").
|
||||
Find(&list).Error
|
||||
|
||||
@ -369,15 +369,14 @@ func (l *ActivateOrderLogic) Renewal(ctx context.Context, orderInfo *order.Order
|
||||
userSub.Status = 1
|
||||
}
|
||||
|
||||
//fix bug:FinishedAt causes the update subscription to fail
|
||||
if now.AddDate(-30, 0, 0).After(*userSub.FinishedAt) {
|
||||
userSub.FinishedAt = &now
|
||||
}
|
||||
// Check whether traffic reset on renewal is enabled
|
||||
if !*sub.RenewalReset {
|
||||
userSub.Download = 0
|
||||
userSub.Upload = 0
|
||||
}
|
||||
if userSub.FinishedAt != nil {
|
||||
userSub.FinishedAt = nil
|
||||
}
|
||||
|
||||
userSub.ExpireTime = tool.AddTime(sub.UnitTime, orderInfo.Quantity, userSub.ExpireTime)
|
||||
// update user subscribe
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user