调整售后流程
parent
df17196b3f
commit
9757b5a19e
|
|
@ -82,7 +82,7 @@ class AfterSaleController extends Controller
|
|||
*/
|
||||
public function show($id, Request $request)
|
||||
{
|
||||
$afterSale = $request->user()->afterSales()->find($id);
|
||||
$afterSale = $request->user()->afterSales()->findOrFail($id);
|
||||
return AfterSaleResource::make($afterSale);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class AfterSale extends Model
|
|||
}
|
||||
|
||||
/**
|
||||
* 取消日志
|
||||
* 取消售后订单日志
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
@ -110,6 +110,20 @@ class AfterSale extends Model
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成售后订单日志
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function createFinishLog()
|
||||
{
|
||||
$this->logs()->create([
|
||||
'after_sale_id' => $this->id,
|
||||
'name' => '售后完成',
|
||||
'desc' => '售后已结束',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -124,6 +138,10 @@ class AfterSale extends Model
|
|||
if ($afterSale->state == self::STATE_CANCEL) {
|
||||
$afterSale->createCancelLog();
|
||||
}
|
||||
//如果完成订单
|
||||
if ($afterSale->state == self::STATE_FINISH) {
|
||||
$afterSale->createFinishLog();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -224,28 +224,39 @@ class AfterSaleService
|
|||
{
|
||||
if ($this->isWaitAgree($afterSale)) {
|
||||
switch ($afterSale->type) {
|
||||
case AfterSale::TYPE_REFUND:
|
||||
if (isset($params['tracking_number'])) {
|
||||
unset($params['tracking_number']);
|
||||
}
|
||||
case AfterSale::TYPE_REFUND_AND_RETURN:
|
||||
$afterSale->update([
|
||||
'tracking_number'=>$params['tracking_number'],
|
||||
'remarks'=> $remarks,
|
||||
'state' => AfterSale::STATE_SHIPPING,
|
||||
]);
|
||||
break;
|
||||
case AfterSale::TYPE_REFUND://退款订单
|
||||
$afterSale->update([
|
||||
'remarks'=> $remarks,
|
||||
'state' => AfterSale::STATE_FINANCE,
|
||||
]);
|
||||
break;
|
||||
case AfterSale::TYPE_CHANGE:
|
||||
$afterSale->update([
|
||||
'remarks' => $remarks.',已为您生成新订单,请注意查收。',
|
||||
'state' => AfterSale::STATE_FINISH,
|
||||
]);
|
||||
//todo - 生成新订单以及发货单;
|
||||
break;
|
||||
case AfterSale::TYPE_FILL:
|
||||
if (isset($params['tracking_number'])) {
|
||||
unset($params['tracking_number']);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$afterSale->update([
|
||||
'remarks' => $remarks,
|
||||
'state' => AfterSale::STATE_FINISH,
|
||||
]);
|
||||
break;
|
||||
}
|
||||
|
||||
$afterSale->update(array_merge($params, [
|
||||
'remarks' => $remarks,
|
||||
]));
|
||||
AfterSaleLog::create([
|
||||
'after_sale_id' => $afterSale->id,
|
||||
'name' => '客户确认',
|
||||
'desc' => $remarks,
|
||||
]);
|
||||
return $afterSale;
|
||||
} else {
|
||||
throw new BizException('售后订单状态异常,请稍后再试');
|
||||
}
|
||||
|
|
@ -286,19 +297,14 @@ class AfterSaleService
|
|||
|
||||
//todo-执行实际退款操作;
|
||||
|
||||
$afterSale->update([
|
||||
'state' => $afterSale::STATE_FINISH,
|
||||
'remarks' => $remarks,
|
||||
]);
|
||||
AfterSaleLog::create([
|
||||
'after_sale_id' => $afterSale->id,
|
||||
'name' => '财务审核',
|
||||
'desc' => $remarks,
|
||||
]);
|
||||
AfterSaleLog::create([
|
||||
'after_sale_id' => $afterSale->id,
|
||||
'name' => '售后完成',
|
||||
'desc' => '售后已结束',
|
||||
$afterSale->update([
|
||||
'state' => $afterSale::STATE_FINISH,
|
||||
'remarks' => $remarks,
|
||||
]);
|
||||
} else {
|
||||
throw new BizException('该售后订单状态异常');
|
||||
|
|
|
|||
Loading…
Reference in New Issue