修复(#75): 修复永久订阅误判回归优惠
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -164,8 +164,16 @@ func evaluateInactiveUserPromo(
|
||||
return false, time.Time{}, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "query promo inactive user subscription failed")
|
||||
}
|
||||
|
||||
return evaluateInactiveUserExpire(lastSub.ExpireTime, params, now), ruleExpiresAt, nil
|
||||
}
|
||||
|
||||
func evaluateInactiveUserExpire(lastExpire time.Time, params promoRuleParams, now time.Time) bool {
|
||||
if lastExpire.Equal(time.UnixMilli(0)) {
|
||||
return false
|
||||
}
|
||||
|
||||
threshold := now.AddDate(0, -params.InactiveMonths, 0)
|
||||
return lastSub.ExpireTime.Before(threshold) || lastSub.ExpireTime.Equal(threshold), ruleExpiresAt, nil
|
||||
return lastExpire.Before(threshold) || lastExpire.Equal(threshold)
|
||||
}
|
||||
|
||||
func promoRuleExpiresAt(rule *promo.RuleWithPrice) time.Time {
|
||||
|
||||
Reference in New Issue
Block a user