fix(zy): 修复活动报名时间和状态逻辑
- 修复了活动报名时间判断逻辑,增加了对报名结束时间的判断 - 修改了活动报名状态的判断条件,提高了代码的可读性和准确性 - 优化了订单自动操作和支付后的处理流程,确保活动报名状态正确更新 - 新增了用户权限验证功能,确保只有管理员或裁判可以修改用户状态
This commit is contained in:
@@ -198,13 +198,15 @@ class Activity extends Base
|
||||
if (empty($game)) {
|
||||
$this->error('活动不存在');
|
||||
}
|
||||
if ($game['join_start_time'] > date('Y-m-d H:i:s')) {
|
||||
$this->error('活动报名时间未开始');
|
||||
$currentTime = date('Y-m-d H:i:s');
|
||||
if ($game['join_start_time'] > $currentTime || $game['join_end_time'] < $currentTime) {
|
||||
$this->error('不在报名时间');
|
||||
}
|
||||
if (empty($params['users']) || !is_array($params['users']) || empty($params['goods_list']) || !is_array($params['goods_list'])) {
|
||||
$this->error('请核对报名人员');
|
||||
}
|
||||
if (GameJoin::get(['game_id' => $game['id'], 'act_id' => $game['act_id'], 'user_id' => $this->auth->id])) {
|
||||
$join = GameJoin::where(['game_id' => $game['id'], 'user_id' => $this->auth->id])->where('status', '>', -1)->find();
|
||||
if (!empty($join)) {
|
||||
$this->error('您已报名此活动');
|
||||
}
|
||||
$order = GameJoin::where('game_id', $game['id'])->count();
|
||||
@@ -241,8 +243,8 @@ class Activity extends Base
|
||||
'act_id' => $game['act_id'],
|
||||
'game_id' => $game['id'],
|
||||
'user_id' => $this->auth->id,
|
||||
'orer_id' => $order['id'],
|
||||
'status' => 0,//待支付
|
||||
'order_id' => $order['id'],
|
||||
'status' => 0, //待支付
|
||||
'users' => json_encode($params['users'] ?? [])
|
||||
]);
|
||||
foreach ($participant as &$p) {
|
||||
@@ -256,6 +258,6 @@ class Activity extends Base
|
||||
$this->error($e->getMessage(), $e);
|
||||
}
|
||||
|
||||
$this->success('Success');
|
||||
$this->success('Success', $order);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user