|
@@ -244,8 +244,10 @@ class AppointmentService
|
|
|
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'],
|
|
@@ -279,7 +281,7 @@ class AppointmentService
|
|
|
// 支付数据
|
|
|
$pay = [
|
|
|
'join_pay_member_id' => $params['join_appointment_member_id'],
|
|
|
- 'join_pay_order_id' => $orderId,
|
|
|
+ 'join_pay_order_id' => $groupBy,
|
|
|
'pay_amount' => $sheet['order_sheet_pay'],
|
|
|
'pay_remark' => '预约单',
|
|
|
'pay_addtimes' => time(),
|
|
@@ -411,11 +413,13 @@ class AppointmentService
|
|
|
Appointment::where('appointment_id', $appointmentId)->update($data);
|
|
|
|
|
|
// 如果服务结束,没有生成过订单,生成订单
|
|
|
- if ($params['appointment_status'] == 'DONE' && empty($appointment->join_appointment_order_id)) {
|
|
|
+ if ($params['appointment_status'] == 'DONE' && empty($appointment->join_appointment_order_id) && $params['settlement_mode'] != 'QUOTA') {
|
|
|
$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'],
|
|
@@ -450,12 +454,13 @@ class AppointmentService
|
|
|
// 支付数据
|
|
|
$pay = [
|
|
|
'join_pay_member_id' => $params['join_appointment_member_id'],
|
|
|
- 'join_pay_order_id' => $orderId,
|
|
|
+ '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')
|
|
|
+ 'pay_paytimes' => date('Y-m-d H:i:s'),
|
|
|
+ 'pay_category'=>$goods->goods_classify
|
|
|
];
|
|
|
// 现金余额结算
|
|
|
if ($params['settlement_mode'] == 'CASH') {
|
|
@@ -481,40 +486,40 @@ class AppointmentService
|
|
|
Order::where('order_id', $orderId)->update(['order_status_system' => 'CONFIRM', 'order_status_payment' => 'SUCCESS']);
|
|
|
OrderSheet::where('join_sheet_order_id', $orderId)->update(['order_sheet_status' => 'CONFIRM']);
|
|
|
}
|
|
|
- $pay['pay_category'] = 'CASH';
|
|
|
+ // $pay['pay_category'] = 'CASH';
|
|
|
PayDetail::insert($pay);
|
|
|
} elseif ($params['settlement_mode'] == 'QRCODE' && empty($appointment->join_appointment_order_id)) {
|
|
|
- $pay['pay_category'] = 'QRCODE';
|
|
|
+ // $pay['pay_category'] = 'QRCODE';
|
|
|
$pay['pay_status'] = 'SUCCESS';
|
|
|
PayDetail::insert($pay);
|
|
|
// 更新订单状态
|
|
|
Order::where('order_id', $orderId)->update(['order_status_system' => 'CONFIRM', 'order_status_payment' => 'SUCCESS']);
|
|
|
OrderSheet::where('join_sheet_order_id', $orderId)->update(['order_sheet_status' => 'CONFIRM']);
|
|
|
- } else if($params['settlement_mode'] == 'QUOTA' && !empty($params['quota_id'])){
|
|
|
- $premisesName = SysDept::where('dept_id',$params['premises'])->value('dept_name');
|
|
|
- $paramsData = [
|
|
|
- 'member_id'=>$params['join_appointment_member_id'],
|
|
|
- 'nbr'=>$params['person'],
|
|
|
- 'times'=>date('Y-m-d H:i:s'),
|
|
|
- 'write_off_member_id' => $params['write_off_member_id'],
|
|
|
- 'remark'=>$params['appointment_remark'],
|
|
|
- 'dept_premises_id'=>$premisesName
|
|
|
- ];
|
|
|
- $quotaType = substr($params['quota_id'],0,2);
|
|
|
- if($quotaType == 'MQ'){
|
|
|
- $quota = MemberQuota::where('member_quota_id',$params['quota_id'])
|
|
|
- ->select('member_quota_id','join_member_rule_added_component_id')
|
|
|
- ->first()
|
|
|
- ->toArray();
|
|
|
- $paramsData['component_id'] = $quota['join_member_rule_added_component_id'];
|
|
|
-
|
|
|
- QuotaController::doWriteOff($paramsData);
|
|
|
- }else if($quotaType == 'BF'){
|
|
|
- $paramsData['benefit_id'] = $params['quota_id'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 已有服务核销
|
|
|
+ if($params['appointment_status'] == 'DONE' && $params['settlement_mode'] == 'QUOTA' && !empty($params['quota_id'])){
|
|
|
+ $premisesName = SysDept::where('dept_id',$params['premises'])->value('dept_name');
|
|
|
+ $paramsData = [
|
|
|
+ 'member_id'=>$params['join_appointment_member_id'],
|
|
|
+ 'nbr'=>$params['person'],
|
|
|
+ 'times'=>date('Y-m-d H:i:s'),
|
|
|
+ 'write_off_member_id' => $params['write_off_member_id'],
|
|
|
+ 'remark'=>$params['appointment_remark'],
|
|
|
+ 'dept_premises_id'=>$premisesName
|
|
|
+ ];
|
|
|
+ $quotaType = substr($params['quota_id'],0,2);
|
|
|
+ if($quotaType == 'MQ'){
|
|
|
+ $quota = MemberQuota::where('member_quota_id',$params['quota_id'])
|
|
|
+ ->select('member_quota_id','join_member_rule_added_component_id')
|
|
|
+ ->first()
|
|
|
+ ->toArray();
|
|
|
+ $paramsData['component_id'] = $quota['join_member_rule_added_component_id'];
|
|
|
|
|
|
- // dump($paramsData);
|
|
|
- BenefitController::doWriteOff($paramsData);
|
|
|
- }
|
|
|
+ QuotaController::doWriteOff($paramsData);
|
|
|
+ }else if($quotaType == 'BF'){
|
|
|
+ $paramsData['benefit_id'] = $params['quota_id'];
|
|
|
+ BenefitController::doWriteOff($paramsData);
|
|
|
}
|
|
|
}
|
|
|
|