#feature: add ip operation log & sql generator
This commit is contained in:
66
app/Http/Controllers/SqlGeneratorController.php
Normal file
66
app/Http/Controllers/SqlGeneratorController.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class SqlGeneratorController extends Controller
|
||||
{
|
||||
/**
|
||||
* 查询 agentslave.case_extras 中已存在的 OB 外部 ID 记录。
|
||||
*/
|
||||
public function checkObExternalId(Request $request): JsonResponse
|
||||
{
|
||||
try {
|
||||
$request->validate([
|
||||
'case_codes' => 'required|array|min:1',
|
||||
'case_codes.*' => 'required|string|max:255',
|
||||
]);
|
||||
|
||||
$caseCodes = array_values(array_unique(array_filter(array_map('trim', $request->input('case_codes')))));
|
||||
|
||||
if (empty($caseCodes)) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => '请提供有效的 case_id 列表'
|
||||
], 400);
|
||||
}
|
||||
|
||||
$existingCaseCodes = [];
|
||||
foreach (array_chunk($caseCodes, 1000) as $chunk) {
|
||||
$results = DB::connection('agentslave')
|
||||
->table('case_extras')
|
||||
->where('source', 'ob')
|
||||
->where('field', 'OB Case ID')
|
||||
->whereIn('case_code', $chunk)
|
||||
->pluck('case_code')
|
||||
->all();
|
||||
|
||||
$existingCaseCodes = array_merge($existingCaseCodes, $results);
|
||||
}
|
||||
|
||||
$existingCaseCodes = array_values(array_unique(array_map('strval', $existingCaseCodes)));
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'data' => [
|
||||
'existing_case_codes' => $existingCaseCodes,
|
||||
],
|
||||
]);
|
||||
} catch (ValidationException $e) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => '请求参数验证失败',
|
||||
'errors' => $e->errors(),
|
||||
], 422);
|
||||
} catch (\Exception $e) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => '查询 case_extras 失败: ' . $e->getMessage(),
|
||||
], 500);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user