|
@@ -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);
|