From 1192de2dc4ab485d5665559f37b37be5e4372f4c Mon Sep 17 00:00:00 2001 From: weizong song Date: Tue, 13 Apr 2021 00:11:02 +0800 Subject: [PATCH] up --- .../Controllers/Manager/OrdersController.php | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index 37d81bf..a6085a6 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -756,9 +756,19 @@ class OrdersController extends CommonController * description="返回消息;有errorcode时为错误内容,无errorcode时为提示内容" * ), * @OA\Property( + * property="prepay_total", + * type="decimal", + * description="总计需要预扣的金额,入参just_check为1时返回" + * ), + * @OA\Property( + * property="customer_balance", + * type="decimal", + * description="客户余额,入参just_check为1时返回" + * ), + * @OA\Property( * property="to_recharge_total", * type="decimal", - * description="需要充值的金额" + * description="需要充值的金额,入参just_check为1时(此时to_recharge_total值如果大于0则需要充值)或just_check为0但是客户余额不足时(此时to_recharge_total值一定大于0)返回" * ), * @OA\Property( * property="updated_items", @@ -768,6 +778,8 @@ class OrdersController extends CommonController * example={ * "errorcode": "30003", * "errormsg": "截止到中途结算日,没有需要结算的子订单,如需预充值请发起收款操作", + * "prepay_total": 1000, + * "customer_balance": 10, * "to_recharge_total": 990, * "checkout_items": 10 * } @@ -780,16 +792,23 @@ class OrdersController extends CommonController public function checkoutOrderItems($order_id, Request $request) { $order = Orders::with("customer")->find($order_id); + if ($order->status != Orders::STATUS_ONGOING) { + return response()->json([ + "errorcode" => 30000, + "errormsg" => "订单状态不匹配" + ]); + } + $order_items = OrderItems::where("order_id", $order_id)->whereRaw("DATEDIFF('{$request->to_date}',`service_date`) >= 0")->orderBy("service_date", "asc")->get(); $unpaid_order_items = $order_items->filter(function ($item) { return $item->total > 0 && !$item->paid_at; }); if ($order_items->count()) { - $to_generate_days = Carbon::parse($request->to_date)->diffInDays($order_items->last()->service_date, false); + $to_generate_days = Carbon::parse($order_items->last()->service_date)->diffInDays($request->to_date, false); $to_generate_start_date = Carbon::parse($order_items->last()->service_date)->addDay()->toDateString(); } else { - $to_generate_days = Carbon::parse($request->to_date)->diffInDays($order->from_date, false) + 1; + $to_generate_days = Carbon::parse($order->from_date)->diffInDays($request->to_date, false) + 1; $to_generate_start_date = $order->from_date; } $to_generate_days = max(0, $to_generate_days); @@ -799,6 +818,8 @@ class OrdersController extends CommonController //如果只是检查一下需要充值金额,直接返回 if ($request->just_check) { return response()->json([ + "prepay_total" => $prepay_total, + "customer_balance" => $order->customer->balance, "to_recharge_total" => $to_recharge_total ]); } @@ -831,6 +852,7 @@ class OrdersController extends CommonController $new_item = (new OrderItems())->createItem($order->id, $service_date); $unpaid_order_items->concat($new_item); } + dd($unpaid_order_items); foreach ($unpaid_order_items as $order_item) { //更新子订单支付状态