| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace addons\HuijuBill\common\service;
- use addons\HuijuBill\common\enums\HuijuBillTypeEnum;
- use addons\HuijuBill\common\models\OrderModel;
- use addons\HuijuBill\common\enums\StatusEnum;
- use yii\base\Model;
- use yii\data\Pagination;
- class OrderService extends Model
- {
- /**
- * 商户ID
- *
- * @var integer
- */
- public $mall_id;
- /**
- * 获取汇聚分账支付列表
- *
- * @param array $params
- * @return array
- */
- public function getPayOrderList($params)
- {
- $params = array_filter($params, function ($val) {return ($val === '' || $val === null) ? false : true;});
- $limit = $params['limit'] ?? 30;
- $page = $params['page'] ?? 1;
- $pagination = null;
- $model = OrderModel::find()
- ->with(['trade' => function ($query) {
- return $query->select('id, title, pay_fee');
- }])
- ->where(['mall_id' => $this->mall_id]);
- // 搜索
- !empty($params['no']) && $model->andWhere(['like', 'sys_order_no', $params['no']]);
- !empty($params['type']) && $model->andWhere(['=', 'trade_type', $params['type']]);
- !empty($params['status']) && $model->andWhere(['=', 'status', $params['status']]);
- $pagination = new Pagination(['totalCount' => $model->count(), 'pageSize' => $limit]);
- $model->limit($pagination->limit)->offset($pagination->offset);
- $list = $model->asArray()
- ->orderBy('id desc')
- ->all();
- foreach ($list as $k => $v) {
- $list[$k]['status_text'] = StatusEnum::getValue($v['status']);
- $list[$k]['trade_type_text'] = HuijuBillTypeEnum::getValue($v['trade_type']);
- }
- $data['list'] = $list;
- $data['status'] = StatusEnum::getMap();
- $data['trade_type'] = HuijuBillTypeEnum::getMap();
- $data['page_count'] = $pagination->pageCount;
- $data['current_page'] = $page + 1;
- return $data;
- }
- }
|