weizong song 5 years ago
parent 3bf2888c6a
commit 1192de2dc4

@ -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) {
//更新子订单支付状态

Loading…
Cancel
Save