with(['trade', 'user']); $model->andWhere(['mall_id' => $this->mall_id]); if (!empty($params['user_id'])) { $model->andWhere(['user_id' => $params['user_id']]); } if (!empty($params['user_keyword'])) { $model->andWhere([ 'user_id' => User::getUserIdsByKeyword($this->mall_id, $params['user_keyword']) ]); } if (!empty($params['order_no'])) { $model->andWhere([ 'trade_id' => PaymentTrade::getIdsByNo($this->mall_id, $params['order_no']) ]); } if (!empty($params['time'])) { $model->andFilterWhere([ 'between', 'created_at', strtotime($params['time'][0]), strtotime($params['time'][1]) ]); } $pagination = new Pagination(['totalCount' => $model->count(), 'pageSize' => $limit]); $model->limit($pagination->limit)->offset($pagination->offset); $list = $model->orderBy('id desc') ->asArray() ->all(); $data['list'] = $list; $data['page_count'] = $pagination->pageCount; $data['current_page'] = $page + 1; return $data; } /** * 获取分账信息 * * @param integer $id * @return array */ public function getSplitBill(int $id) { $order = PaymentOrder::findOne(['id' => $id]); if (!$order->isSplitBill()) return []; if (empty($order->splitBill)) return []; $result = []; $item_list = $order->splitBill->item; foreach ($item_list as $item) { $result[] = [ 'store_type' => $item->store_id > 0 ? 1 : 0, 'amount' => $item->amount, 'store_name' => Store::getStoreNameById($item->store_id), ]; } return $result; } }