server:
  port: 8080

spring:
  application:
    name: campus-activity-system

  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/campus_activity?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: root

  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Shanghai
    serialization:
      write-dates-as-timestamps: false

  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  type-aliases-package: com.campus.activity.entity
  global-config:
    db-config:
      id-type: auto
      logic-delete-field: deleted
      logic-delete-value: 1
      logic-not-delete-value: 0
      table-prefix:
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

jwt:
  secret: ${JWT_SECRET:campus-activity-system-secret-key-for-jwt-token-generation-2025}
  expiration: 7200000
  refresh-expiration: 604800000
  header: Authorization
  prefix: Bearer

knife4j:
  enable: true
  openapi:
    title: 校园活动组织与报名系统 API
    description: 校园活动组织与报名系统后端接口文档
    version: 1.0.0
    concat: campus-activity-team
    email: campus@example.com
    license: Apache 2.0
    license-url: https://www.apache.org/licenses/LICENSE-2.0.html
    group:
      default:
        group-name: default
        api-rule: package
        api-rule-resources:
          - com.campus.activity.controller

logging:
  level:
    com.campus.activity.mapper: debug
    org.springframework.security: debug
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"