This commit is contained in:
2026-05-08 11:30:05 +08:00
commit c0ac84fac8
563 changed files with 64232 additions and 0 deletions

28
pkg/lzkit/lzUtils/time.go Normal file
View File

@@ -0,0 +1,28 @@
package lzUtils
import (
"database/sql"
"time"
)
// RenewMembership 延长会员有效期
// 规则如果旧到期时间还没过在旧到期时间上续1年如果已过期或为空从当前时间起算1年
func RenewMembership(expiry sql.NullTime) sql.NullTime {
now := time.Now()
var baseTime time.Time
if expiry.Valid && expiry.Time.After(now) {
// 未过期 → 在旧到期时间上续1年
baseTime = expiry.Time
} else {
// 已过期或为空 → 从现在开始算1年
baseTime = now
}
// 增加一年(自动处理闰年)
newTime := baseTime.AddDate(1, 0, 0)
return sql.NullTime{
Time: newTime,
Valid: true,
}
}