创建服务包订单新增是否怀孕,取消为接诊订单增加服务包问诊订单处理、新增服务包订单退款逻辑处理

This commit is contained in:
2024-04-12 09:53:10 +08:00
parent 605a069e07
commit cde261be5d
8 changed files with 675 additions and 76 deletions
@@ -8,6 +8,7 @@ use App\Constants\HttpEnumCode;
use App\Model\Order;
use App\Model\OrderInquiry;
use App\Model\OrderInquiryCoupon;
use App\Model\OrderServicePackageInquiry;
use App\Model\UserCoupon;
use App\Model\UserDoctor;
use App\Services\ImService;
@@ -61,10 +62,11 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage
$res = $Utils->checkHandleNumber($redis_key);
if (!$res) {
Log::getInstance("queue-CancelUnInquiryOrders")->error("超出最大执行次数或检测错误");
return Result::ACK;
}
}catch (\Throwable $e){
Log::getInstance("queue-CancelUnInquiryOrders")->error($e->getMessage());
return Result::ACK;
return Result::REQUEUE;
}
Db::beginTransaction();
@@ -147,6 +149,27 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage
$OrderService->orderRefund($order_inquiry['inquiry_no'], "医生未接诊");
}
// 服务包问诊订单处理
if ($order_inquiry['inquiry_type'] == 1){
if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){
// 获取服务包订单数据
$params = array();
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$order_service_package_inquiry = OrderServicePackageInquiry::getList($params);
if (empty($order_service_package_inquiry)){
Db::rollBack();
Log::getInstance("queue-CancelUnInquiryOrders")->error("获取服务包订单数据失败");
return Result::ACK;
}
if (count($order_service_package_inquiry) == 1){
// 首单服务包问诊订单,但问诊订单未接诊,执行服务包退款
$OrderService = new OrderService();
$OrderService->orderRefund($order_service_package_inquiry['order_service_no'], "医生未接诊");
}
}
}
Db::commit();
} catch (\Exception $e) {
Db::rollBack();
@@ -60,11 +60,12 @@ class CancelUnpayOrdersDelayDirectConsumer extends ConsumerMessage
$res = $Utils->checkHandleNumber($redis_key);
if (!$res) {
Log::getInstance("queue-CancelUnpayOrders")->error("超出最大执行次数或检测错误");
return Result::ACK;
}
}catch (\Throwable $e){
Log::getInstance("queue-CancelUnpayOrders")->error($e->getMessage());
return Result::ACK;
return Result::REQUEUE;
}
Db::beginTransaction();