FinancialController.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wniu
  5. * Date: 2022/5/31
  6. * Time: 10:08 下午
  7. */
  8. namespace addons\Pk\backend\controllers;
  9. use addons\Pk\common\enums\PkEnum;
  10. use addons\Pk\common\models\PkActivity;
  11. use addons\Pk\common\models\PkOrder;
  12. use common\enums\PayTypeEnum;
  13. use common\enums\StatusEnum;
  14. use common\models\user\User;
  15. class FinancialController extends BaseController
  16. {
  17. /**
  18. * 首页
  19. *
  20. * @return string
  21. */
  22. public function actionIndex()
  23. {
  24. $request = \Yii::$app->request;
  25. if ($request->isAjax) {
  26. $params = \Yii::$app->request->get();
  27. $params['mall_id'] = $this->mall_id;
  28. $params['limit'] = isset($params['limit']) ? $params['limit'] : 10;
  29. $params['page'] = isset($params['page']) ? $params['page'] : 1;
  30. $where[] = ['status' => StatusEnum::ENABLED];
  31. $where[] = ['mall_id' => $params['mall_id']];
  32. if (!empty($params['nickname'])) {
  33. $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'nickname', $params['nickname'] . '%', false])->asArray()->column();
  34. if (empty($user_ids)) $this->success('查无此用户');
  35. $where[] = ['in', 'user_id', $user_ids];
  36. }
  37. if (!empty($params['activity_status'])) {
  38. $activity_ids = PkActivity::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['=', 'activity_status', $params['activity_status']])->asArray()->column();
  39. if (empty($activity_ids)) $this->success('查无活动');
  40. $where[] = ['in', 'activity_id', $activity_ids];
  41. }
  42. if (isset($params['is_pay']) && !empty($params['is_pay'])) {
  43. $where[] = ['is_pay' => $params['is_pay']];
  44. } else {
  45. $where[] = ['in', 'is_pay', [PkEnum::IS_PAY, PkEnum::PAY_RETURN]];
  46. }
  47. if (isset($params['order_no']) && $params['order_no'] != '') {
  48. $where[] = ['like', 'order_no', $params['order_no']];
  49. }
  50. if (isset($params['begin_time']) && $params['begin_time'] != '') {
  51. $where[] = ['>=', 'created_at', strtotime($params['begin_time'])];
  52. }
  53. if (isset($params['end_time']) && $params['end_time'] != '') {
  54. $where[] = ['<', 'created_at', strtotime($params['end_time'])];
  55. }
  56. $p_lists = array(
  57. 'where' => $where,
  58. 'order' => "id desc",
  59. 'with' => ['user', 'activity'],
  60. 'limit' => $params['limit'],
  61. 'page' => $params['page'],
  62. );
  63. $data = PkOrder::listPage($p_lists, false, true);
  64. if (!empty($data['list'])) {
  65. foreach ($data['list'] as &$item) {
  66. $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']);
  67. }
  68. }
  69. $data['pay_type'] = PayTypeEnum::getMap();
  70. $this->success('成功', $data);
  71. }
  72. return $this->render('index', []);
  73. }
  74. }