user_id = $user_id; $model->admin_id = $admin_id; $model->type = $type; $model->desc = $desc; $model->level = $level; // $model->status = 1; $model->save(); \App\Jobs\UserPunish::dispatch($user_id,$type)->delay(2); return $model; } /** * 用户违规处理 * @param $user_id * @return void */ static public function call_user($user_id, PUNISH_TYPE $type,$admin_id,$desc) { list($group, $win) = PunishGroup::groupMatch($type); $level = PunishLevel::levelMatch($type); $groupCount = UserPunish::query()->where('user_id', $user_id) ->whereIn('type', $win) ->count(); $levelCount = UserPunish::query()->where('user_id', $user_id) ->where('level', '=', $level) ->count(); switch ($group) { case \App\Module\Ulogic\Enum\PUNISH_GROUP::Group1->value(): self::call_user1($user_id, $groupCount,$levelCount,$admin_id,$desc); break; case \App\Module\Ulogic\Enum\PUNISH_GROUP::Group2->value(): //直接封号 self::call_user2($user_id, $groupCount,$levelCount,$admin_id,$desc); break; } } /** * 分组1的处理 * @param $user_id * @param $groupCount * @param $levelCount * @return void */ static protected function call_user1($user_id, $groupCount ,$levelCount,$admin_id,$desc) { Logger::info('Punish-call_user1',[$groupCount,$user_id,$levelCount,$admin_id,$desc]); if($groupCount >= 3 ){ // 三次普通违规,封号 ActionService::ban($admin_id, $user_id, $desc, '0', 'Punish'); } } /** * 分组2 的处理 * @param $user_id * @param $groupCount * @param $levelCount * @param $admin_id * @param $desc * @return void */ static protected function call_user2($user_id, $groupCount, $levelCount, $admin_id, $desc) { // dd($user_id, $groupCount,$levelCount); if ($groupCount >= 1) { // 1次违规,封号 ActionService::ban($admin_id, $user_id, $desc, '0', 'Punish', 3153600000); SessionApp::removeUKeys($user_id); } } }