OpenSearch.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2017/11/27/027
  6. * Time: 18:07
  7. */
  8. namespace backend\models\searches;
  9. use backend\models\AdminOpenApi;
  10. use backend\models\OpenApi;
  11. use yii\data\ArrayDataProvider;
  12. use yii\data\Pagination;
  13. class OpenSearch extends DataTable
  14. {
  15. /**
  16. * @param array $params
  17. * @return ArrayDataProvider
  18. */
  19. public function search($params)
  20. {
  21. $this->setAttributes($params);
  22. // 初始化DataTable查询参数
  23. $this->initSearchParams();
  24. $pagination = new Pagination();
  25. $pagination->setPageSize($this->pageSize);
  26. $data['pageSize'] = $pagination->getPageSize();
  27. $data['page'] = $this->page;
  28. if ($this->orderBy) {
  29. $data['orderBy'] = $this->orderBy;
  30. }
  31. if (!empty($this->search['value']) && trim($this->search['value']) !== '') {
  32. $data['search'] = trim($this->search['value']);
  33. }
  34. $data['member_id'] = \Yii::$app->getUser()->getId();
  35. $api = new OpenApi();
  36. $result = $api->getOpenList($data);
  37. $models = [];
  38. if ($result['code'] == 1) {
  39. $models = (array)$result['data']['dataList'];
  40. $pagination->totalCount = (int)$result['data']['totalCount'];
  41. }
  42. $dataProvider = new ArrayDataProvider([
  43. 'models' => $models,
  44. 'pagination' => $pagination,
  45. 'totalCount' => $pagination->totalCount,
  46. ]);
  47. return $dataProvider;
  48. }
  49. }