37 lines
1.0 KiB
PHP
37 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* 人员删除接口(软删除) POST /api/person/delete.php
|
|
* 入参:id(或 ids 逗号分隔批量)
|
|
*/
|
|
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('person');
|
|
|
|
$id = (int)($_POST['id'] ?? 0);
|
|
$ids = trim($_POST['ids'] ?? '');
|
|
$idList = [];
|
|
if ($id > 0) $idList[] = $id;
|
|
if ($ids !== '') {
|
|
foreach (explode(',', $ids) as $v) {
|
|
$v = (int)trim($v);
|
|
if ($v > 0) $idList[] = $v;
|
|
}
|
|
}
|
|
$idList = array_unique($idList);
|
|
if (!$idList) {
|
|
Response::error('参数错误', 400);
|
|
}
|
|
|
|
$pdo = DB::getInstance()->getPdo();
|
|
$in = implode(',', array_fill(0, count($idList), '?'));
|
|
$stmt = $pdo->prepare("UPDATE persons SET is_active = 0 WHERE id IN ($in)");
|
|
$stmt->execute($idList);
|
|
$affected = $stmt->rowCount();
|
|
|
|
logCurrent('delete', 'person', 'persons', null, ['ids' => $idList]);
|
|
Response::success(['affected' => $affected], "已删除 $affected 条记录");
|