调整售后审核问题
parent
b152fbab4a
commit
28b9d2b0ac
|
|
@ -44,16 +44,21 @@ class AfterSaleVerify extends Form implements LazyRenderable
|
|||
if ($input['state'] == 3) {//审核通过
|
||||
$amount = Arr::get($input, 'amount', 0);
|
||||
$afterSale->load(['order', 'order.afterSales']);
|
||||
//已完成的售后单
|
||||
$finishedAfterSale = $afterSale->order->afterSales->filter(function ($items) {
|
||||
if ($items->state == AfterSale::STATE_FINISH && in_array($items->type, [AfterSale::TYPE_REFUND_AND_RETURN, AfterSale::TYPE_REFUND, Aftersale::TYPE_CHANGE])) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
//处理同一个商品多次售后问题;//退款退货、退款、换货
|
||||
if (in_array($afterSale->type, [AfterSale::TYPE_REFUND_AND_RETURN, AfterSale::TYPE_REFUND, Aftersale::TYPE_CHANGE])) {
|
||||
$finishedAfterSale = $afterSale->order->afterSales->filter(function ($items) use ($afterSale) {
|
||||
if ($afterSale->order_product_id == $items->order_product_id//同一个售后商品
|
||||
&& $items->state == AfterSale::STATE_FINISH //售后状态是完成了
|
||||
&& in_array($items->type, [AfterSale::TYPE_REFUND_AND_RETURN, AfterSale::TYPE_REFUND, Aftersale::TYPE_CHANGE])//售后类型为退款退货,退款,换货
|
||||
) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if ($amount > ($afterSale->orderProduct->total_amount - $finishedAfterSale->sum('amount'))) {
|
||||
throw new BizException('退款金额不能大于商品实付金额');
|
||||
}
|
||||
});
|
||||
if ($amount > ($afterSale->orderProduct->total_amount - $finishedAfterSale->sum('amount'))) {
|
||||
throw new BizException('退款金额不能大于商品实付金额');
|
||||
}
|
||||
$afterSaleService->verify($afterSale, $input['remarks3'], (int) Arr::get($input, 'amount', 0));
|
||||
} elseif ($input['state'] == 1) {//需要补充资料
|
||||
|
|
|
|||
Loading…
Reference in New Issue