fix: 添加订单状态检查和友好错误提示

- 检测订单已完成状态,返回友好提示
- 添加infoCard方法显示中性提示
- 优化自审批错误处理
This commit is contained in:
root
2026-02-28 14:30:35 +08:00
parent 719a93ba16
commit 34b294fd48
2 changed files with 29 additions and 2 deletions
@@ -184,13 +184,27 @@ class FeishuCardController extends BaseController
try {
$approvalService = new ApprovalService();
// 检查用户是否有权限审批
// 检查订单状态
$order = \app\model\ApprovalOrder::find($orderId);
if (!$order) {
error_log('❌ 审批单不存在: order_id=' . $orderId);
return $this->errorCard('审批单不存在');
}
// 检查订单是否已经处理过
if ($order->status === \app\model\ApprovalOrder::STATUS_APPROVED) {
error_log('⚠️ 订单已通过: order_id=' . $orderId);
return $this->infoCard('该申请已通过', '此申请已经被审批通过,无需重复操作。');
}
if ($order->status === \app\model\ApprovalOrder::STATUS_REJECTED) {
error_log('⚠️ 订单已拒绝: order_id=' . $orderId);
return $this->infoCard('该申请已拒绝', '此申请已经被拒绝,如需重新申请请提交新的申请。');
}
if ($order->status === \app\model\ApprovalOrder::STATUS_CANCELLED) {
error_log('⚠️ 订单已撤销: order_id=' . $orderId);
return $this->infoCard('该申请已撤销', '此申请已经被撤销。');
}
error_log('📝 开始审批通过: order_id=' . $orderId . ', user_id=' . $user->id . ', remark=' . $remark);
// 执行审批通过