修改im消息推送。
This commit is contained in:
parent
5c0bf12896
commit
c4d7f5e018
@ -6,6 +6,9 @@ use App\Constants\DoctorTitleCode;
|
||||
use App\Constants\HttpEnumCode;
|
||||
use App\Exception\BusinessException;
|
||||
use App\Model\Hospital;
|
||||
use App\Model\OrderServicePackage;
|
||||
use App\Model\OrderServicePackageDetail;
|
||||
use App\Model\OrderServicePackageProduct;
|
||||
use App\Model\User;
|
||||
use App\Model\UserDoctor;
|
||||
use App\Model\UserPatient;
|
||||
@ -333,7 +336,22 @@ class ImService extends BaseService
|
||||
$message_content_data['message_type'] = 1;
|
||||
$message_content_data['title'] = "—等待医生接诊—";
|
||||
if ($order_inquiry['inquiry_type'] == 1) {
|
||||
$message_content_data['desc'] = "温馨提示:当前服务为专家问诊,医师接诊后可以在24小时内和医生沟通20个回合。医生繁忙请耐心等待,医生接诊会后第一时间短信通知您。";
|
||||
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取服务包订单编号-通过问诊订单id
|
||||
$order_service_no = $OrderServicePackageService->getOrderServiceNoByOrderInquiryId($order_inquiry['inquiry_no']);
|
||||
|
||||
// 检测问诊是否服务包首次问诊
|
||||
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
|
||||
if ($is_first){
|
||||
$message_content_data['desc'] = "温馨提示:医生繁忙请耐心等待,医生接诊后会第一时间通知您。医生接诊后,服务有效期开始计算。";
|
||||
}else{
|
||||
$message_content_data['desc'] = "温馨提示:医生繁忙请耐心等待,医生接诊后会第一时间通知您。";
|
||||
}
|
||||
}else{
|
||||
$message_content_data['desc'] = "温馨提示:当前服务为专家问诊,医师接诊后可以在24小时内和医生沟通20个回合。医生繁忙请耐心等待,医生接诊会后第一时间短信通知您。";
|
||||
}
|
||||
} elseif ($order_inquiry['inquiry_type'] == 2) {
|
||||
$message_content_data['desc'] = "温馨提示:请耐心等待,您可继续补充病情,便于医生接诊后更快确认病情。";
|
||||
} elseif ($order_inquiry['inquiry_type'] == 3) {
|
||||
@ -386,7 +404,91 @@ class ImService extends BaseService
|
||||
}
|
||||
|
||||
$message_content_data['title'] = "—问诊已开始,本次问诊可持续{$time}—";
|
||||
$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消息发送失败");
|
||||
}
|
||||
|
||||
// 转换服务包订单类型为汉字
|
||||
$order_type = orderServiceTypeToString($order_service_package['order_service_type']);
|
||||
|
||||
$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']));
|
||||
|
||||
// 获取服务包当月剩余问诊次数
|
||||
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']);
|
||||
$remaining_inquiry_count = $order_service_package_detail['monthly_frequencys'] - $month_inquiry_count;
|
||||
if ($remaining_inquiry_count < 0){
|
||||
$remaining_inquiry_count = 0;
|
||||
}
|
||||
}else{
|
||||
$remaining_inquiry_count = "不限";
|
||||
}
|
||||
|
||||
if ($remaining_inquiry_count == 0){
|
||||
$message_content_data['desc'] = "医生已接诊,为提高沟通效率,您可一次性如实补充病情(具体症状,患病时长,用药情况及想咨询的问题等)。线上咨询不能代替面诊,医生建议仅供参考。";
|
||||
}
|
||||
|
||||
// 检测问诊是否服务包首次问诊
|
||||
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
|
||||
if ($is_first){
|
||||
$message_content_data['desc'] = "医生已接诊,{$order_type}服务开始,服务周期为:{$start_time}~{$finish_time},线上咨询不能代表面诊,医生的回复仅为建议。";
|
||||
}else{
|
||||
// 健康包
|
||||
if ($order_inquiry['inquiry_mode'] == 8){
|
||||
// 检测患者服务包内是否还存在剩余药品
|
||||
$res = $OrderServicePackageService->checkOrderServiceRemainingProduct($order_service_no);
|
||||
if ($res){
|
||||
// 获取剩余药品数量
|
||||
$remaining_quantity = 0;
|
||||
|
||||
// 健康包商品数据
|
||||
$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)){
|
||||
foreach ($order_service_package_products as $order_service_package_product){
|
||||
$remaining_quantity += $order_service_package_product['quantity'] - $order_service_package_product['used_quantity'];
|
||||
if ($remaining_quantity < 0){
|
||||
$remaining_quantity = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($remaining_quantity > 0){
|
||||
$message_content_data['desc'] = "医生已接诊,健康包服务本月剩余{$remaining_inquiry_count}次问诊,且还剩余{$remaining_quantity}盒肝爽颗粒,提醒医生开具处方。";
|
||||
}else{
|
||||
$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},线上咨询不能代表面诊,医生的回复仅为建议。";
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$message_content_data['desc'] = "医生已接诊,为提高沟通效率,您可一次性如实补充病情(具体症状,患病时长,用药情况及想咨询的问题等)。线上咨询不能代替面诊,医生建议仅供参考。";
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
@ -423,8 +525,36 @@ class ImService extends BaseService
|
||||
// 消息内容 医生-患者
|
||||
$message_content_data = array();
|
||||
$message_content_data['message_type'] = 1;
|
||||
$message_content_data['title'] = "—医生未接诊—";
|
||||
$message_content_data['desc'] = "医生因工作繁忙未能及时接诊,请您谅解。所支付金额会在24小时内原路退回,再次感谢您的支持";
|
||||
|
||||
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消息发送失败");
|
||||
}
|
||||
|
||||
// 转换服务包订单类型为汉字
|
||||
$order_type = orderServiceTypeToString($order_service_package['order_service_type']);
|
||||
|
||||
// 检测问诊是否服务包首次问诊
|
||||
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
|
||||
if ($is_first){
|
||||
$message_content_data['title'] = "—医生未接诊—";
|
||||
$message_content_data['desc'] = "温馨提示:医生因工作繁忙未能及时进行接诊,请您见谅。{$order_type}订单金额会在24小时内原路退回,感谢您的支持。";
|
||||
}else{
|
||||
$message_content_data['title'] = "—医生未接诊—";
|
||||
$message_content_data['desc'] = "温馨提示:医生因工作繁忙未能及时进行接诊,请您见谅;稍后请再次发起问诊。";
|
||||
}
|
||||
}else{
|
||||
$message_content_data['title'] = "—医生未接诊—";
|
||||
$message_content_data['desc'] = "医生因工作繁忙未能及时接诊,请您谅解。所支付金额会在24小时内原路退回,再次感谢您的支持";
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
@ -506,8 +636,32 @@ class ImService extends BaseService
|
||||
// 消息内容 医生-患者
|
||||
$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消息发送失败");
|
||||
}
|
||||
|
||||
// 检测问诊是否服务包首次问诊
|
||||
$is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no);
|
||||
if ($is_first){
|
||||
$message_content_data['title'] = "—服务退款—";
|
||||
$message_content_data['desc'] = "平台已自动发起退款,请注意查看账户信息。";
|
||||
}else{
|
||||
$message_content_data['title'] = "—问诊退款—";
|
||||
$message_content_data['desc'] = "平台已自动发起退款,请注意查看账户信息。";
|
||||
}
|
||||
}else{
|
||||
$message_content_data['title'] = "—问诊退款—";
|
||||
$message_content_data['desc'] = "平台已自动发起退款,请注意查看账户信息。";
|
||||
}
|
||||
|
||||
$message_content = [
|
||||
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user