server:
  port: 8580
  servlet:
    context-path: /api

spring:
  profiles:
    active: dev
  # Jackson 全局配置
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Shanghai
    default-property-inclusion: non_null

  # Flyway 数据库迁移
  flyway:
    enabled: true
    locations: classpath:db/migration
    baseline-on-migrate: true
    baseline-version: 0

  # 文件上传限制
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB

# MyBatis-Plus 配置
mybatis-plus:
  mapper-locations: classpath*:mapper/**/*.xml
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: auto
      logic-delete-field: deleted
      logic-delete-value: 1
      logic-not-delete-value: 0

# JWT 配置
jwt:
  secret: ${JWT_SECRET:your-secret-key-change-in-production}
  expiration: 604800000  # 7天（毫秒）

# Knife4j 文档配置
springdoc:
  api-docs:
    enabled: false
  swagger-ui:
    enabled: false

knife4j:
  enable: true
  setting:
    language: zh_cn
