where('node_id', $nodeId) ->where('status', self::STATUS_ACTIVE) ->get() ->toArray(); } /** * 保存消息映射 */ public static function saveMessage( int $orderId, int $nodeId, int $userId, string $messageId, ?string $msgToken = null ): self { return self::updateOrCreate( [ 'order_id' => $orderId, 'node_id' => $nodeId, 'user_id' => $userId, ], [ 'message_id' => $messageId, 'msg_token' => $msgToken, 'status' => self::STATUS_ACTIVE, ] ); } /** * 标记消息为已更新 */ public static function markAsUpdated(int $orderId, int $nodeId): bool { return self::where('order_id', $orderId) ->where('node_id', $nodeId) ->update(['status' => self::STATUS_UPDATED]) > 0; } }