34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
||
/**
|
||
* 硬碎片废弃接口 POST /api/fragment/hard_discard.php
|
||
* 入参:id
|
||
*/
|
||
require_once __DIR__ . '/../common/db.php';
|
||
require_once __DIR__ . '/../common/response.php';
|
||
require_once __DIR__ . '/../common/auth.php';
|
||
require_once __DIR__ . '/../common/logger.php';
|
||
|
||
checkAjax();
|
||
checkPermission('preliminary');
|
||
|
||
$id = (int)($_POST['id'] ?? 0);
|
||
if ($id <= 0) {
|
||
Response::error('参数错误', 400);
|
||
}
|
||
|
||
$pdo = DB::getInstance()->getPdo();
|
||
$stmt = $pdo->prepare("SELECT id, status FROM preliminary_data WHERE id = ? AND is_active = 1");
|
||
$stmt->execute([$id]);
|
||
$frag = $stmt->fetch();
|
||
if (!$frag) {
|
||
Response::error('碎片不存在');
|
||
}
|
||
if (in_array($frag['status'], ['已转换', '已废弃'], true)) {
|
||
Response::error('该碎片已处理(' . $frag['status'] . ')');
|
||
}
|
||
|
||
$pdo->prepare("UPDATE preliminary_data SET status = '已废弃', processed_at = NOW() WHERE id = ?")->execute([$id]);
|
||
|
||
logCurrent('discard', 'fragment', 'preliminary_data', $id, ['status' => '已废弃']);
|
||
Response::success(null, '已废弃');
|