90 lines
2.8 KiB
PHP
90 lines
2.8 KiB
PHP
|
<?php
|
|||
|
|
|||
|
namespace app\admin\controller\fastim;
|
|||
|
|
|||
|
use app\common\controller\Backend;
|
|||
|
|
|||
|
/**
|
|||
|
* 举报记录管理
|
|||
|
*
|
|||
|
* @icon fa fa-circle-o
|
|||
|
*/
|
|||
|
class Report extends Backend
|
|||
|
{
|
|||
|
|
|||
|
/**
|
|||
|
* Report模型对象
|
|||
|
* @var \app\admin\model\fastim\Report
|
|||
|
*/
|
|||
|
protected $model = null;
|
|||
|
|
|||
|
public function _initialize()
|
|||
|
{
|
|||
|
parent::_initialize();
|
|||
|
$this->model = new \app\admin\model\fastim\Report;
|
|||
|
$this->view->assign("typeList", $this->model->getTypeList());
|
|||
|
$this->view->assign("statusList", $this->model->getStatusList());
|
|||
|
}
|
|||
|
|
|||
|
public function import()
|
|||
|
{
|
|||
|
parent::import();
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 查看
|
|||
|
*/
|
|||
|
public function index()
|
|||
|
{
|
|||
|
//当前是否为关联查询
|
|||
|
$this->relationSearch = true;
|
|||
|
//设置过滤方法
|
|||
|
$this->request->filter(['strip_tags', 'trim']);
|
|||
|
if ($this->request->isAjax()) {
|
|||
|
//如果发送的来源是Selectpage,则转发到Selectpage
|
|||
|
if ($this->request->request('keyField')) {
|
|||
|
return $this->selectpage();
|
|||
|
}
|
|||
|
[$where, $sort, $order, $offset, $limit] = $this->buildparams();
|
|||
|
|
|||
|
$list = $this->model->with([
|
|||
|
'user' => ['fauser', 'admin'],
|
|||
|
'reportuser' => ['fauser', 'admin'],
|
|||
|
'chatgroup'
|
|||
|
])->where($where)->order($sort, $order)->paginate($limit);
|
|||
|
|
|||
|
foreach ($list as $row) {
|
|||
|
|
|||
|
$row->getRelation('reportuser')->visible(['nickname']);
|
|||
|
$aNickname = $row->reportuser->admin->nickname ?? '';
|
|||
|
$faNickname = $row->reportuser->fauser->nickname ?? '';
|
|||
|
$row->nickname = $row->reportuser->nickname;
|
|||
|
if ($aNickname || $faNickname) {
|
|||
|
$row->nickname = $row->nickname . '(' . ($aNickname ? $aNickname : $faNickname) . ')';
|
|||
|
}
|
|||
|
|
|||
|
$row->getRelation('chatgroup')->visible(['nickname']);
|
|||
|
$row->getRelation('user')->visible(['nickname']);
|
|||
|
|
|||
|
if ($row->type == 'group') {
|
|||
|
$row->user->nickname = $row->chatgroup->nickname;
|
|||
|
} elseif ($row->type == 'user') {
|
|||
|
$aNickname = $row->user->admin->nickname ?? '';
|
|||
|
$faNickname = $row->user->fauser->nickname ?? '';
|
|||
|
if ($aNickname || $faNickname) {
|
|||
|
$row->user->nickname = $row->user->nickname . '(' . ($aNickname ? $aNickname : $faNickname) . ')';
|
|||
|
}
|
|||
|
} else {
|
|||
|
$row->user->nickname = '-';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$result = ["total" => $list->total(), "rows" => $list->items()];
|
|||
|
|
|||
|
return json($result);
|
|||
|
}
|
|||
|
return $this->view->fetch();
|
|||
|
}
|
|||
|
|
|||
|
}
|