Files
dafuweng-saiadmin6.x/server/app/channel/logic/manage/ChannelManageLogic.php

45 lines
1.3 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: your name
// +----------------------------------------------------------------------
namespace app\channel\logic\manage;
use plugin\saiadmin\basic\eloquent\BaseLogic;
use plugin\saiadmin\exception\ApiException;
use app\channel\model\manage\ChannelManage;
/**
* 渠道逻辑层
*/
class ChannelManageLogic extends BaseLogic
{
/**
* 构造函数
*/
public function __construct()
{
$this->model = new ChannelManage();
}
/**
* 判断当前用户是否可操作该渠道(仅渠道管理员或超级管理员可操作)
* @param object|array $channel 渠道数据,需包含 admin_id
* @return bool
*/
public function canOperateChannel($channel): bool
{
if (empty($this->adminInfo) || !isset($this->adminInfo['id'])) {
return false;
}
$adminId = (int) ($this->adminInfo['id']);
if ($adminId === 1) {
return true;
}
$channelAdminId = is_array($channel) ? ($channel['admin_id'] ?? null) : ($channel->admin_id ?? null);
return $channelAdminId !== null && (int) $channelAdminId === $adminId;
}
}