spring:
  application:
    name: file-service
  profiles:
    active: @env@
  servlet:
    multipart:
      max-file-size: 500MB
      max-request-size: 500MB
server:
  port: 18066
  servlet:
    context-path: /api
  error:
    include-stacktrace: never
springdoc:
  api-docs:
    enabled: true
    path: /v3/api-docs
  default-flat-param-object: true
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  group-configs:
    - group: 'default'
      paths-to-match: '/**'
      packages-to-scan: cn.meowrain.aioj.backend.fileservice
knife4j:
  basic:
    enable: true
  setting:
    language: zh_cn
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath*:/mapper/**/*.xml

# 文件存储配置
file-config:
  # 是否使用云存储（true=腾讯云COS，false=本地存储）
  use-cloud: false
  # 是否启用文件去重（相同文件只存储一份）
  deduplication-enabled: true
  # 同步计算哈希的文件大小阈值（字节），默认 10MB
  sync-hash-threshold: 10485760
  # 本地存储配置
  local:
    # 本地存储基础路径（相对路径）
    base-path: uploads
    # 访问域名（不含context-path）
    domain: http://localhost:10013
    # URL前缀（需包含context-path）
    url-prefix: /api/file
  # 腾讯云COS存储配置
  cos:
    # 是否启用COS
    enabled: false
    # 腾讯云SecretId
    secret-id: your-secret-id
    # 腾讯云SecretKey
    secret-key: your-secret-key
    # 区域，如ap-guangzhou、ap-beijing等
    region: ap-guangzhou
    # 存储桶名称
    bucket-name: your-bucket-name
    # 访问域名（可选，如果配置则使用该域名生成访问URL）
    domain: https://your-bucket-name.cos.ap-guangzhou.myqcloud.com
    # 文件前缀
    prefix: aioj
    # 预签名URL过期时间（秒）
    presigned-url-expire-seconds: 3600
  # 异步线程池配置（用于大文件哈希计算）
  async:
    # 核心线程数
    core-pool-size: 2
    # 最大线程数
    max-pool-size: 5
    # 队列容量
    queue-capacity: 100
    # 线程名前缀
    thread-name-prefix: file-async-
