Files
superlink/api/company/official_media_list.php
T

42 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* 企业官媒列表接口 GET /api/company/official_media_list.php
* 归属该公司的媒体清单(social_accounts owner_type=company)
* 字段:平台/账号名称/ID/主页链接/状态/更新日期
* 入参:company_id(必填)/ page / limit
*/
require_once __DIR__ . '/../common/Api.php';
$pdo = Api::boot(['module' => '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]);