fix(user): close level parity gaps

This commit is contained in:
kate522 committed 2026-07-30 10:21:48 +08:00
1 parent a57b44bd61
commit d4946ee554
8 files changed
+136 -38

No files matched your search

+5
View File
@@ -367,6 +367,8 @@ trait Part3 {
private function process_gifts(string $order_number, array $order, array $items): void {
$user_id = (int) ($order['user_id'] ?? 0);
if ($user_id <= 0) return;
$claim_key = '_aksrt_shop_gifts_' . sanitize_key($order_number);
if (!add_user_meta($user_id, $claim_key, 'processing', true)) return;
foreach ($items as $item) {
$gifts = $item['gift_data'] ?? [];
@@ -378,6 +380,8 @@ trait Part3 {
if ($gift_type === 'credits' && class_exists('\AKSRT\Credits\Credits') && (int) $gift_value > 0) {
\AKSRT\Credits\Credits::add((int) $gift_value, $user_id, 'shop_gift', sprintf(__('订单 %s 赠品', 'aksrt'), $order_number));
} elseif (in_array($gift_type, ['level_integral', 'experience'], true) && class_exists('\AKSRT\User\Level') && (int) $gift_value > 0) {
\AKSRT\User\Level::add($user_id, 'shop_gift', (int) $gift_value, true);
} elseif ($gift_type === 'vip_days' && (int) $gift_value > 0) {
$current = (int) get_user_meta($user_id, 'aksrt_vip_expires', true);
$base = max($current, time());
@@ -390,5 +394,6 @@ trait Part3 {
}
}
}
update_user_meta($user_id, $claim_key, '1');
}
}