This commit is contained in:
2026-04-27 14:49:02 +08:00
parent f545aee45e
commit e96e3f9583
20 changed files with 284 additions and 605 deletions

View File

@@ -169,7 +169,13 @@ func (l *WechatPayCallbackLogic) handleAgentVipOrderPayment(w http.ResponseWrite
} else {
logx.Infof("代理会员新购、升级或重新激活成功会员ID%d等级%s", agentModel.Id, agentModel.LevelName)
}
agentModel.MembershipExpiryTime = lzUtils.RenewMembership(agentModel.MembershipExpiryTime)
// VIP 升级到 SVIP 按支付时间重新计算有效期,不叠加旧 VIP 剩余时长。
isVipUpgradeToSvip := oldLevel == model.AgentLeveNameVIP && agentOrder.LevelName == model.AgentLeveNameSVIP
if isVipUpgradeToSvip {
agentModel.MembershipExpiryTime = lzUtils.RenewMembership(lzUtils.TimeToNullTime(time.Now()))
} else {
agentModel.MembershipExpiryTime = lzUtils.RenewMembership(agentModel.MembershipExpiryTime)
}
if updateErr := l.svcCtx.AgentModel.UpdateWithVersion(l.ctx, nil, agentModel); updateErr != nil {
return fmt.Errorf("修改代理信息失败: %+v", updateErr)