|
@@ -356,8 +356,8 @@ class AppointmentService
|
|
|
foreach ($extendJson['times'] as $key => $time) {
|
|
|
if ($time['duration'] == $params['appointment_times']) {
|
|
|
if (!empty($appointments)){
|
|
|
- foreach ($appointments as $appointment) {
|
|
|
- $applyJson = json_decode($appointment['appointment_apply_json'], true);
|
|
|
+ foreach ($appointments as $appointmentItem) {
|
|
|
+ $applyJson = json_decode($appointmentItem['appointment_apply_json'], true);
|
|
|
$applyJsonTimes = $applyJson['times'] ?? '';
|
|
|
|
|
|
if ($time['duration'] == $applyJsonTimes) {
|
|
@@ -501,17 +501,50 @@ 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']);
|
|
|
}
|
|
|
+
|
|
|
+ // 回写权益表
|
|
|
+ $benefitId = 'BF'.date('YmdHis').random_string(6,'up');
|
|
|
+ $benefitData = [
|
|
|
+ 'member_benefit_id'=>$benefitId,
|
|
|
+ 'join_benefit_member_id'=>$params['join_appointment_member_id'],
|
|
|
+ 'join_benefit_goods_id'=>$params['join_appointment_goods_id'],
|
|
|
+ 'join_benefit_goods_sku_id'=>$params['join_appointment_goods_sku_id'] ?? '',
|
|
|
+ 'join_benefit_order_id'=>$orderId,
|
|
|
+ 'member_benefit_status'=>'DONE',
|
|
|
+ 'member_benefit_name'=>$goods->goods_name,
|
|
|
+ 'member_benefit_limit_count'=>1,
|
|
|
+ 'member_benefit_used_count'=>1,
|
|
|
+ 'member_benefit_addtimes'=>time()
|
|
|
+ ];
|
|
|
+ MemberBenefit::insert($benefitData);
|
|
|
+
|
|
|
+ // $premisesName = SysDept::where('dept_id',$params['premises'])->value('dept_name');
|
|
|
+ // 记录核销
|
|
|
+ $paramsData = [
|
|
|
+ 'dept_premises_id' => $params['premises'],
|
|
|
+ 'order_remark'=>$params['appointment_remark'],
|
|
|
+ 'write_off_member_id' => $params['write_off_member_id'],
|
|
|
+ 'join_order_member_id' => $params['join_appointment_member_id'],
|
|
|
+ ];
|
|
|
+ $writeOffData = OrderService::generateWriteOffData($paramsData);
|
|
|
+
|
|
|
+ Appointment::where('appointment_id', $appointmentId)->update([
|
|
|
+ 'join_appointment_member_benefit_id' => $benefitId,
|
|
|
+ 'appointment_status' => 'DONE',
|
|
|
+ 'appointment_done_datetime' => $params['appointment_done_datetime'] ? date('Y-m-d H:i:s', strtotime($params['appointment_done_datetime'])) : null,
|
|
|
+ 'appointment_done_json' => json_encode($writeOffData)
|
|
|
+ ]);
|
|
|
}
|
|
|
// 已有服务核销
|
|
|
if($params['appointment_status'] == 'DONE' && $params['settlement_mode'] == 'QUOTA' && !empty($params['quota_id'])){
|
|
|
- $premisesName = SysDept::where('dept_id',$params['premises'])->value('dept_name');
|
|
|
+ // $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
|
|
|
+ 'dept_premises_id'=>$params['premises']
|
|
|
];
|
|
|
$quotaType = substr($params['quota_id'],0,2);
|
|
|
if($quotaType == 'MQ'){
|
|
@@ -531,22 +564,6 @@ class AppointmentService
|
|
|
Appointment::where('appointment_id', $appointmentId)->update(['join_appointment_member_benefit_id' => $params['quota_id']]);
|
|
|
}
|
|
|
}
|
|
|
- if($params['appointment_status'] == 'DONE' && $params['settlement_mode'] != 'QUOTA'){
|
|
|
- $premisesName = SysDept::where('dept_id',$params['premises'])->value('dept_name');
|
|
|
- // 记录核销
|
|
|
- $paramsData = [
|
|
|
- 'dept_premises_id' => $premisesName,
|
|
|
- 'order_remark'=>$params['appointment_remark'],
|
|
|
- 'write_off_member_id' => $params['write_off_member_id'],
|
|
|
- 'join_order_member_id' => $params['join_appointment_member_id'],
|
|
|
- ];
|
|
|
- $writeOffData = OrderService::generateWriteOffData($paramsData);
|
|
|
- Appointment::where('appointment_id', $appointment->appointment_id)->update([
|
|
|
- 'appointment_status' => 'DONE',
|
|
|
- 'appointment_done_datetime' => $params['appointment_done_datetime'] ? date('Y-m-d H:i:s', strtotime($params['appointment_done_datetime'])) : null,
|
|
|
- 'appointment_done_json' => json_encode($writeOffData)
|
|
|
- ]);
|
|
|
- }
|
|
|
|
|
|
|
|
|
Db::commit();
|