IndexForm.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. /*
  8. * @Author: your name
  9. * @Date: 2021-03-02 09:50:20
  10. * @LastEditTime: 2021-05-17 17:17:15
  11. * @LastEditors: Please set LastEditors
  12. * @Description: In User Settings Edit
  13. * @FilePath: \admin_php\modules\client\models\v1\admin\IndexForm.php
  14. */
  15. namespace app\modules\client\models\v1\admin;
  16. use app\models\Goods;
  17. use app\models\Mch;
  18. use app\models\Order;
  19. use app\models\OrderRefund;
  20. use app\models\Shop;
  21. use yii\base\Model;
  22. /**
  23. * @property \app\models\Store $store;
  24. */
  25. class IndexForm extends Model
  26. {
  27. public $store_id;
  28. // 首页订单统计
  29. public function orderNum()
  30. {
  31. $query = Order::find()->alias('o')->where([
  32. 'o.store_id' => $this->store_id,
  33. 'o.mch_id' => 0,
  34. 'o.is_recycle' => Order::IS_DELETE_FALSE,
  35. 'o.is_delete' => Order::IS_DELETE_FALSE
  36. ]);
  37. // 待付款订单
  38. $query_1 = clone $query;
  39. $order_1 = $query_1->andWhere([
  40. 'o.is_pay' => Order::IS_PAY_FALSE
  41. ])->count();
  42. // 待发货订单
  43. $query_2 = clone $query;
  44. $order_2 = $query_2->andWhere([
  45. 'o.is_pay' => Order::IS_PAY_TRUE,
  46. 'o.trade_status' => Order::ORDER_FLOW_NO_SEND,
  47. ])->andWhere(['or', ['o.is_pay' => Order::IS_PAY_TRUE], ['o.pay_type' => Order::PAY_TYPE_COD]])->count();
  48. $order_3 = OrderRefund::find()->alias('or')
  49. ->leftJoin(['o' => Order::tableName()], 'o.id=or.order_id')
  50. ->where(['or.store_id' => $this->store_id, 'or.is_delete' => Order::IS_DELETE_FALSE, 'o.mch_id' => 0,
  51. 'o.is_show' => Order::IS_SHOW_TRUE,'or.status' => OrderRefund::STATUS_IN])->count();
  52. return [
  53. 'code' => 0,
  54. 'data' => [
  55. 'order_1' => $order_1,
  56. 'order_2' => $order_2,
  57. 'order_3' => $order_3
  58. ]
  59. ];
  60. }
  61. // 商品统计
  62. public function goodsNum()
  63. {
  64. $query = Goods::find()
  65. ->where([
  66. 'is_delete' => 0,
  67. 'store_id' => $this->store_id,
  68. 'mch_id' => 0
  69. ]);
  70. $query_1 = clone $query;
  71. $goods_1 = $query_1->andWhere([
  72. 'status' => 1
  73. ])->count();
  74. $query_0 = clone $query;
  75. $goods_0 = $query_0->andWhere([
  76. 'status' => 0
  77. ])->count();
  78. return [
  79. 'code' => 0,
  80. 'data' => [
  81. 'goods_0' => $goods_0,
  82. 'goods_1' => $goods_1
  83. ]
  84. ];
  85. }
  86. // 商户统计
  87. public function mchNum()
  88. {
  89. $query = Mch::find()
  90. ->where([
  91. 'store_id' => $this->store_id,
  92. 'is_delete' => 0
  93. ])->andWhere([
  94. '>',
  95. 'user_id',
  96. 0
  97. ]);
  98. // 待审核
  99. $query_0 = clone $query;
  100. $mch_0 = $query_0->andWhere([
  101. 'review_status' => 0
  102. ])->count();
  103. // 通过
  104. $query_1 = clone $query;
  105. $mch_1 = $query_1->andWhere([
  106. 'review_status' => 1
  107. ])->count();
  108. // 自提点
  109. $shop_num = Shop::find()
  110. ->where([
  111. 'store_id' => $this->store_id,
  112. 'is_delete' => 0
  113. ])->andWhere([
  114. '>',
  115. 'user_id',
  116. 0
  117. ])->count();
  118. return [
  119. 'code' => 0,
  120. 'data' => [
  121. 'mch_0' => $mch_0,
  122. 'mch_1' => $mch_1,
  123. 'shop_num' => $shop_num
  124. ]
  125. ];
  126. }
  127. }