【类 型】:
【原 因】: 【过 程】: 【影 响】:
This commit is contained in:
parent
763e8166f3
commit
aa84b9f808
@ -369,12 +369,56 @@ class AdminController extends PublicController
|
||||
{
|
||||
// 权限判断
|
||||
if ($this->tokenShop_id != C('powerId')) {
|
||||
$where['shop_id'] = $this->tokenShop_id;
|
||||
$where['m.shop_id'] = $this->tokenShop_id;
|
||||
}
|
||||
|
||||
$messageDb = D('message');
|
||||
$messageDb = M('message');
|
||||
|
||||
$messageList = $messageDb->select();
|
||||
// 查询message数据,不关联adminuser,先拿全部字段
|
||||
$messageList = $messageDb
|
||||
->alias('m')
|
||||
->where($where)
|
||||
->field('m.*')
|
||||
->order('m.add_time DESC')
|
||||
->select();
|
||||
|
||||
if ($messageList === false) {
|
||||
echo json_encode(['status' => 0, 'msg' => '获取失败']);
|
||||
return;
|
||||
}
|
||||
|
||||
// 取出所有admin_id和by_admin_id,去重
|
||||
$adminIds = [];
|
||||
$byAdminIds = [];
|
||||
foreach ($messageList as &$msg) {
|
||||
if ($msg['admin_id']) $adminIds[$msg['admin_id']] = true;
|
||||
if ($msg['by_admin_id']) $byAdminIds[$msg['by_admin_id']] = true;
|
||||
}
|
||||
$adminIds = array_keys($adminIds);
|
||||
$byAdminIds = array_keys($byAdminIds);
|
||||
|
||||
// 查 admin_id 对应的用户信息
|
||||
$adminUserDb = M('adminuser');
|
||||
$adminUsers = $adminUserDb->where(['id' => ['IN', $adminIds]])->field('id,name,uname')->select();
|
||||
$adminUserMap = [];
|
||||
foreach ($adminUsers as $u) {
|
||||
$adminUserMap[$u['id']] = $u;
|
||||
}
|
||||
|
||||
// 查 by_admin_id 对应的用户信息
|
||||
$byAdminUsers = $adminUserDb->where(['id' => ['IN', $byAdminIds]])->field('id,name,uname')->select();
|
||||
$byAdminUserMap = [];
|
||||
foreach ($byAdminUsers as $u) {
|
||||
$byAdminUserMap[$u['id']] = $u;
|
||||
}
|
||||
|
||||
// 合并用户信息回message列表
|
||||
foreach ($messageList as &$msg) {
|
||||
$msg['admin_name'] = isset($adminUserMap[$msg['admin_id']]) ? $adminUserMap[$msg['admin_id']]['name'] : '';
|
||||
$msg['admin_uname'] = isset($adminUserMap[$msg['admin_id']]) ? $adminUserMap[$msg['admin_id']]['uname'] : '';
|
||||
$msg['by_admin_name'] = isset($byAdminUserMap[$msg['by_admin_id']]) ? $byAdminUserMap[$msg['by_admin_id']]['name'] : '';
|
||||
$msg['by_admin_uname'] = isset($byAdminUserMap[$msg['by_admin_id']]) ? $byAdminUserMap[$msg['by_admin_id']]['uname'] : '';
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
'status' => 1,
|
||||
|
Loading…
Reference in New Issue
Block a user