功能:ChatController 新人礼包 6666 金币接入积分流水,记录 newbie_bonus 来源

This commit is contained in:
2026-02-28 13:34:40 +08:00
parent 1eb58ea331
commit 72d23af335

View File

@@ -14,6 +14,7 @@ namespace App\Http\Controllers;
use App\Events\MessageSent;
use App\Events\UserJoined;
use App\Events\UserLeft;
use App\Enums\CurrencySource;
use App\Http\Requests\SendMessageRequest;
use App\Jobs\SaveMessageJob;
use App\Models\Autoact;
@@ -23,6 +24,7 @@ use App\Models\Sysparam;
use App\Models\User;
use App\Services\ChatStateService;
use App\Services\MessageFilterService;
use App\Services\UserCurrencyService;
use App\Services\VipService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -33,12 +35,14 @@ use Illuminate\View\View;
class ChatController extends Controller
{
public function __construct(
private readonly ChatStateService $chatState,
private readonly ChatStateService $chatState,
private readonly MessageFilterService $filter,
private readonly VipService $vipService,
private readonly \App\Services\ShopService $shopService,
private readonly VipService $vipService,
private readonly \App\Services\ShopService $shopService,
private readonly UserCurrencyService $currencyService,
) {}
/**
* 进入房间初始化 (等同于原版 INIT.ASP)
*
@@ -75,7 +79,10 @@ class ChatController extends Controller
// 3. 新人首次进入:赠送 6666 金币、播放满场烟花、发送全场欢迎通告
$newbieEffect = null;
if (! $user->has_received_new_gift) {
$user->increment('jjb', 6666);
// 通过统一积分服务发放新人礼包 6666 金币并记录流水
$this->currencyService->change(
$user, 'gold', 6666, CurrencySource::NEWBIE_BONUS, '新人首次入场婿赠的 6666 金币大礼包', $id,
);
$user->update(['has_received_new_gift' => true]);
// 发送新人专属欢迎公告