功能更新与UI优化:游戏图标移除、用户名片修复、婚礼红包界面重设计
- 移除聊天室右下角浮动游戏图标(占卜、百家乐、赛马、老虎机) - 用户名片按钮区:修复已婚/已好友时按钮换行问题,统一单行显示 - 婚礼红包弹窗:重设计为喜庆鲜红背景,领取按钮改为圆形米黄样式 - 新增婚礼红包恢复接口(/wedding/pending-envelopes),刷新后自动恢复领取按钮 - 修复 Alpine :style 字符串覆盖静态 style 导致圆形按钮失效的问题 - 撤职后用户等级改为根据经验值重新计算,不再无条件重置为1 - 管理员修改用户经验值后自动重算等级,有职务用户等级锁定 - 娱乐大厅钓鱼游戏按钮直接调用 startFishing() 简化操作流程 - 新增赛马、占卜、百家乐游戏及相关后端逻辑
This commit is contained in:
@@ -107,4 +107,36 @@ class WeddingController extends Controller
|
||||
'expires_at' => $ceremony->expires_at,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户所有未领取且未过期的婚礼红包(页面刷新后恢复领取按钮用)。
|
||||
*/
|
||||
public function pendingEnvelopes(Request $request): JsonResponse
|
||||
{
|
||||
$userId = $request->user()->id;
|
||||
|
||||
// 查询有未领取 claim 的 active 婚礼(未过期)
|
||||
$claims = \App\Models\WeddingEnvelopeClaim::query()
|
||||
->where('user_id', $userId)
|
||||
->where('claimed', false)
|
||||
->with(['ceremony.marriage.user', 'ceremony.marriage.partner', 'ceremony.tier'])
|
||||
->get()
|
||||
->filter(fn ($c) => $c->ceremony
|
||||
&& in_array($c->ceremony->status, ['active'])
|
||||
&& (! $c->ceremony->expires_at || $c->ceremony->expires_at->isFuture()))
|
||||
->values();
|
||||
|
||||
return response()->json([
|
||||
'envelopes' => $claims->map(fn ($c) => [
|
||||
'ceremony_id' => $c->ceremony_id,
|
||||
'amount' => $c->amount,
|
||||
'total_amount' => $c->ceremony->total_amount,
|
||||
'groom' => $c->ceremony->marriage->user->username ?? '—',
|
||||
'bride' => $c->ceremony->marriage->partner->username ?? '—',
|
||||
'tier_name' => $c->ceremony->tier?->name ?? '婚礼',
|
||||
'tier_icon' => $c->ceremony->tier?->icon ?? '🎊',
|
||||
'expires_at' => $c->ceremony->expires_at?->toDateTimeString(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user