调整服务包当月已问诊次数获取方式

This commit is contained in:
wucongxing8150 2024-05-09 09:18:09 +08:00
parent 7409abe741
commit 726cb70bfc
5 changed files with 71 additions and 11 deletions

View File

@ -457,10 +457,18 @@ class ImService extends BaseService
$start_time = date('Y年m月d日 H时i分',strtotime($order_service_package['start_time']));
$finish_time = date('Y年m月d日 H时i分',strtotime($order_service_package['finish_time']));
// 检测问诊是否服务包首次问诊
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
// 获取服务包当月剩余问诊次数
if ($order_service_package_detail['monthly_frequency'] != 0 && !empty($order_service_package['start_time'])) {
$OrderServicePackageService = new OrderServicePackageService();
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$order_service_package['user_id'], $order_service_package['doctor_id']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$order_service_package['user_id'], $order_service_package['doctor_id']);
}
$remaining_inquiry_count = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count;
if ($remaining_inquiry_count < 0){
$remaining_inquiry_count = 0;
@ -470,7 +478,6 @@ class ImService extends BaseService
}
// 检测问诊是否服务包首次问诊
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
if ($is_first){
$message_content_data['desc'] = "医生已接诊,{$order_type}服务开始,服务周期为:{$start_time}~{$finish_time},线上咨询不能代表面诊,医生的回复仅为建议。";
}else{

View File

@ -1591,7 +1591,15 @@ class InquiryService extends BaseService
if ($order_service_package_detail['monthly_frequency'] != 0 && !empty($order_service_package['start_time'])) {
// 获取服务包当月已问诊次数
$OrderServicePackageService = new OrderServicePackageService();
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
// 检测问诊是否服务包首次问诊
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_package['order_service_no']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
}
}
// 处理剩余服务天数

View File

@ -3278,8 +3278,15 @@ class MessagePush extends BaseService
$OrderServicePackageService = new OrderServicePackageService();
if ($order_service_package_detail['monthly_frequency'] != 0) {
// 获取服务包当月已问诊次数
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($this->order_service_package['pay_time'],$this->order_service_package['order_service_type'],$this->order_service_package['user_id'], $this->order_service_package['doctor_id']);
// 检测问诊是否服务包首次问诊
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($this->order_service_package['order_service_no']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
// 获取服务包当月已问诊次数
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($this->order_service_package['pay_time'],$this->order_service_package['order_service_type'],$this->order_service_package['user_id'], $this->order_service_package['doctor_id']);
}
// 获取服务包当月剩余问诊次数
$remaining_inquiry_count = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count;

View File

@ -174,7 +174,15 @@ class OrderServicePackageService extends BaseService
// 3.5号购买每月2次问诊次数。今天5.3,属于第几个月,这个月的开始时间和结束时间
if ($order_service_package_detail['monthly_frequency'] != 0) {
// 获取服务包当月已问诊次数
$month_inquiry_count = $this->getCurrentMonthInquiryCount($order_service_package['pay_time'],$service_type,$user_info['user_id'], $doctor_id);
// 检测问诊是否服务包首次问诊
$OrderServicePackageService = new OrderServicePackageService();
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_package['order_service_no']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $this->getCurrentMonthInquiryCount($order_service_package['pay_time'],$service_type,$user_info['user_id'], $doctor_id);
}
if ($month_inquiry_count >= $order_service_package_detail['monthly_frequency']) {
// 超出当月问诊次数
@ -670,7 +678,14 @@ class OrderServicePackageService extends BaseService
// 3.5号购买每月2次问诊次数。今天5.3,属于第几个月,这个月的开始时间和结束时间
if ($order_service_package_detail['monthly_frequency'] != 0) {
// 获取服务包当月已问诊次数
$month_inquiry_count = $this->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$user_info['user_id'], $order_service_package['doctor_id']);
$OrderServicePackageService = new OrderServicePackageService();
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_package['order_service_no']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $this->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$user_info['user_id'], $order_service_package['doctor_id']);
}
if ($month_inquiry_count >= $order_service_package_detail['monthly_frequency']) {
return fail(HttpEnumCode::HTTP_ERROR, "超出服务包所包含的当月问诊次数");
@ -1116,7 +1131,14 @@ class OrderServicePackageService extends BaseService
// 3.5号购买每月2次问诊次数。今天5.3,属于第几个月,这个月的开始时间和结束时间
if ($order_service_package_detail['monthly_frequency'] != 0) {
// 获取服务包当月已问诊次数
$month_inquiry_count = $this->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$user_info['user_id'], $order_service_package['doctor_id']);
$OrderServicePackageService = new OrderServicePackageService();
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_package['order_service_no']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $this->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$user_info['user_id'], $order_service_package['doctor_id']);
}
if ($month_inquiry_count >= $order_service_package_detail['monthly_frequency']) {
// 超出当月问诊次数
@ -1559,13 +1581,23 @@ class OrderServicePackageService extends BaseService
return [];
}
// 每月问诊次数0表示不限次
$monthly_frequency = $order_service_package_detail['monthly_frequency'];
// 获取服务包当月已问诊次数
$month_inquiry_count = 0;
if ($order_service_package_detail['monthly_frequency'] != 0) {
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
// 检测问诊是否服务包首次问诊
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
}
}
// 服务包当月剩余问诊次数

View File

@ -3317,7 +3317,13 @@ class PatientOrderService extends BaseService
$result['order_service_package']['current_month_finish_date'] = $current_month_date['current_month_finish_date'];
// 获取服务包当月已问诊次数
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_package['order_service_no']);
if ($is_first){
// 首次必定只问诊了一次
$month_inquiry_count = 1;
}else{
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
}
// 获取服务包当月剩余问诊次数
if ($order_service_package_detail['monthly_frequency'] != 0) {