Improve batch processing and shop logic

- Use chunkById() with default chunk size for batch processing;
- Improve plan/package expiration and prepaid activation logic;
- Refactor user–node permission update logic
- Optimize OrderService state handling
- Minor fixes (null handling, query order, comments)
This commit is contained in:
BrettonYe
2026-01-30 10:46:07 +08:00
parent 99523ba4c0
commit dc3277e0d6
17 changed files with 184 additions and 165 deletions

View File

@@ -34,9 +34,7 @@ class UserController extends Controller
'remainDays' => $userService->getRemainingDays(),
'resetDays' => $userService->getResetDays(),
'unusedPercent' => $userService->getUnusedTrafficPercent(),
'announcements' => cache()->remember('announcements_'.app()->getLocale(), 300, function () {
return Article::type(2)->lang()->latest()->simplePaginate(1); // 公告缓存 5 分钟
}), // 公告
'announcements' => Article::type(2)->lang()->latest()->simplePaginate(1), // 公告
'isTrafficWarning' => $userService->isTrafficWarning(), // 流量异常判断
'paying_user' => $userService->isActivePaying(), // 付费用户判断
'user' => $user->only(['sub_url', 'unused_traffic', 'expiration_date', 'ban_time']),