修改im消息推送
This commit is contained in:
parent
ace286e096
commit
35ad7ae43a
@ -294,52 +294,20 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = 1;
|
||||
$message_content_data['title'] = "—问诊已结束—";
|
||||
$message_content_data['desc'] = "线上咨询不能代替面诊,医生建议仅供参考。";
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -372,6 +340,15 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = 1;
|
||||
@ -383,30 +360,6 @@ 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['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){
|
||||
@ -414,16 +367,6 @@ 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个回合。医生繁忙请耐心等待,医生接诊会后第一时间短信通知您。";
|
||||
}
|
||||
@ -467,6 +410,15 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = 1;
|
||||
@ -500,14 +452,6 @@ 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['pay_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']);
|
||||
|
||||
@ -526,10 +470,6 @@ class ImService extends BaseService
|
||||
$remaining_inquiry_count = "不限";
|
||||
}
|
||||
|
||||
if ($remaining_inquiry_count == 0){
|
||||
$message_content_data['desc'] = "医生已接诊,为提高沟通效率,您可一次性如实补充病情(具体症状,患病时长,用药情况及想咨询的问题等)。线上咨询不能代替面诊,医生建议仅供参考。";
|
||||
}
|
||||
|
||||
// 检测问诊是否服务包首次问诊
|
||||
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
|
||||
if ($is_first){
|
||||
@ -537,20 +477,13 @@ class ImService extends BaseService
|
||||
}else{
|
||||
// 健康包
|
||||
if ($order_inquiry['inquiry_mode'] == 8){
|
||||
// 获取服务包内药品
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_products = OrderServicePackageProduct::getList($params);
|
||||
if (!empty($order_service_package_products)){
|
||||
$remaining_quantity = 0;
|
||||
foreach ($order_service_package_products as $order_service_package_product){
|
||||
// 获取服务包内某一药品的总数量
|
||||
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_product['product_id']);
|
||||
|
||||
if ($order_service_package['order_service_type'] == 1){
|
||||
// 获取服务包内所有药品
|
||||
$health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']);
|
||||
foreach ($health_package_products as $health_package_product) {
|
||||
// 获取服务包内某一药品的剩余数量
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$order_service_package_product['product_id'],$total_quantity);
|
||||
if ($remaining_quantity > 0){
|
||||
break;
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$health_package_product['product_id'],$health_package_product['quantity']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -560,24 +493,12 @@ class ImService extends BaseService
|
||||
$message_content_data['desc'] = "医生已接诊,健康包服务本月剩余{$remaining_inquiry_count}次问诊,服务周期为:{$start_time}~{$finish_time},线上咨询不能代表面诊,医生的回复仅为建议。";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 随访包
|
||||
if ($order_inquiry['inquiry_mode'] == 9){
|
||||
$message_content_data['desc'] = "医生已接诊,{$order_type}服务本月剩余{$remaining_inquiry_count}/不限次,服务周期为:{$start_time}~{$finish_time},线上咨询不能代表面诊,医生的回复仅为建议。";
|
||||
$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'] = "医生已接诊,为提高沟通效率,您可一次性如实补充病情(具体症状,患病时长,用药情况及想咨询的问题等)。线上咨询不能代替面诊,医生建议仅供参考。";
|
||||
}
|
||||
@ -614,6 +535,15 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = 1;
|
||||
@ -631,22 +561,6 @@ 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['pay_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']);
|
||||
|
||||
@ -659,16 +573,6 @@ 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'] = "医生因工作繁忙未能及时接诊,请您谅解。所支付金额会在24小时内原路退回,再次感谢您的支持";
|
||||
@ -709,6 +613,15 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = $message_type;
|
||||
@ -719,46 +632,6 @@ class ImService extends BaseService
|
||||
$message_content_data['data']['product_name'] = $product_name ?? "药品";
|
||||
$message_content_data['data']['pharmacist_verify_time'] = date('Y-m-d H:i:s', time());
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -791,6 +664,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
@ -801,29 +682,6 @@ 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_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['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){
|
||||
@ -833,16 +691,6 @@ 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'] = "平台已自动发起退款,请注意查看账户信息。";
|
||||
@ -878,6 +726,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 - 患者-医生
|
||||
$message_content_data = array();
|
||||
@ -885,52 +741,11 @@ class ImService extends BaseService
|
||||
$message_content_data['desc'] = "";
|
||||
$message_content_data['data']['order_inquiry_id'] = (string)$order_inquiry['order_inquiry_id'];
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
|
||||
$this->sendMessage($doctor_user_id, $patient_user_id, $message_content, "TIMCustomElem", $cloud_custom_data);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -956,6 +771,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
@ -966,47 +789,6 @@ class ImService extends BaseService
|
||||
$message_content_data['data']['order_prescription_id'] = $order_prescription_id;
|
||||
$message_content_data['data']['product_name'] = $product_name ?: "药品";
|
||||
$message_content_data['data']['pharmacist_verify_time'] = date('Y-m-d H:i:s', time());;
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -1038,53 +820,20 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = 1;
|
||||
$message_content_data['title'] = "—问诊已结束—";
|
||||
$message_content_data['desc'] = "本次问诊服务已正式结束,祝您早日康复,再次感谢您的支持。";
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -1115,6 +864,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
if ($order_inquiry['inquiry_type'] == 1 || $order_inquiry['inquiry_type'] == 3) {
|
||||
// 专家、公益
|
||||
@ -1130,47 +887,6 @@ class ImService extends BaseService
|
||||
$message_content_data['title'] = "您有一个新的问诊服务等待接诊";
|
||||
$message_content_data['desc'] = $desc;
|
||||
$message_content_data['data']['message_path'] = "/Pages/yishi/wenzhen_v2/wenzhen";
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -1273,6 +989,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容
|
||||
$message_content_data = array();
|
||||
@ -1282,47 +1006,6 @@ class ImService extends BaseService
|
||||
$message_content_data['data']['order_no'] = (string)$order_inquiry['inquiry_no'];
|
||||
$message_content_data['data']['disease_desc'] = $disease_desc ?: "";
|
||||
$message_content_data['data']['message_path'] = "user/pages/case/index?order_inquiry_id=" . $order_inquiry['order_inquiry_id']; // 跳转地址(小程序内页)
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -1356,6 +1039,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容
|
||||
$message_content_data = array();
|
||||
@ -1366,47 +1057,6 @@ class ImService extends BaseService
|
||||
$message_content_data['data']['order_no'] = (string)$order_inquiry['inquiry_no'];
|
||||
$message_content_data['data']['message_path'] = "patient/pages/sickForm/sickForm"; // 跳转地址(小程序内页)
|
||||
$message_content_data['data']['case_not_fill_fields'] = $case_fields; // 病例字段,json格式,医生端发送患者端使用(此字段仅针对message_type为12的情况)
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -1440,6 +1090,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容
|
||||
$message_content_data = array();
|
||||
@ -1451,47 +1109,6 @@ class ImService extends BaseService
|
||||
$message_content_data['data']['message_path'] = "user/pages/sick_detail/index"; // 跳转地址(小程序内页)
|
||||
$message_content_data['data']['case_patient_message_path'] = "/patient/sickDetail/sickDetail"; // 跳转地址(小程序内页)
|
||||
$message_content_data['data']['case_filled_fields'] = $case_fields; // 病例字段,json格式,患者端发送医生端使用(此字段仅针对message_type为12的情况)
|
||||
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单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_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['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
}
|
||||
|
||||
$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']; // 服务包服务周期
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
@ -1567,6 +1184,14 @@ class ImService extends BaseService
|
||||
$cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name'];
|
||||
$cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex'];
|
||||
$cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age'];
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
// 获取im消息推送中,服务包订单相关的自定义参数
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$result = $OrderServicePackageService->getImServicePackageCloudCustomData($order_inquiry['inquiry_no']);
|
||||
if (!empty($result)){
|
||||
$cloud_custom_data = $result;
|
||||
}
|
||||
}
|
||||
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
|
||||
@ -1478,4 +1478,78 @@ class OrderServicePackageService extends BaseService
|
||||
|
||||
return $amount_total;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取im消息推送中,服务包订单相关的自定义参数
|
||||
* @param string|int $inquiry_no
|
||||
* @return array
|
||||
*/
|
||||
public function getImServicePackageCloudCustomData(string|int $inquiry_no): array
|
||||
{
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单id
|
||||
$order_service_no = $OrderServicePackageService->getOrderServiceNoByOrderInquiryId($inquiry_no);
|
||||
|
||||
$params = array();
|
||||
$params['order_service_no'] = $order_service_no;
|
||||
$order_service_package = OrderServicePackage::getOne($params);
|
||||
if (empty($order_service_package)){
|
||||
return [];
|
||||
}
|
||||
|
||||
// 获取服务包订单详情
|
||||
$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)){
|
||||
return [];
|
||||
}
|
||||
|
||||
// 每月问诊次数(0表示不限次)
|
||||
$monthly_frequency = $order_service_package_detail['monthly_frequency'];
|
||||
|
||||
// 获取服务包当月已问诊次数
|
||||
$month_inquiry_count = 0;
|
||||
if ($order_service_package_detail['monthly_frequency'] != 0 && !empty($order_service_package['start_time'])) {
|
||||
$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']);
|
||||
}
|
||||
|
||||
// 服务包当月剩余问诊次数
|
||||
$remaining_month_inquiry_count = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count;
|
||||
|
||||
// 服务包开始时间
|
||||
if (!empty($order_service_package['start_time'])){
|
||||
$service_package_start_time = date('Y-m-d H:i',strtotime($order_service_package['start_time']));
|
||||
}
|
||||
|
||||
// 服务包结束时间
|
||||
if (!empty($order_service_package['finish_time'])){
|
||||
$service_package_finish_time = date('Y-m-d H:i',strtotime($order_service_package['finish_time']));
|
||||
}
|
||||
|
||||
// 服务包服务周期
|
||||
$service_period = $order_service_package_detail['service_period'];
|
||||
|
||||
// 药品剩余数量
|
||||
$remaining_quantity = 0;
|
||||
|
||||
// 获取服务包内所有药品
|
||||
$health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']);
|
||||
foreach ($health_package_products as $health_package_product) {
|
||||
// 获取服务包内某一药品的剩余数量
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$health_package_product['product_id'],$health_package_product['quantity']);
|
||||
}
|
||||
|
||||
$result = array();
|
||||
$result['monthly_frequency'] = $monthly_frequency; // 每月问诊次数(0表示不限次)
|
||||
$result['month_inquiry_count'] = $month_inquiry_count; // 获取服务包当月已问诊次数
|
||||
$result['remaining_month_inquiry_count'] = $remaining_month_inquiry_count; // 服务包当月剩余问诊次数
|
||||
$result['service_package_start_time'] = $service_package_start_time ?? ""; // 服务包开始时间
|
||||
$result['service_package_finish_time'] = $service_package_finish_time ?? ""; // 服务包结束时间
|
||||
$result['service_period'] = $service_period; // 服务包服务周期
|
||||
$result['remaining_quantity'] = $remaining_quantity; // 药品剩余数量
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user