alias('c') ->where('c.id', $ids) ->field('c.id,c.admin_id,c.title,c.createtime') ->find(); $admin_ids = (array)AdminService::instance()->getAdminId($admin_id)->data; $bookListItem['uv'] = $bookListItem['orders_num'] = $bookListItem['recharge_money'] = 0; $resultList = []; if (VisitLimitService::instance()->checkMigratedV2()) { if (count($admin_ids) == 1) { $where = ['ids' => [$ids]]; } else { $where = ['ids' => [$ids], 'admin_id' => $admin_ids[0]]; } $result = ApiService::instance()->getCollectFromApi(ApiConstants::API_BOOK_LIST, $where)->data; if ($result) { foreach ($result as $index => $item) { if (in_array($item['adminId'], $admin_ids)) { $tmp = $bookListItem->getData(); $tmp['admin_id'] = $item['adminId']??''; $tmp['booklistId'] = $item['booklistId']; $tmp['idx'] = $item['idx']; $tmp['uv'] = $item['uv']; $tmp['orders_num'] = $item['orders']; $tmp['recharge_money'] = $item['money']; $resultList[] = $tmp; } } } } else { $customCollect = model('booklist_collect') ->alias('bc') ->where('bc.booklist_id', $ids) ->whereIn('bc.admin_id', (array)$admin_ids) ->order('recharge_money', 'desc') ->field(['bc.admin_id','bc.booklist_id'=>'id','bc.idx','bc.uv','bc.orders_num','bc.recharge_money']) ->select(); if ($customCollect) { foreach ($customCollect as $item) { $tmp = array_merge($bookListItem->getData(), $item->getData()); $resultList[] = $tmp; } } } if ($resultList) { $bookIds = array_column($resultList, 'idx'); $booksInfo = BookService::instance()->getBookModel()->getBooksInfo($bookIds); foreach ($resultList as $index => $item) { $resultList[$index]['book_name'] = $booksInfo[$item['idx']]['name']; $resultList[$index]['book_id'] = $item['idx']; } } return $this->setData($resultList)->getReturn(); } }