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