Browse Source

预约调整

gorden 7 months ago
parent
commit
cb1cb37ac9
1 changed files with 85 additions and 82 deletions
  1. 85 82
      app/admin/service/order/AppointmentService.php

+ 85 - 82
app/admin/service/order/AppointmentService.php

@@ -242,6 +242,7 @@ class AppointmentService
                 'appointment_addtimes' => time(),
                 'appointment_mode' => $params['appointment_mode'] ?? '',
                 'settlement_mode' => $params['settlement_mode'] ?? '',
+                'appointment_platform' => 'SYSTEM'
             ];
 
             if (!empty($params['join_appointment_member_id'])) {
@@ -266,88 +267,89 @@ class AppointmentService
             Appointment::insert($data);
 
             // 如果预约已完成,生成订单
-            if ($params['appointment_status'] == 'DONE') {
-                $sku = GoodsSku::find($params['join_appointment_goods_sku_id']);
-                $orderId = 'OD' . date('YmdHis') . random_string(6, 'up');
-                $groupBy = 'OD' . date('YmdHis') . random_string(6, 'up');
-                $order = [
-                    'order_id' => $orderId,
-                    'order_groupby' => $groupBy,
-                    'join_order_member_id' => $params['join_appointment_member_id'],
-                    'order_name' => "预约-" . $goods->goods_name,
-                    'order_amount_total' => $sku->goods_sku_sales_price * $params['person'],
-                    'order_amount_pay' => $sku->goods_sku_sales_price * $params['person'],
-                    'order_is_complete' => 'N',
-                    'order_category' => $goods->goods_classify,
-                    'order_status_system' => 'PAYING',
-                    'order_status_payment' => 'PENDING',
-                    'order_status_storage' => 'PENDING',
-                    'order_addtimes' => time()
-                ];
-                Order::insert($order);
-                // 订单详情
-                $sheet = [
-                    'join_sheet_member_id' => $params['join_appointment_member_id'],
-                    'join_sheet_order_id' => $orderId,
-                    'join_sheet_goods_id' => $params['join_appointment_goods_id'],
-                    'order_sheet_status' => 'PAYING',
-                    'order_sheet_category' => 'APPOINTMENT',
-                    'order_sheet_unit' => '套',
-                    'order_sheet_num' => $params['person'],
-                    'order_sheet_price' => $sku->goods_sku_sales_price,
-                    'order_sheet_amount' => $sku->goods_sku_sales_price * $params['person'],
-                    'order_sheet_pay' => $sku->goods_sku_sales_price * $params['person'],
-                    'order_sheet_task_status' => 'NONE',
-                    'order_sheet_addtimes' => time()
-                ];
-                OrderSheet::insert($sheet);
-                // 订单号更新到预约
-                Appointment::where('appointment_id', $data['appointment_id'])->update(['join_appointment_order_id' => $orderId]);
-                // 支付数据
-                $pay = [
-                    'join_pay_member_id' => $params['join_appointment_member_id'],
-                    'join_pay_order_id' => $groupBy,
-                    'pay_amount' => $sheet['order_sheet_pay'],
-                    'pay_remark' => '预约单',
-                    'pay_addtimes' => time(),
-                    'pay_prepayid' => $params['join_appointment_member_id'] . '-' . $params['settlement_mode'],
-                    'pay_paytimes' => date('Y-m-d H:i:s'),
-                    'join_pay_object_json' => json_encode(['appointment_id' => $appointmentId]),
-                    'pay_category' => "APPOINTMENT"
-                ];
-                // 现金余额结算
-                if ($params['settlement_mode'] == 'CASH') {
-                    $account = MemberAccount::where('join_account_member_id', $params['join_appointment_member_id'])
-                        ->where('member_account_classify', 'CASH')
-                        ->where('member_account_status', 'ACTIVED')
-                        ->first();
-                    if (!$account) {
-                        Db::rollBack();
-                        return json_fail('当前账户不存在或已过期');
-                    }
-
-                    if ($account->member_account_surplus < $sheet['order_sheet_pay']) {
-                        throw new BusinessException("账户余额不足");
-//                        $pay['pay_status'] = 'PENDING';
-                    } else {
-                        MemberAccount::where('member_account_id', $account->member_account_id)->update([
-                            'member_account_expend' => $account->member_account_expend + $sheet['order_sheet_pay'],
-                            'member_account_surplus' => $account->member_account_surplus - $sheet['order_sheet_pay']
-                        ]);
-                        $pay['pay_status'] = 'SUCCESS';
-                        // 更新订单状态
-                        Order::where('order_id', $orderId)->update(['order_status_system' => 'DONE','order_is_complete'=>'Y', 'order_status_payment' => 'SUCCESS']);
-                        OrderSheet::where('join_sheet_order_id', $orderId)->update(['order_sheet_status' => 'DONE']);
-                    }
-                    PayDetail::insert($pay);
-                } elseif ($params['settlement_mode'] == 'QRCODE') {
-                    $pay['pay_status'] = 'SUCCESS';
-                    PayDetail::insert($pay);
-                    // 更新订单状态
-                    Order::where('order_id', $orderId)->update(['order_status_system' => 'DONE','order_is_complete'=>'Y', 'order_status_payment' => 'SUCCESS']);
-                    OrderSheet::where('join_sheet_order_id', $orderId)->update(['order_sheet_status' => 'DONE']);
-                }
-            }
+//             if ($params['appointment_status'] == 'DONE') {
+//                 $sku = GoodsSku::find($params['join_appointment_goods_sku_id']);
+//                 $orderId = 'OD' . date('YmdHis') . random_string(6, 'up');
+//                 $groupBy = 'OD' . date('YmdHis') . random_string(6, 'up');
+//                 $order = [
+//                     'order_id' => $orderId,
+//                     'order_groupby' => $groupBy,
+//                     'join_order_member_id' => $params['join_appointment_member_id'],
+//                     'order_name' => "预约-" . $goods->goods_name,
+//                     'order_amount_total' => $sku->goods_sku_sales_price * $params['person'],
+//                     'order_amount_pay' => $sku->goods_sku_sales_price * $params['person'],
+//                     'order_is_complete' => 'N',
+//                     'order_category' => $goods->goods_classify,
+//                     'order_status_system' => 'PAYING',
+//                     'order_status_payment' => 'PENDING',
+//                     'order_status_storage' => 'PENDING',
+//                     'order_platform' => 'SYSTEM',
+//                     'order_addtimes' => time()
+//                 ];
+//                 Order::insert($order);
+//                 // 订单详情
+//                 $sheet = [
+//                     'join_sheet_member_id' => $params['join_appointment_member_id'],
+//                     'join_sheet_order_id' => $orderId,
+//                     'join_sheet_goods_id' => $params['join_appointment_goods_id'],
+//                     'order_sheet_status' => 'PAYING',
+//                     'order_sheet_category' => 'APPOINTMENT',
+//                     'order_sheet_unit' => '套',
+//                     'order_sheet_num' => $params['person'],
+//                     'order_sheet_price' => $sku->goods_sku_sales_price,
+//                     'order_sheet_amount' => $sku->goods_sku_sales_price * $params['person'],
+//                     'order_sheet_pay' => $sku->goods_sku_sales_price * $params['person'],
+//                     'order_sheet_task_status' => 'NONE',
+//                     'order_sheet_addtimes' => time()
+//                 ];
+//                 OrderSheet::insert($sheet);
+//                 // 订单号更新到预约
+//                 Appointment::where('appointment_id', $data['appointment_id'])->update(['join_appointment_order_id' => $orderId]);
+//                 // 支付数据
+//                 $pay = [
+//                     'join_pay_member_id' => $params['join_appointment_member_id'],
+//                     'join_pay_order_id' => $groupBy,
+//                     'pay_amount' => $sheet['order_sheet_pay'],
+//                     'pay_remark' => '预约单',
+//                     'pay_addtimes' => time(),
+//                     'pay_prepayid' => $params['join_appointment_member_id'] . '-' . $params['settlement_mode'],
+//                     'pay_paytimes' => date('Y-m-d H:i:s'),
+//                     'join_pay_object_json' => json_encode(['appointment_id' => $appointmentId]),
+//                     'pay_category' => "APPOINTMENT"
+//                 ];
+//                 // 现金余额结算
+//                 if ($params['settlement_mode'] == 'CASH') {
+//                     $account = MemberAccount::where('join_account_member_id', $params['join_appointment_member_id'])
+//                         ->where('member_account_classify', 'CASH')
+//                         ->where('member_account_status', 'ACTIVED')
+//                         ->first();
+//                     if (!$account) {
+//                         Db::rollBack();
+//                         return json_fail('当前账户不存在或已过期');
+//                     }
+
+//                     if ($account->member_account_surplus < $sheet['order_sheet_pay']) {
+//                         throw new BusinessException("账户余额不足");
+// //                        $pay['pay_status'] = 'PENDING';
+//                     } else {
+//                         MemberAccount::where('member_account_id', $account->member_account_id)->update([
+//                             'member_account_expend' => $account->member_account_expend + $sheet['order_sheet_pay'],
+//                             'member_account_surplus' => $account->member_account_surplus - $sheet['order_sheet_pay']
+//                         ]);
+//                         $pay['pay_status'] = 'SUCCESS';
+//                         // 更新订单状态
+//                         Order::where('order_id', $orderId)->update(['order_status_system' => 'DONE','order_is_complete'=>'Y', 'order_status_payment' => 'SUCCESS']);
+//                         OrderSheet::where('join_sheet_order_id', $orderId)->update(['order_sheet_status' => 'DONE']);
+//                     }
+//                     PayDetail::insert($pay);
+//                 } elseif ($params['settlement_mode'] == 'QRCODE') {
+//                     $pay['pay_status'] = 'SUCCESS';
+//                     PayDetail::insert($pay);
+//                     // 更新订单状态
+//                     Order::where('order_id', $orderId)->update(['order_status_system' => 'DONE','order_is_complete'=>'Y', 'order_status_payment' => 'SUCCESS']);
+//                     OrderSheet::where('join_sheet_order_id', $orderId)->update(['order_sheet_status' => 'DONE']);
+//                 }
+//             }
 
             Db::commit();
             _syslog("预约","添加预约成功");
@@ -478,6 +480,7 @@ class AppointmentService
                     'order_status_system' => 'PAYING',
                     'order_status_payment' => 'PENDING',
                     'order_status_storage' => 'PENDING',
+                    'order_platform' => 'SYSTEM',
                     'order_addtimes' => time()
                 ];
                 Order::insert($order);