OrderRefund.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. /**
  3. * 厦门云联储网络科技有限公司
  4. * https://www.baokuaiyun.com
  5. * Copyright (c) 2023 爆块云 All rights reserved.
  6. */
  7. namespace app\models;
  8. use Yii;
  9. use yii\behaviors\TimestampBehavior;
  10. /**
  11. * This is the model class for table "{{%order_refund}}".
  12. *
  13. * @property integer $id
  14. * @property integer $store_id
  15. * @property integer $user_id
  16. * @property integer $order_id
  17. * @property string $order_detail_id
  18. * @property string $order_refund_no
  19. * @property integer $type
  20. * @property string $refund_price
  21. * @property string $desc
  22. * @property string $pic_list
  23. * @property integer $status
  24. * @property string $refuse_desc
  25. * @property integer $created_at
  26. * @property integer $is_delete
  27. * @property integer $response_time
  28. * @property integer $is_agree
  29. * @property integer $is_user_send
  30. * @property string $user_send_express
  31. * @property string $user_send_express_no
  32. * @property integer $address_id
  33. * @property integer $md_id
  34. * @property string $refund_address
  35. */
  36. class OrderRefund extends \yii\db\ActiveRecord
  37. {
  38. /**
  39. * 售后类型:退货退款
  40. */
  41. const TYPE_REFUND = 1;
  42. /**
  43. * 售后类型:换货
  44. */
  45. const TYPE_EXCHANGE = 2;
  46. /**
  47. * 售后状态:商家待处理
  48. */
  49. const STATUS_IN = 0;
  50. /**
  51. * 售后状态:商家同意并已退款
  52. */
  53. const STATUS_REFUND_AGREE = 1;
  54. /**
  55. * 售后状态:商家同意退货
  56. */
  57. const STATUS_EXCHANGE_AGREE = 2;
  58. /**
  59. * 售后状态:商家拒绝退换货
  60. */
  61. const STATUS_REFUSE = 3;
  62. /**
  63. * 已处理状态
  64. * @var array
  65. */
  66. public static $is_handle_status = [
  67. self::STATUS_REFUND_AGREE,
  68. self::STATUS_EXCHANGE_AGREE,
  69. self::STATUS_REFUSE
  70. ];
  71. /**
  72. * @inheritdoc
  73. */
  74. public static function tableName()
  75. {
  76. return '{{%order_refund}}';
  77. }
  78. public function behaviors()
  79. {
  80. return [
  81. [
  82. // 自动更新创建和更新时间
  83. 'class' => TimestampBehavior::class,
  84. 'value' => time()
  85. ]
  86. ];
  87. }
  88. /**
  89. * @inheritdoc
  90. */
  91. public function rules()
  92. {
  93. return [
  94. [['store_id', 'user_id', 'order_id', 'order_detail_id'], 'required'],
  95. [['store_id', 'user_id', 'order_id', 'type', 'status', 'created_at', 'is_delete', 'response_time',
  96. 'is_agree', 'is_user_send', 'address_id', 'md_id'], 'integer'],
  97. [['refund_price'], 'number'],
  98. [['pic_list', 'order_detail_id', 'refund_address'], 'string'],
  99. [['order_refund_no'], 'string', 'max' => 255],
  100. [['desc', 'refuse_desc'], 'string', 'max' => 500],
  101. [['user_send_express', 'user_send_express_no'], 'string', 'max' => 32],
  102. [['op_admin_id', 'op_admin_name'], 'safe'],
  103. ];
  104. }
  105. /**
  106. * @inheritdoc
  107. */
  108. public function attributeLabels()
  109. {
  110. return [
  111. 'id' => 'ID',
  112. 'store_id' => 'Store ID',
  113. 'user_id' => 'User ID',
  114. 'order_id' => 'Order ID',
  115. 'order_detail_id' => 'Order Detail ID',
  116. 'order_refund_no' => '退款单号',
  117. 'type' => '售后类型:1=退货退款,2=换货',
  118. 'refund_price' => '退款金额',
  119. 'desc' => '退款说明',
  120. 'pic_list' => '凭证图片列表:json格式',
  121. 'status' => '状态:0=待商家处理,1=同意并已退款,2=已同意换货,3=已拒绝退换货',
  122. 'refuse_desc' => '拒绝退换货原因',
  123. 'created_at' => 'Addtime',
  124. 'is_delete' => 'Is Delete',
  125. 'response_time' => '商家处理时间',
  126. 'is_agree' => '是否已同意退、换货:0=待处理,1=已同意,2=已拒绝',
  127. 'is_user_send' => '用户已发货:0=未发货,1=已发货',
  128. 'user_send_express' => '用户发货快递公司',
  129. 'user_send_express_no' => '用户发货快递单号',
  130. 'address_id' => '退货 换货地址id',
  131. ];
  132. }
  133. public function getGoods()
  134. {
  135. return $this->hasOne(Goods::className(), ['id' => 'goods_id'])->alias('g')
  136. ->viaTable(OrderDetail::tableName() . ' od', ['id' => 'order_detail_id']);
  137. }
  138. public function beforeSave($insert)
  139. {
  140. $this->desc = \yii\helpers\Html::encode($this->desc);
  141. $this->user_send_express = \yii\helpers\Html::encode($this->user_send_express);
  142. $this->user_send_express_no = \yii\helpers\Html::encode($this->user_send_express_no);
  143. $module = \Yii::$app->controller->module->id;
  144. if($module == 'admin'){
  145. if(get_admin()){
  146. $this->op_admin_id = get_admin()->id;
  147. $this->op_admin_name = get_admin()->name ?? '后台管理员';
  148. }
  149. }
  150. return parent::beforeSave($insert);
  151. }
  152. }