admin/app/backend/modules/refund/controllers/OperationController.php

97 lines
2.6 KiB
PHP

<?php
namespace app\backend\modules\refund\controllers;
use app\backend\modules\refund\models\RefundApply;
use app\backend\modules\refund\services\RefundOperationService;
use app\common\components\BaseController;
use app\common\events\order\AfterOrderRefundedEvent;
use app\common\events\order\AfterOrderRefundRejectEvent;
use app\common\events\order\AfterOrderRefundSuccessEvent;
use app\common\exceptions\AdminException;
use app\common\models\refund\ResendExpress;
use Illuminate\Support\Facades\DB;
use app\backend\modules\refund\services\RefundMessageService;
/**
* 退款申请操作
* Created by PhpStorm.
* Author:
* Date: 2017/4/13
* Time: 下午3:05
*/
class OperationController extends BaseController
{
/**
* @var $refundApply RefundApply
*/
private $refundApply;
public function preAction()
{
parent::preAction(); // TODO: Change the autogenerated stub
$request = \Request::capture();
$this->validate([
'refund_id' => 'required',
]);
$this->refundApply = RefundApply::find($request->input('refund_id'));
if (!isset($this->refundApply)) {
throw new AdminException('退款记录不存在');
}
}
/**
* 拒绝
* @param \Request $request
* @return mixed
*/
public function reject(\Illuminate\Http\Request $request)
{
RefundOperationService::refundReject(['refund_id' => request()->input('refund_id')]);
return $this->message('操作成功', '');
}
/**
* 同意
* @param \Request $request
* @return mixed
*/
public function pass(\Illuminate\Http\Request $request)
{
RefundOperationService::refundPass(['refund_id' => request()->input('refund_id')]);
return $this->message('操作成功', '');
}
public function receiveReturnGoods()
{
$this->refundApply->receiveReturnGoods();
return $this->message('操作成功', '');
}
public function resend(\Illuminate\Http\Request $request)
{
RefundOperationService::refundResend(['refund_id' => request()->input('refund_id')]);
return $this->message('操作成功', '');
}
public function close()
{
RefundOperationService::refundClose(['refund_id' => request()->input('refund_id')]);
return $this->message('操作成功', '');
}
/**
* 手动退款
* @param \Request $request
* @return mixed
*/
public function consensus(\Illuminate\Http\Request $request)
{
RefundOperationService::refundConsensus(['refund_id' => request()->input('refund_id')]);
return $this->message('操作成功', '');
}
}