This commit is contained in:
gr
2026-10-15 11:03:54 +08:00
parent 70ddc1a70a
commit bb28d93cec
64 changed files with 12747 additions and 420 deletions
@@ -9,6 +9,7 @@ use app\common\model\tcm\PrescriptionOrder;
use app\common\model\tcm\PrescriptionOrderLog;
use app\common\model\tcm\PrescriptionOrderPayOrder;
use app\common\service\ExpressTrackingService;
use app\common\service\tcm\RevisitDueHook;
use think\facade\Config;
use think\facade\Log;
use think\Response;
@@ -303,6 +304,8 @@ class GancaoCallbackController extends BaseApiController
private function updateOrderStatus(PrescriptionOrder $order, int $state, array $ext): void
{
$order->gancao_order_state = $state;
// 甘草撤单/驳回把履约状态置 4(已取消):订单退出有效口径,需在落库成功后刷新复诊到期快照
$revisitDueOrderCancelled = false;
switch ($state) {
case 10:
@@ -331,6 +334,7 @@ class GancaoCallbackController extends BaseApiController
case 91:
if ((int) $order->fulfillment_status !== 3) {
$order->fulfillment_status = 4; // 已取消
$revisitDueOrderCancelled = true;
}
$order->gancao_remark = '甘草主动撤单(已退费)';
break;
@@ -338,6 +342,7 @@ class GancaoCallbackController extends BaseApiController
case 92:
if ((int) $order->fulfillment_status !== 3) {
$order->fulfillment_status = 4; // 已取消
$revisitDueOrderCancelled = true;
}
$order->gancao_remark = '甘草驳回(无法制作并退费)';
break;
@@ -354,6 +359,10 @@ class GancaoCallbackController extends BaseApiController
]);
}
if ($savedOk && $revisitDueOrderCancelled) {
RevisitDueHook::onOrderChanged((int) $order->diagnosis_id, (int) $order->id, 'gancao:' . $state);
}
if ($savedOk && in_array((int) $order->fulfillment_status, [5, 6], true)) {
ExpressTrackingService::applyAssistantReleaseForShippedPrescriptionOrder($order, [
'tracking_number' => (string) ($order->tracking_number ?? ''),