32], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => 'Mall ID', 'refund_id' => 'Refund ID', 'sys_order_no' => 'Sys Order No', 'trx_no' => 'Trx No', 'out_trade_no' => 'Out Trade No', 'status' => 'Status', 'refund_order_no' => 'Refund Order No', 'refund_amount' => 'Refund Amount', 'refund_at' => 'Refund At', 'updated_at' => 'Updated At', 'created_at' => 'Created At', ]; } /** * 新增退款记录 * * @param array $data * [ * 'mall_id' => 'Mall ID', * 'refund_id' => 'Refund ID', * 'sys_order_no' => 'Sys Order No', * 'trx_no' => 'Trx No', * 'refund_order_no' => 'Refund Order No', * 'out_trade_no' => 'Out Trade No', * 'refund_amount' => 'Refund Amount', * ] * * @return boolean */ public static function addLog($data = []) { $data['created_at'] = $data['updated_at'] = time(); empty($data['status']) && $data['status'] = StatusEnum::STATUS_102; if ( isset($data['refund_id']) && self::find()->where(['refund_id' => $data['refund_id']])->select('id')->one() ) { return true; } $model = new self(); $model->load($data, ''); return $model->save(); } /** * 商城售后订单 * * @return ActiveQuery */ public function getMallOrderRefund() { return $this->hasOne(OrderRefund::class, ['id' => 'refund_id']); } /** * 设置为退款成功 * * @return boolean */ public function success() { $this->updated_at = $this->refund_at = time(); $this->status = StatusEnum::STATUS_100; return $this->save(); } /** * 设置为退款失败 * * @return boolean */ public function fail() { $this->updated_at = time(); $this->status = StatusEnum::STATUS_101; return $this->save(); } }