修正了im推送

This commit is contained in:
wucongxing8150 2024-04-23 15:09:56 +08:00
parent 1c302c84a2
commit 9b8bf264a3

View File

@ -342,6 +342,30 @@ class ImService extends BaseService
// 获取服务包订单编号-通过问诊订单id
$order_service_no = $OrderServicePackageService->getOrderServiceNoByOrderInquiryId($order_inquiry['inquiry_no']);
// 获取服务包订单数据
$params = array();
$params['order_service_no'] = $order_service_no;
$order_service_package = OrderServicePackage::getOne($params);
if (empty($order_service_package)){
throw new BusinessException("im消息发送失败");
}
// 获取服务包订单详情数据
$params = array();
$params['order_service_no'] = $order_service_no;
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
if (empty($order_service_package_detail)){
throw new BusinessException("im消息发送失败");
}
// 获取服务包当月已问诊次数
$month_inquiry_count = 0;
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['start_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){
@ -349,6 +373,16 @@ class ImService extends BaseService
}else{
$message_content_data['desc'] = "温馨提示:医生繁忙请耐心等待,医生接诊后会第一时间通知您。";
}
$message_content_data['data']['remaining_month_inquiry_count'] = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count; // 服务包当月剩余问诊次数
if (!empty($order_service_package['start_time'])){
$message_content_data['data']['service_package_start_time'] = date('Y-m-d H:i',strtotime($order_service_package['start_time'])); // 服务包开始时间
}
if (!empty($order_service_package['finish_time'])){
$message_content_data['data']['service_package_finish_time'] = date('Y-m-d H:i',strtotime($order_service_package['finish_time'])); // 服务包结束时间
}
$message_content_data['data']['service_period'] = $order_service_package_detail['service_period']; // 服务包服务周期
}else{
$message_content_data['desc'] = "温馨提示当前服务为专家问诊医师接诊后可以在24小时内和医生沟通20个回合。医生繁忙请耐心等待医生接诊会后第一时间短信通知您。";
}
@ -425,6 +459,14 @@ class ImService extends BaseService
throw new BusinessException("im消息发送失败");
}
// 获取服务包当月已问诊次数
$month_inquiry_count = 0;
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['start_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
}
// 转换服务包订单类型为汉字
$order_type = orderServiceTypeToString($order_service_package['order_service_type']);
@ -486,6 +528,17 @@ class ImService extends BaseService
$message_content_data['desc'] = "医生已接诊,{$order_type}服务本月剩余{$remaining_inquiry_count}/不限次,服务周期为:{$start_time}~{$finish_time},线上咨询不能代表面诊,医生的回复仅为建议。";
}
}
$message_content_data['data']['remaining_month_inquiry_count'] = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count; // 服务包当月剩余问诊次数
if (!empty($order_service_package['start_time'])){
$message_content_data['data']['service_package_start_time'] = date('Y-m-d H:i',strtotime($order_service_package['start_time'])); // 服务包开始时间
}
if (!empty($order_service_package['finish_time'])){
$message_content_data['data']['service_package_finish_time'] = date('Y-m-d H:i',strtotime($order_service_package['finish_time'])); // 服务包结束时间
}
$message_content_data['data']['service_period'] = $order_service_package_detail['service_period']; // 服务包服务周期
}else{
$message_content_data['desc'] = "医生已接诊,为提高沟通效率,您可一次性如实补充病情(具体症状,患病时长,用药情况及想咨询的问题等)。线上咨询不能代替面诊,医生建议仅供参考。";
}
@ -649,6 +702,22 @@ class ImService extends BaseService
throw new BusinessException("im消息发送失败");
}
// 获取服务包订单详情
$params = array();
$params['order_service_no'] = $order_service_package['order_service_no'];
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
if (empty($order_service_package_detail)){
throw new BusinessException("im消息发送失败");
}
// 获取服务包当月已问诊次数
$month_inquiry_count = 0;
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['start_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){
@ -658,6 +727,16 @@ class ImService extends BaseService
$message_content_data['title'] = "—问诊退款—";
$message_content_data['desc'] = "平台已自动发起退款,请注意查看账户信息。";
}
$message_content_data['data']['remaining_month_inquiry_count'] = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count; // 服务包当月剩余问诊次数
if (!empty($order_service_package['start_time'])){
$message_content_data['data']['service_package_start_time'] = date('Y-m-d H:i',strtotime($order_service_package['start_time'])); // 服务包开始时间
}
if (!empty($order_service_package['finish_time'])){
$message_content_data['data']['service_package_finish_time'] = date('Y-m-d H:i',strtotime($order_service_package['finish_time'])); // 服务包结束时间
}
$message_content_data['data']['service_period'] = $order_service_package_detail['service_period']; // 服务包服务周期
}else{
$message_content_data['title'] = "—问诊退款—";
$message_content_data['desc'] = "平台已自动发起退款,请注意查看账户信息。";