44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
<?php
|
||
/**
|
||
* 企业官媒列表接口 GET /api/company/official_media_list.php
|
||
* 归属该公司的媒体清单(social_accounts owner_type=company)
|
||
* 字段:平台/账号名称/ID/主页链接/状态/更新日期
|
||
* 入参:company_id(必填)/ page / limit
|
||
*/
|
||
require_once __DIR__ . '/../common/db.php';
|
||
require_once __DIR__ . '/../common/response.php';
|
||
require_once __DIR__ . '/../common/auth.php';
|
||
|
||
checkPermission('company');
|
||
|
||
$companyId = (int)($_REQUEST['company_id'] ?? 0);
|
||
if ($companyId <= 0) {
|
||
Response::error('参数错误', 400);
|
||
}
|
||
|
||
[$page, $limit] = pageParams(5);
|
||
|
||
$pdo = DB::getInstance()->getPdo();
|
||
|
||
$chk = $pdo->prepare("SELECT COUNT(*) FROM companies WHERE id = ?");
|
||
$chk->execute([$companyId]);
|
||
if ((int)$chk->fetchColumn() === 0) {
|
||
Response::error('企业不存在');
|
||
}
|
||
|
||
$stmt = $pdo->prepare("SELECT COUNT(*) FROM social_accounts WHERE owner_type = 'company' AND owner_id = ? AND is_active = 1");
|
||
$stmt->execute([$companyId]);
|
||
$total = (int)$stmt->fetchColumn();
|
||
|
||
$offset = ($page - 1) * $limit;
|
||
$stmt = $pdo->prepare(
|
||
"SELECT id, platform, account_id, profile_url, remark, is_defult, is_active, created_at
|
||
FROM social_accounts
|
||
WHERE owner_type = 'company' AND owner_id = ? AND is_active = 1
|
||
ORDER BY is_defult DESC, id DESC
|
||
LIMIT $limit OFFSET $offset"
|
||
);
|
||
$stmt->execute([$companyId]);
|
||
|
||
Response::success(['list' => $stmt->fetchAll(), 'total' => $total, 'page' => $page, 'limit' => $limit]);
|