用户主动取消订单增加退款。取消订单-问诊/检测/服务包增加推送消息
This commit is contained in:
parent
a105ba2ad3
commit
31c3ce57b8
@ -2354,7 +2354,7 @@ class CallBackController extends AbstractController
|
|||||||
if ($order_service_package['refund_status'] == 3) {
|
if ($order_service_package['refund_status'] == 3) {
|
||||||
// 检测订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭 6:退款异常)
|
// 检测订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭 6:退款异常)
|
||||||
Db::rollBack();
|
Db::rollBack();
|
||||||
Log::getInstance("CallBack-wxPayServiceRefund")->error("订单退款状态错误:当前为" . $order_service_package['refund_status']);
|
Log::getInstance("CallBack-wxPayServiceRefund")->info('已退款成功,此回调不处理');
|
||||||
return $server->serve();
|
return $server->serve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -992,6 +992,13 @@ class OrderService extends BaseService
|
|||||||
throw new BusinessException("订单类型错误");
|
throw new BusinessException("订单类型错误");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 检测支付状态,判断是否需要退款处理
|
||||||
|
if ($order['pay_status'] == 2 && $order['refund_status'] != 3) {
|
||||||
|
// 需退款
|
||||||
|
$OrderService = new OrderService();
|
||||||
|
$OrderService->orderRefund($order['order_no'], "主动取消");
|
||||||
|
}
|
||||||
|
|
||||||
// 删除锁
|
// 删除锁
|
||||||
$redis->del($redis_key);
|
$redis->del($redis_key);
|
||||||
|
|
||||||
|
|||||||
@ -2421,6 +2421,14 @@ class PatientOrderService extends BaseService
|
|||||||
Db::beginTransaction();
|
Db::beginTransaction();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// 获取订单数据
|
||||||
|
$params = array();
|
||||||
|
$params['order_no'] = $order_no;
|
||||||
|
$order = Order::getOne($params);
|
||||||
|
if (empty($order)) {
|
||||||
|
return fail(HttpEnumCode::HTTP_ERROR, "非法订单");
|
||||||
|
}
|
||||||
|
|
||||||
$OrderService = new OrderService();
|
$OrderService = new OrderService();
|
||||||
$result = $OrderService->PatientActiveCancelOrder($order_no);
|
$result = $OrderService->PatientActiveCancelOrder($order_no);
|
||||||
if ($result['status'] != 1) {
|
if ($result['status'] != 1) {
|
||||||
@ -2434,6 +2442,61 @@ class PatientOrderService extends BaseService
|
|||||||
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
|
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 推送消息
|
||||||
|
try {
|
||||||
|
// 处理对应订单
|
||||||
|
switch ($order['order_type']) {
|
||||||
|
case 1: // 问诊订单
|
||||||
|
// 获取订单数据
|
||||||
|
$params = array();
|
||||||
|
$params['inquiry_no'] = $order_no;
|
||||||
|
$order_inquiry = OrderInquiry::getOne($params);
|
||||||
|
if (!empty($order_inquiry)) {
|
||||||
|
// 获取医生数据
|
||||||
|
$params = array();
|
||||||
|
$params['doctor_id'] = $order_inquiry['doctor_id'];
|
||||||
|
$user_doctor = UserDoctor::getOne($params);
|
||||||
|
if (!empty($user_doctor)) {
|
||||||
|
// 推送医生-患者取消问诊
|
||||||
|
$MessagePush = new MessagePush($user_doctor['user_id'], $order_inquiry['order_inquiry_id']);
|
||||||
|
$MessagePush->patientCancelInquiryToDoctor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 3: // 检测订单
|
||||||
|
// 获取订单数据
|
||||||
|
$params = array();
|
||||||
|
$params['detection_no'] = $order_no;
|
||||||
|
$order_detection = OrderDetection::getOne($params);
|
||||||
|
if (!empty($order_detection)) {
|
||||||
|
// 推送患者-订单取消成功通知
|
||||||
|
$MessagePush = new MessagePush($order_detection['user_id']);
|
||||||
|
$MessagePush->patientCancelDetectionOrderSuccess($order_detection['order_detection_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 4: // 健康包订单
|
||||||
|
case 5: // 随访包订单
|
||||||
|
// 获取订单数据
|
||||||
|
$params = array();
|
||||||
|
$params['order_service_no'] = $order_no;
|
||||||
|
$order_service_package = OrderServicePackage::getOne($params);
|
||||||
|
if (empty($order_service_package)) {
|
||||||
|
$result['status'] = 0;
|
||||||
|
$result['message'] = "订单数据为空";
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// 错误不处理
|
||||||
|
}
|
||||||
|
}catch (\Throwable $e){
|
||||||
|
// 错误不处理
|
||||||
|
Log::getInstance("PatientOrderService-putCancelPatientOrder")->error($e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user