|
@@ -19,6 +19,7 @@ use app\model\PayDetail;
|
|
|
use app\model\SysDept;
|
|
|
use app\model\SysSerial;
|
|
|
use support\Db;
|
|
|
+use support\exception\BusinessException;
|
|
|
use support\Request;
|
|
|
use function _PHPStan_cc8d35ffb\RingCentral\Psr7\str;
|
|
|
|
|
@@ -399,8 +400,11 @@ class AppointmentService
|
|
|
$query->select('join_cert_member_id', 'member_cert_name');
|
|
|
}
|
|
|
])->where('member_id', $params['join_appointment_member_id'])
|
|
|
- ->first()
|
|
|
- ->toArray();
|
|
|
+ ->first();
|
|
|
+ if(!$member){
|
|
|
+ throw new BusinessException("核销人员不存在");
|
|
|
+ }
|
|
|
+ $member = $member->toArray();
|
|
|
$data['appointment_apply_json'] = json_encode([
|
|
|
'name' => !empty($member['cert']['member_cert_name']) ? $member['cert']['member_cert_name'] : $member['member_mobile'],
|
|
|
'mobile' => $member['member_mobile'],
|
|
@@ -415,7 +419,7 @@ class AppointmentService
|
|
|
|
|
|
// 如果服务结束,没有生成过订单,生成订单
|
|
|
if ($params['appointment_status'] == 'DONE' && empty($appointment->join_appointment_order_id) && $params['settlement_mode'] != 'QUOTA') {
|
|
|
- $sku = GoodsSku::find($params['join_appointment_goods_sku_id']);
|
|
|
+ $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 = [
|
|
@@ -526,12 +530,31 @@ class AppointmentService
|
|
|
if(empty($appointment->join_appointment_member_benefit_id)){
|
|
|
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();
|
|
|
return json_success("数据更新成功");
|
|
|
+ }catch(\support\exception\BusinessException $e){
|
|
|
+ Db::rollBack();
|
|
|
+ dump($e->getFile().'--'.$e->getLine());
|
|
|
+ return json_fail($e->getMessage());
|
|
|
} catch (\Exception $e) {
|
|
|
Db::rollBack();
|
|
|
dump($e->getFile().'--'.$e->getLine());
|