IntegralReOrderForm.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\models;
  8. use app\models\IntegralRecharge;
  9. use app\models\IntegralRechargeOrder;
  10. use app\models\ReOrder;
  11. use app\models\ReOrderRefundMoney;
  12. use yii\base\Model;
  13. use app\models\User;
  14. use app\models\AccountLog;
  15. use app\utils\OrderNo;
  16. use app\utils\Refund;
  17. use app\utils\Notice\NoticeSend;
  18. use app\models\Option;
  19. use app\constants\OptionSetting;
  20. class IntegralReOrderForm extends Model
  21. {
  22. public $export;
  23. public $user_id;
  24. public $order_id;
  25. public $store_id;
  26. public $name;
  27. public $phone;
  28. public $status;
  29. public $audit_status;
  30. public $dateTime;
  31. /**
  32. * {@inheritdoc}
  33. */
  34. public function rules()
  35. {
  36. return [
  37. [['store_id'], 'integer'],
  38. [['name', 'phone', 'status', 'audit_status', 'user_id', 'order_id', 'dateTime'], 'safe'],
  39. [['export'], 'safe'],
  40. ];
  41. }
  42. public function search()
  43. {
  44. $query = IntegralRechargeOrder::find()->alias('ro')->where([
  45. 'ro.is_pay' => 1,
  46. 'ro.is_delete' => 0,
  47. ])->leftJoin(['u' => User::tableName()], 'ro.user_id = u.id')
  48. ->leftJoin(['ir' => IntegralRecharge::tableName()], 'ro.recharge_id = ir.id')
  49. ->orderBy('ro.id DESC');
  50. if ($this->store_id > 0) {
  51. $query->andWhere(['ro.store_id' => $this->store_id]);
  52. }
  53. if ($this->name) {
  54. $query->andWhere(['like', 'u.nickname', $this->name]);
  55. }
  56. if ($this->phone) {
  57. $query->andWhere(['like', 'u.binding', $this->phone]);
  58. }
  59. if ($this->dateTime) {
  60. $query->andWhere(['>=', 'ro.created_at', strtotime($this->dateTime[0])]);
  61. $query->andWhere(['<=', 'ro.created_at', strtotime($this->dateTime[1])]);
  62. }
  63. $query->select('ro.*, u.avatar_url, u.binding, u.nickname, ir.name, ir.first_commission, ir.second_commission, ir.third_commission');
  64. $data = pagination_make($query);
  65. $data['data'] = $data['list'];
  66. unset($data['list']);
  67. foreach ($data['data'] as &$item) {
  68. $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']);
  69. }
  70. return [
  71. 'code' => 0,
  72. 'data' => $data,
  73. 'sql' => $query->createCommand()->getRawSql(),
  74. ];
  75. }
  76. }