diff --git a/app/Admin/Controllers/AppVersionController.php b/app/Admin/Controllers/AppVersionController.php index 4561e109..4b9196c3 100644 --- a/app/Admin/Controllers/AppVersionController.php +++ b/app/Admin/Controllers/AppVersionController.php @@ -140,10 +140,7 @@ class AppVersionController extends AdminController $form->hidden('apk_link'); $form->saving(function (Form $form) { - if ($form->cate && $form->cate ==3) { - $form->cate = 2; - } - $apk_link = 'apk_link'.$form->cate; + $apk_link = 'apk_link'.($form->cate != 3 ??2); $form->apk_link = $form->$apk_link; $form->deleteInput('apk_link1'); diff --git a/app/Admin/Forms/AfterSaleShippingFill.php b/app/Admin/Forms/AfterSaleShippingFill.php index 42713f4f..6a6a4129 100644 --- a/app/Admin/Forms/AfterSaleShippingFill.php +++ b/app/Admin/Forms/AfterSaleShippingFill.php @@ -48,7 +48,7 @@ class AfterSaleShippingFill extends Form implements LazyRenderable /** 处理补发逻辑 **/ //获取售后商品数量 $fillQuantity = $afterSale->num; - $packageProduct = OrderPackageProduct::where('order_product_id', $afterSale->order_product_id)->where('quantity', '>', $fillQuantity)->first(); + $packageProduct = OrderPackageProduct::where('order_product_id', $afterSale->order_product_id)->where('quantity', '>=', $fillQuantity)->first(); if (!$packageProduct) { throw new BizException('补发包裹未找到或者售后补发数量异常'); } diff --git a/app/Admin/Forms/AfterSaleVerify.php b/app/Admin/Forms/AfterSaleVerify.php index a811d694..75ded9a4 100644 --- a/app/Admin/Forms/AfterSaleVerify.php +++ b/app/Admin/Forms/AfterSaleVerify.php @@ -43,7 +43,15 @@ class AfterSaleVerify extends Form implements LazyRenderable $afterSale = AfterSale::where('state', AfterSale::STATE_VERIFY)->findOrFail($this->payload['id']); if ($input['state'] == 3) {//审核通过 $amount = Arr::get($input, 'amount', 0); - if ($amount > $afterSale->orderProduct->total_amount) { + $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 ($amount > ($afterSale->orderProduct->total_amount - $finishedAfterSale->sum('amount'))) { throw new BizException('退款金额不能大于商品实付金额'); } $afterSaleService->verify($afterSale, $input['remarks3'], (int) Arr::get($input, 'amount', 0));