[[1;34mINFO[m] Scanning for projects...
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m------------------------< [0;36mcom.gpf:pet-hospital[0;1m >------------------------[m
[[1;34mINFO[m] [1mBuilding 爱维宠物医院管理平台 1.0.0[m
[[1;34mINFO[m] [1m--------------------------------[ jar ]---------------------------------[m
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m>>> [0;32mspring-boot-maven-plugin:2.7.18:run[m [1m(default-cli)[0;1m > [0;1mtest-compile[m @ [36mpet-hospital[0;1m >>>[m
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:3.2.0:resources[m [1m(default-resources)[m @ [36mpet-hospital[0;1m ---[m
[[1;34mINFO[m] Using 'UTF-8' encoding to copy filtered resources.
[[1;34mINFO[m] Using 'UTF-8' encoding to copy filtered properties files.
[[1;34mINFO[m] Copying 2 resources
[[1;34mINFO[m] Copying 3 resources
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.10.1:compile[m [1m(default-compile)[m @ [36mpet-hospital[0;1m ---[m
[[1;34mINFO[m] Nothing to compile - all classes are up to date
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:3.2.0:testResources[m [1m(default-testResources)[m @ [36mpet-hospital[0;1m ---[m
[[1;34mINFO[m] Using 'UTF-8' encoding to copy filtered resources.
[[1;34mINFO[m] Using 'UTF-8' encoding to copy filtered properties files.
[[1;34mINFO[m] skip non existing resourceDirectory /mnt/d/bs/gpf_pet_hospital/backend/src/test/resources
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.10.1:testCompile[m [1m(default-testCompile)[m @ [36mpet-hospital[0;1m ---[m
[[1;34mINFO[m] No sources to compile
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m<<< [0;32mspring-boot-maven-plugin:2.7.18:run[m [1m(default-cli)[0;1m < [0;1mtest-compile[m @ [36mpet-hospital[0;1m <<<[m
[[1;34mINFO[m] 
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mspring-boot-maven-plugin:2.7.18:run[m [1m(default-cli)[m @ [36mpet-hospital[0;1m ---[m
[[1;34mINFO[m] Attaching agents: []

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::               (v2.7.18)

2026-01-29 12:24:05.772  INFO 7628 --- [           main] c.g.pethospital.PetHospitalApplication   : Starting PetHospitalApplication using Java 17.0.17 on LAPTOP-FS8K5GSO with PID 7628 (/mnt/d/bs/gpf_pet_hospital/backend/target/classes started by wangzq in /mnt/d/bs/gpf_pet_hospital/backend)
2026-01-29 12:24:05.778  INFO 7628 --- [           main] c.g.pethospital.PetHospitalApplication   : The following 1 profile is active: "dev"
2026-01-29 12:24:11.364  INFO 7628 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8081 (http)
2026-01-29 12:24:11.390  INFO 7628 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2026-01-29 12:24:11.390  INFO 7628 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.83]
2026-01-29 12:24:11.547  INFO 7628 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/api]    : Initializing Spring embedded WebApplicationContext
2026-01-29 12:24:11.547  INFO 7628 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 5683 ms
2026-01-29 12:24:11.602  INFO 7628 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2026-01-29 12:24:12.451  INFO 7628 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2026-01-29 12:24:12.476  INFO 7628 --- [           main] o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:testdb'
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
Initialization Sequence datacenterId:1 workerId:22
 _ _   |_  _ _|_. ___ _ |    _ 
| | |\/|_)(_| | |_\  |_)||_|_\ 
     /               |         
                        3.5.5 
2026-01-29 12:24:14.953  WARN 7628 --- [           main] .s.s.UserDetailsServiceAutoConfiguration : 

Using generated security password: 894a2f39-1097-4906-9582-c51d7962caac

This generated password is for development use only. Your security configuration must be updated before running your application in production.

2026-01-29 12:24:15.337  INFO 7628 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@4aed311e, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4c38cd16, org.springframework.security.web.context.SecurityContextPersistenceFilter@7971c2a9, org.springframework.security.web.header.HeaderWriterFilter@11c88cca, org.springframework.security.web.authentication.logout.LogoutFilter@111c229c, com.gpf.pethospital.security.JwtAuthenticationFilter@7ddcb0dc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@60b5e80d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@31aab981, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@f5bf288, org.springframework.security.web.session.SessionManagementFilter@349c4d1c, org.springframework.security.web.access.ExceptionTranslationFilter@340cb97f, org.springframework.security.web.access.intercept.AuthorizationFilter@320be73]
2026-01-29 12:24:16.661  INFO 7628 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8081 (http) with context path '/api'
2026-01-29 12:24:16.675  INFO 7628 --- [           main] c.g.pethospital.PetHospitalApplication   : Started PetHospitalApplication in 12.299 seconds (JVM running for 12.864)
2026-01-29 12:24:21.966  INFO 7628 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/api]    : Initializing Spring DispatcherServlet 'dispatcherServlet'
2026-01-29 12:24:21.966  INFO 7628 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2026-01-29 12:24:21.968  INFO 7628 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1f20fef4] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@208105529 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT id,username,phone,email,password,role,status,avatar,create_time,update_time,deleted FROM `user` WHERE deleted=0 AND (username = ? OR phone = ? OR email = ?)
==> Parameters: customer(String), customer(String), customer(String)
<==    Columns: ID, USERNAME, PHONE, EMAIL, PASSWORD, ROLE, STATUS, AVATAR, CREATE_TIME, UPDATE_TIME, DELETED
<==        Row: 3, customer, 13900139000, customer@example.com, $2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi, CUSTOMER, 1, null, 2026-01-29 12:24:13.2463, 2026-01-29 12:24:13.2463, 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1f20fef4]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@75e8fc76] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1168243154 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT COUNT(*) AS total FROM pet WHERE deleted = 0 AND (owner_id = ?)
==> Parameters: 3(Long)
<==    Columns: TOTAL
<==        Row: 1
<==      Total: 1
==>  Preparing: SELECT id,owner_id,name,breed,gender,birthday,weight,photo,remark,create_time,update_time,deleted FROM pet WHERE deleted=0 AND (owner_id = ?) LIMIT ?
==> Parameters: 3(Long), 10(Long)
<==    Columns: ID, OWNER_ID, NAME, BREED, GENDER, BIRTHDAY, WEIGHT, PHOTO, REMARK, CREATE_TIME, UPDATE_TIME, DELETED
<==        Row: 1, 3, 小白, 金毛, MALE, 2023-01-01, null, null, null, 2026-01-29 12:24:13.247041, 2026-01-29 12:24:13.247041, 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@75e8fc76]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@41493577] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@2016262451 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: INSERT INTO appointment ( customer_id, pet_id, appointment_date, time_slot, status, remark, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )
==> Parameters: 3(Long), 1(Long), 2026-02-01(LocalDate), 09:00-10:00(String), PENDING(String), 常规检查(String), 2026-01-29T12:24:32.546247898(LocalDateTime), 2026-01-29T12:24:32.546247898(LocalDateTime)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@41493577]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@bf1d89a] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@87439252 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT id,username,phone,email,password,role,status,avatar,create_time,update_time,deleted FROM `user` WHERE deleted=0 AND (username = ? OR phone = ? OR email = ?)
==> Parameters: admin(String), admin(String), admin(String)
<==    Columns: ID, USERNAME, PHONE, EMAIL, PASSWORD, ROLE, STATUS, AVATAR, CREATE_TIME, UPDATE_TIME, DELETED
<==        Row: 1, admin, 13800138000, admin@example.com, $2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi, ADMIN, 1, null, 2026-01-29 12:24:13.23867, 2026-01-29 12:24:13.23867, 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@bf1d89a]
2026-01-29 12:24:40.495  WARN 7628 --- [nio-8081-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'status' for method parameter type String is not present]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4c2f1f92] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1931573387 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: UPDATE appointment SET status=?, update_time=? WHERE id=? AND deleted=0
==> Parameters: ARRIVED(String), 2026-01-29T12:24:45.469184613(LocalDateTime), 1(Long)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4c2f1f92]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2cd992d5] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1326776275 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT id,username,phone,email,password,role,status,avatar,create_time,update_time,deleted FROM `user` WHERE deleted=0 AND (username = ? OR phone = ? OR email = ?)
==> Parameters: customer(String), customer(String), customer(String)
<==    Columns: ID, USERNAME, PHONE, EMAIL, PASSWORD, ROLE, STATUS, AVATAR, CREATE_TIME, UPDATE_TIME, DELETED
<==        Row: 3, customer, 13900139000, customer@example.com, $2a$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi, CUSTOMER, 1, null, 2026-01-29 12:24:13.2463, 2026-01-29 12:24:13.2463, 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2cd992d5]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47af24ef] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@630841539 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: INSERT INTO visit ( appointment_id, customer_id, pet_id, doctor_id, status, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )
==> Parameters: 1(Long), 3(Long), 1(Long), 1(Long), COMPLETED(String), UNPAID(String), 2026-01-29T12:24:49.989305686(LocalDateTime), 2026-01-29T12:24:49.989305686(LocalDateTime)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47af24ef]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@15774d6c] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1399738390 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: INSERT INTO prescription ( visit_id, doctor_id, status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ? )
==> Parameters: 1(Long), 1(Long), SUBMITTED(String), 2026-01-29T12:24:54.704878297(LocalDateTime), 2026-01-29T12:24:54.704878297(LocalDateTime)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@15774d6c]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f2e9c5] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1704824955 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: INSERT INTO order_info ( visit_id, customer_id, amount, status, payment_method, remark, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )
==> Parameters: 1(Long), 3(Long), 50.00(BigDecimal), PAID(String), WECHAT(String), 支付处方费用(String), 2026-01-29T12:24:58.817900417(LocalDateTime), 2026-01-29T12:24:58.817900417(LocalDateTime)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f2e9c5]
Creating a new SqlSession
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48c4f857] was not registered for synchronization because synchronization is not active
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b6b5f95] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1731465716 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
JDBC Connection [HikariProxyConnection@1306442745 wrapping conn1: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT COUNT(*) AS total FROM order_info WHERE deleted = 0 AND (customer_id = ?)
==>  Preparing: SELECT COUNT(*) AS total FROM visit WHERE deleted = 0 AND (customer_id = ?)
==> Parameters: 2(Long)
==> Parameters: 2(Long)
<==    Columns: TOTAL
<==        Row: 0
<==    Columns: TOTAL
<==      Total: 1
<==        Row: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b6b5f95]
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48c4f857]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@338fc1da] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@46490719 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT COUNT(*) AS total FROM pet WHERE deleted = 0 AND (owner_id = ?)
==> Parameters: 2(Long)
<==    Columns: TOTAL
<==        Row: 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@338fc1da]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5490b9c8] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1309118785 wrapping conn0: url=jdbc:h2:mem:testdb user=SA] will not be managed by Spring
==>  Preparing: SELECT COUNT(*) AS total FROM pet WHERE deleted = 0 AND (owner_id = ?)
==> Parameters: 2(Long)
<==    Columns: TOTAL
<==        Row: 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5490b9c8]
