server: port: 19002 spring: application: name: emotion-ai # 配置文件激活 profiles: active: ${SPRING_PROFILES_ACTIVE:local} # 允许Bean覆盖和循环引用 main: allow-bean-definition-overriding: true allow-circular-references: true # 数据源配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:3306}/${MYSQL_DATABASE:emotion_museum}?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true username: ${MYSQL_USERNAME:root} password: ${MYSQL_PASSWORD:123456} hikari: minimum-idle: 5 maximum-pool-size: 20 idle-timeout: 30000 max-lifetime: 1800000 connection-timeout: 30000 connection-test-query: SELECT 1 # Redis配置 data: redis: host: ${REDIS_HOST:localhost} port: ${REDIS_PORT:6379} password: ${REDIS_PASSWORD:} database: 1 timeout: 10000ms lettuce: pool: max-active: 8 max-wait: -1ms max-idle: 8 min-idle: 0 # Nacos配置 cloud: nacos: discovery: server-addr: ${NACOS_HOST:localhost}:${NACOS_PORT:8848} namespace: ${NACOS_NAMESPACE:} group: ${NACOS_GROUP:DEFAULT_GROUP} enabled: ${NACOS_DISCOVERY_ENABLED:false} config: server-addr: ${NACOS_HOST:localhost}:${NACOS_PORT:8848} namespace: ${NACOS_NAMESPACE:} group: ${NACOS_GROUP:DEFAULT_GROUP} file-extension: yml enabled: ${NACOS_CONFIG_ENABLED:false} # Coze平台配置 coze: base-url: ${COZE_BASE_URL:https://api.coze.cn} api-key: ${COZE_API_KEY:your-coze-api-key} bot-id: ${COZE_BOT_ID:7523042446285439016} workflow-id: ${COZE_WORKFLOW_ID:7523047462895796287} user-id: ${COZE_USER_ID:emotion-museum-user} token: pat_GCR4qKzqpf90wMCvKsldMrB18KG3QsLDci65bZthssKsbLxu8X70BKYumleDcabO timeout: 60 max-retries: 3 stream: false model: temperature: 0.7 max-tokens: 1000 top-p: 0.9 frequency-penalty: 0.0 presence-penalty: 0.0 # 功能开关配置 features: emotion-analysis: enabled: ${EMOTION_ANALYSIS_ENABLED:false} # 暂时禁用情绪分析 auto-analyze: false # 禁用自动情绪分析 chat: enabled: true stream: false # MyBatis Plus配置 mybatis-plus: configuration: map-underscore-to-camel-case: true cache-enabled: false call-setters-on-nulls: true jdbc-type-for-null: 'null' global-config: db-config: id-type: ASSIGN_UUID logic-delete-field: is_deleted logic-delete-value: 1 logic-not-delete-value: 0 mapper-locations: classpath*:/mapper/**/*.xml # 监控配置 management: endpoints: web: exposure: include: health,info,metrics,prometheus endpoint: health: show-details: always metrics: export: prometheus: enabled: true # 日志配置 logging: level: com.emotionmuseum: debug com.baomidou.mybatisplus: debug com.emotionmuseum.common.handler.MetaObjectHandler: debug com.emotionmuseum.common.interceptor.UserContextInterceptor: debug pattern: console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%logger{50}] - %msg%n"