更新登录页及优化相关功能

This commit is contained in:
焦龙言
2026-10-08 14:13:05 +08:00
parent 9a14b692e3
commit 56e646bcc1
139 changed files with 77587 additions and 811 deletions
@@ -57,3 +57,38 @@
2026-09-28 15:44:48.546 | f3d841a80e0c49b6a2ef12e0fb03c0e9 | d09057ad24a24e7ea4a22f44065f962d | 40ab25364cde46b29603eec07bb0410f | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-28 18:15:15.372 | 55fe7aed5a5049eabdae0edd5e13b9c6 | e70f5cad542640e5b84a4a8f7bcbf349 | c96b83685c474b3fa2eb47238c10b3c3 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-28 18:24:37.733 | | | | 19536-893d88 | WARNING | config.get_scheduler:on_lock_lost:273 - ⚠️ Worker 19536-893d88 失去 Application 锁
2026-09-29 08:31:19.884 | ecd7f13ca30e45b294640064c6541d62 | c138e385f39748c2a69c9647d5f62168 | 730afa863d39409385556bd9e7a9aa74 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.884 | 8a5b859f4b5b42f587f3c68f80df2a29 | ffec21d61d124182814ca9e284d064c5 | e7b7bc0477ed4d06a3f722a03213f7df | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.887 | 42584df6b4524e5ab17b92ab7bbad363 | 9e7dd342207143cfbf58edb837db9bc8 | fe765689650d4074b3214fb8385a891c | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.887 | 6ace3b292707421699b77bbab6cc2c17 | ef13031420d84be8bd1b6bb949cc2e73 | ee66dbbf2cb34f0e881d9b8ff1720ca4 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.888 | ab831cab113b475fab50d19f98ae5ad5 | ec6c14b01c0f462f8f68487ffdc2e7a8 | 2c6e0349e8544bb99b1407297b2934ff | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.888 | 9a3993f714a0480599a69853c7a160b7 | 7639accb89c04e3eab0cecb39b4222d6 | 5f1da52c460d45db94c6f753e760d1ff | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.889 | 8bfdefdcc33d4a02a58ff162d637d78e | 695c2b2b62644fcb83ca330ed6c35377 | a9890dfac0be43f1af1a706257ad90f7 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.889 | 8074c1fbe9324750a34f1b41701ae10a | c8db0c5645af428aab6f891676743e90 | 1522f21948074184944eda7bb2c7a457 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 08:31:19.890 | 311c84b119c74c34926e8f105cb6b89d | 80faa8776a174e848a7ea949d49650a9 | 4e0791453ffd4109a7b057a6a1f9c89d | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 10:36:18.935 | f336ad9851934b909fb22f7dfc4b3b65 | 8a0adcc4279e4a90ac233295a77dc47b | fdbf1ccbb5db4fc18600351d0e947184 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.408 | b5bd453c58164df3888a79f9347b08f2 | f2f3b6f4a9c94a038970ebe3c4cb4178 | 1d6fa79fe14a428189f4f10cbe02ffbb | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.411 | ac47fd90ab8643a0b769eaee235c45cb | bab76393434043f4835d06527b31c85f | d154b8c62bf045e484bf4d0dd149e37a | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.412 | 9a9f12f1f0a34a8fbe9cad915594afc6 | a054fea4972c4c2c8e7d96a4383e6974 | a7724448dd3b40a7aa90356608b39c37 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.413 | dc6317ef7e6e4196823e65609cd37af4 | cac0c26cbd5c47f194d66af70744a317 | 27c38b6b3345428981d4226abb767e68 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.414 | 43fd8348a96a43c486c5bbf15388af25 | 146ae1ecb2bc45dd827136680e972f48 | 5a59b2426cd74877aa7e1795317b3ede | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.414 | c2aab8152a00445881b6fcab4936339c | 59a37c27d2b14dc9a3df640123dd48cb | 56b5f26cc25d475faf7dc7eb085afd7d | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.414 | e2e16657d6bc4986ac054e12547cde7e | 80b7928ebcd141c89b9be78a5f451f31 | 7ddf26d600534e36936101698cb41375 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.414 | 5a0a281ce5ca4dc086a5e97e34f54064 | 6a2e8aad8ab648cd8c1f1145061b8617 | 169b721c5b184e058ef422f7a4dfa2d5 | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:34:17.414 | a6848b04d69744c6903ff8f5488aff2a | 455b6c7725124b528d632116e50d8692 | 1d4829970328409a9c4241da7ef0e3df | 19536-893d88 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-09-29 14:44:44.532 | | | | 19536-893d88 | ERROR | sqlalchemy.pool.base:_close_connection:376 - Exception closing connection <AdaptedConnection <asyncmy.connection.Connection object at 0x12526bf40>>
Traceback (most recent call last):
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 374, in _close_connection
self._dialect.do_close(connection)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 721, in do_close
dbapi_connection.close()
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 114, in close
self.await_(self._connection.ensure_closed())
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "asyncmy/connection.pyx", line 367, in ensure_closed
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/asyncio/streams.py", line 343, in wait_closed
await self._protocol._get_close_waiter(self)
BrokenPipeError: [Errno 32] Broken pipe
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,6 @@
2026-09-29 15:19:51.438 | 989860659b114ab38204ade1141ea3c1 | 6064d458f0404b84a1d7848686d38762 | 36ef966879ce4a618a18c71affcb9e5d | 55906-91d48f | WARNING | module_admin.service.login_service:get_current_user:219 - 用户token已失效,请重新登录
2026-09-29 17:02:23.083 | 63ef7d446d464450b9b1d1965ff974da | e8f78596035e433686c099886c38dd09 | 05a6cd1aec2f42b79ce34b5c1afeee25 | 55906-91d48f | WARNING | common.annotation.rate_limit_annotation:_log_rate_limit_hit:652 - 接口限流命中: namespace=captcha:image preset=ANON_AUTH_CAPTCHA algorithm=sliding_window fail_strategy=local_fallback method=GET path=/captchaImage scope=ip scope_value=ip:127.0.0.1 current=36 limit=36 retry_after=32s
2026-09-29 17:02:23.881 | dfad946f3e3b4ad39a2824ff3843d26e | 6ac7acb690a94b28adc82485c2ffc24d | 13afc3a1f3c742eba1fa824b5c3b1c3d | 55906-91d48f | WARNING | common.annotation.rate_limit_annotation:_log_rate_limit_hit:652 - 接口限流命中: namespace=captcha:image preset=ANON_AUTH_CAPTCHA algorithm=sliding_window fail_strategy=local_fallback method=GET path=/captchaImage scope=ip scope_value=ip:127.0.0.1 current=36 limit=36 retry_after=31s
2026-09-29 17:02:45.046 | 5be0428cea524497b4a6174bb9f1a6ed | d7189467f9a544bca5adc90241a1c82d | e25f7456285147a990a16c907e9930c4 | 55906-91d48f | WARNING | common.annotation.rate_limit_annotation:_log_rate_limit_hit:652 - 接口限流命中: namespace=captcha:image preset=ANON_AUTH_CAPTCHA algorithm=sliding_window fail_strategy=local_fallback method=GET path=/captchaImage scope=ip scope_value=ip:127.0.0.1 current=36 limit=36 retry_after=10s
2026-09-29 17:02:49.279 | ca8fee87f80a4984ba64adea0235615a | 995b7c31d34c4af3b91e7e38691c55ed | 9840642de3244d5a83607d5fa4931f54 | 55906-91d48f | WARNING | common.annotation.rate_limit_annotation:_log_rate_limit_hit:652 - 接口限流命中: namespace=captcha:image preset=ANON_AUTH_CAPTCHA algorithm=sliding_window fail_strategy=local_fallback method=GET path=/captchaImage scope=ip scope_value=ip:127.0.0.1 current=36 limit=36 retry_after=6s
2026-09-29 18:46:30.336 | | | | 55906-91d48f | WARNING | config.get_scheduler:on_lock_lost:273 - ⚠️ Worker 55906-91d48f 失去 Application 锁
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,287 @@
2026-10-05 10:32:04.685 | 5ce457e932e34f669b2c7fda06bab450 | 5e433faf6cb54daa8fefbd591de4a42a | 30356484b94b4f1d8bd4b734ee876c59 | 21381-1d9e7d | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-10-05 13:18:49.387 | | | | 95189-da1f7e | WARNING | config.get_scheduler:on_lock_lost:273 - ⚠️ Worker 95189-da1f7e 失去 Application 锁
2026-10-05 13:23:35.421 | | | | 34715-45b610 | ERROR | exceptions.handle:exception_handler:71 - (asyncmy.errors.OperationalError) (1054, "Unknown column 'biz_usage_record.tunnel_id' in 'field list'")
[SQL: SELECT count(%s) AS count_1
FROM (SELECT biz_usage_record.usage_id AS usage_id, biz_usage_record.test_batch_id AS test_batch_id, biz_usage_record.usage_no AS usage_no, biz_usage_record.pallet_id AS pallet_id, biz_usage_record.active_filling_id AS active_filling_id, biz_usage_record.site_id AS site_id, biz_usage_record.tunnel_id AS tunnel_id, biz_usage_record.trace_no AS trace_no, biz_usage_record.batch_no_snapshot AS batch_no_snapshot, biz_usage_record.line_id AS line_id, biz_usage_record.used_packages AS used_packages, biz_usage_record.remaining_packages_after AS remaining_packages_after, biz_usage_record.idempotency_key AS idempotency_key, biz_usage_record.request_hash AS request_hash, biz_usage_record.operator_id AS operator_id, biz_usage_record.occurred_at AS occurred_at
FROM biz_usage_record
WHERE biz_usage_record.test_batch_id IS NULL ORDER BY biz_usage_record.usage_id) AS anon_1]
[parameters: ('*',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 230, in execute
self._adapt_connection._handle_exception(error)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 91, in _handle_exception
raise error
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 228, in execute
return self.await_(self._execute_async(operation, parameters))
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 251, in _execute_async
result = await self._cursor.execute(operation, parameters)
File "asyncmy/cursors.pyx", line 179, in execute
File "asyncmy/cursors.pyx", line 364, in _query
File "asyncmy/connection.pyx", line 500, in query
File "asyncmy/connection.pyx", line 688, in _read_query_result
File "asyncmy/connection.pyx", line 1075, in read
File "asyncmy/connection.pyx", line 650, in read_packet
File "asyncmy/protocol.pyx", line 190, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/protocol.pyx", line 194, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/errors.pyx", line 128, in asyncmy.errors.raise_mysql_exception
File "asyncmy/errors.pyx", line 137, in asyncmy.errors.raise_mysql_exception
asyncmy.errors.OperationalError: (1054, "Unknown column 'biz_usage_record.tunnel_id' in 'field list'")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/middlewares/transport_crypto_middleware.py", line 53, in __call__
await self.app(scope, receive, send)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/middlewares/trace_middleware/middle.py", line 44, in __call__
await self.app(scope, handle_outgoing_receive, handle_outgoing_request)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/contextlib.py", line 153, in __exit__
self.gen.throw(typ, value, traceback)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/middlewares/api_response_header_middleware.py", line 15, in dispatch
response = await call_next(request)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 29, in __call__
await responder(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 130, in __call__
await super().__call__(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 46, in __call__
await self.app(scope, receive, self.send_with_compression)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/cors.py", line 85, in __call__
await self.app(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 191, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/contextlib.py", line 153, in __exit__
self.gen.throw(typ, value, traceback)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 193, in __call__
response = await self.dispatch_func(request, call_next)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/middlewares/context_middleware.py", line 18, in dispatch
return await call_next(request)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.__cause__ or app_exc.__context__
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/routing.py", line 716, in __call__
await self.middleware_stack(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/routing.py", line 736, in app
await route.handle(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/routing.py", line 290, in handle
await self.app(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/fastapi/routing.py", line 115, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/fastapi/routing.py", line 101, in app
response = await f(request)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/fastapi/routing.py", line 355, in app
raw_response = await run_endpoint_function(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/fastapi/routing.py", line 243, in run_endpoint_function
return await dependant.call(**values)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/controller/usage_controller.py", line 52, in get_business_usage_list
result = await UsageService.get_usage_list_services(
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/service/usage_service.py", line 259, in get_usage_list_services
result = await OperationDao.get_usage_list(
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/dao/operation_dao.py", line 835, in get_usage_list
return await cls._paginate(db, statement, query_object, is_page)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/dao/operation_dao.py", line 142, in _paginate
return await PageUtil.paginate(
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/utils/page_util.py", line 83, in paginate
total = (await db.execute(select(func.count('*')).select_from(query.subquery()))).scalar()
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/session.py", line 449, in execute
result = await greenlet_spawn(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 203, in greenlet_spawn
result = context.switch(value)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2351, in execute
return self._execute_internal(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2249, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement
result = conn.execute(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 230, in execute
self._adapt_connection._handle_exception(error)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 91, in _handle_exception
raise error
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 228, in execute
return self.await_(self._execute_async(operation, parameters))
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 251, in _execute_async
result = await self._cursor.execute(operation, parameters)
File "asyncmy/cursors.pyx", line 179, in execute
File "asyncmy/cursors.pyx", line 364, in _query
File "asyncmy/connection.pyx", line 500, in query
File "asyncmy/connection.pyx", line 688, in _read_query_result
File "asyncmy/connection.pyx", line 1075, in read
File "asyncmy/connection.pyx", line 650, in read_packet
File "asyncmy/protocol.pyx", line 190, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/protocol.pyx", line 194, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/errors.pyx", line 128, in asyncmy.errors.raise_mysql_exception
File "asyncmy/errors.pyx", line 137, in asyncmy.errors.raise_mysql_exception
sqlalchemy.exc.OperationalError: (asyncmy.errors.OperationalError) (1054, "Unknown column 'biz_usage_record.tunnel_id' in 'field list'")
[SQL: SELECT count(%s) AS count_1
FROM (SELECT biz_usage_record.usage_id AS usage_id, biz_usage_record.test_batch_id AS test_batch_id, biz_usage_record.usage_no AS usage_no, biz_usage_record.pallet_id AS pallet_id, biz_usage_record.active_filling_id AS active_filling_id, biz_usage_record.site_id AS site_id, biz_usage_record.tunnel_id AS tunnel_id, biz_usage_record.trace_no AS trace_no, biz_usage_record.batch_no_snapshot AS batch_no_snapshot, biz_usage_record.line_id AS line_id, biz_usage_record.used_packages AS used_packages, biz_usage_record.remaining_packages_after AS remaining_packages_after, biz_usage_record.idempotency_key AS idempotency_key, biz_usage_record.request_hash AS request_hash, biz_usage_record.operator_id AS operator_id, biz_usage_record.occurred_at AS occurred_at
FROM biz_usage_record
WHERE biz_usage_record.test_batch_id IS NULL ORDER BY biz_usage_record.usage_id) AS anon_1]
[parameters: ('*',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-10-05 14:58:00.827 | 30919192f3594497a59fc913008fda10 | 53240ccf884a443ba4ada988273cbd6e | dcdb5888a906403b894cda1fb4d83974 | 34715-45b610 | WARNING | module_admin.service.login_service:get_current_user:277 - 用户token已失效,请重新登录
2026-10-05 15:23:25.800 | | | | 34715-45b610 | WARNING | config.get_scheduler:on_lock_lost:273 - ⚠️ Worker 34715-45b610 失去 Application 锁
2026-10-05 17:57:42.275 | | | | 38941-a4ab07 | WARNING | config.get_scheduler:on_lock_lost:273 - ⚠️ Worker 38941-a4ab07 失去 Application 锁
2026-10-05 17:58:13.287 | eba30441d8d247f1a71c18ca28b545e3 | a66289a299b54b39949859fc20d7c49e | cdc11db34b914473b5bfe9f4cc8bf96a | 46633-a22437 | WARNING | module_admin.service.login_service:authenticate_user:133 - 密码错误
2026-10-05 17:58:13.287 | eba30441d8d247f1a71c18ca28b545e3 | a66289a299b54b39949859fc20d7c49e | cdc11db34b914473b5bfe9f4cc8bf96a | 46633-a22437 | WARNING | common.annotation.log_annotation:wrapper:197 - 密码错误
2026-10-05 18:01:12.069 | 15caaca0a4cc4c6382be942118562672 | af3f9aab3ded4ab0b4ffd746dff5a6c2 | 47b5ecf753d44f11b5812048deee1540 | 46633-a22437 | ERROR | common.annotation.log_annotation:wrapper:205 - (asyncmy.errors.OperationalError) (1054, "Unknown column 'tunnel_id' in 'field list'")
[SQL: INSERT INTO biz_pallet_inventory (pallet_id, test_batch_id, active_filling_id, warehouse_id, site_id, tunnel_id, trace_no, current_line_id, flow_state, remaining_packages, last_event_id, version, updated_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (5, None, None, None, None, None, None, None, 'UNSTOCKED', 0, None, 0, datetime.datetime(2026, 10, 5, 18, 1, 12, 36126))]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 230, in execute
self._adapt_connection._handle_exception(error)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 91, in _handle_exception
raise error
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 228, in execute
return self.await_(self._execute_async(operation, parameters))
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 251, in _execute_async
result = await self._cursor.execute(operation, parameters)
File "asyncmy/cursors.pyx", line 179, in execute
File "asyncmy/cursors.pyx", line 364, in _query
File "asyncmy/connection.pyx", line 500, in query
File "asyncmy/connection.pyx", line 688, in _read_query_result
File "asyncmy/connection.pyx", line 1075, in read
File "asyncmy/connection.pyx", line 650, in read_packet
File "asyncmy/protocol.pyx", line 190, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/protocol.pyx", line 194, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/errors.pyx", line 128, in asyncmy.errors.raise_mysql_exception
File "asyncmy/errors.pyx", line 137, in asyncmy.errors.raise_mysql_exception
asyncmy.errors.OperationalError: (1054, "Unknown column 'tunnel_id' in 'field list'")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/common/annotation/log_annotation.py", line 195, in wrapper
result = await func(*args, **kwargs)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/controller/pallet_controller.py", line 98, in add_master_pallet
result = await PalletService.add_pallet(query_db, add_pallet, current_user, scope)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/service/pallet_service.py", line 147, in add_pallet
await MasterDao.add_pallet_inventory(db, inventory)
File "/Users/jiaolongyan/PycharmProjects/牛牛小屋/ShiErFeng/shierfeng-fastapi-backend/module_business/dao/master_dao.py", line 568, in add_pallet_inventory
await db.flush()
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/session.py", line 787, in flush
await greenlet_spawn(self.sync_session.flush, objects=objects)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 203, in greenlet_spawn
result = context.switch(value)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4331, in flush
self._flush(objects)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush
with util.safe_reraise():
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush
flush_context.execute()
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 1048, in _emit_insert_statements
result = connection.execute(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 230, in execute
self._adapt_connection._handle_exception(error)
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 91, in _handle_exception
raise error
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 228, in execute
return self.await_(self._execute_async(operation, parameters))
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
File "/Users/jiaolongyan/miniconda3/envs/ShiErFeng/lib/python3.10/site-packages/sqlalchemy/connectors/asyncio.py", line 251, in _execute_async
result = await self._cursor.execute(operation, parameters)
File "asyncmy/cursors.pyx", line 179, in execute
File "asyncmy/cursors.pyx", line 364, in _query
File "asyncmy/connection.pyx", line 500, in query
File "asyncmy/connection.pyx", line 688, in _read_query_result
File "asyncmy/connection.pyx", line 1075, in read
File "asyncmy/connection.pyx", line 650, in read_packet
File "asyncmy/protocol.pyx", line 190, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/protocol.pyx", line 194, in asyncmy.protocol.MysqlPacket.raise_for_error
File "asyncmy/errors.pyx", line 128, in asyncmy.errors.raise_mysql_exception
File "asyncmy/errors.pyx", line 137, in asyncmy.errors.raise_mysql_exception
sqlalchemy.exc.OperationalError: (asyncmy.errors.OperationalError) (1054, "Unknown column 'tunnel_id' in 'field list'")
[SQL: INSERT INTO biz_pallet_inventory (pallet_id, test_batch_id, active_filling_id, warehouse_id, site_id, tunnel_id, trace_no, current_line_id, flow_state, remaining_packages, last_event_id, version, updated_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: (5, None, None, None, None, None, None, None, 'UNSTOCKED', 0, None, 0, datetime.datetime(2026, 10, 5, 18, 1, 12, 36126))]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-10-05 18:02:21.594 | f09ec57e4f274520839c9684c6dbc940 | 793ffb29205b4a5888c569a22c678400 | 60b65cd4baeb4392a338a65fc6c32904 | 46633-a22437 | ERROR | common.annotation.log_annotation:wrapper:202 - 目标客户不存在
2026-10-05 18:37:04.581 | | | | 52026-91894b | WARNING | config.get_scheduler:on_lock_lost:273 - ⚠️ Worker 52026-91894b 失去 Application 锁
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff