server:
  port: 48078
  tomcat:
    connection-timeout: 60000

--- #################### 数据库相关配置 ####################

spring:
  autoconfigure:
    exclude:
      #- com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置，使用 dynamic-datasource-spring-boot-starter 配置多数据源
      #- org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境，不开启 Quartz 的自动配置
      - com.xingyuv.justauth.autoconfigure.JustAuthAutoConfiguration               # 禁用 三方授权
      - com.binarywang.spring.starter.wxjava.mp.config.WxMpAutoConfiguration       #禁用 微信公众
      - com.binarywang.spring.starter.wxjava.miniapp.config.WxMaAutoConfiguration  #禁用 微信小程序
      - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置
      - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置
      - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置
    # 数据源配置项
  datasource:
    druid: # Druid 【监控】相关的全局配置
      web-stat-filter:
        enabled: true
      stat-view-servlet:
        enabled: true
        allow: # 设置白名单，不填则允许所有访问
        url-pattern: /druid/*
        login-username: admin # 控制台管理用户名和密码
        login-password: 8aHZNxn93Vfj
      filter:
        stat:
          enabled: true
          log-slow-sql: true # 慢 SQL 记录
          slow-sql-millis: 100
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true
    dynamic: # 多数据源配置
      druid: # Druid 【连接池】相关的全局配置
        initial-size: 1 # 初始连接数
        min-idle: 1 # 最小连接池数量
        max-active: 20 # 最大连接池数量
        max-wait: 600000 # 配置获取连接等待超时的时间，单位：毫秒
        time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位：毫秒
        min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间，单位：毫秒
        max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间，单位：毫秒
        validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效
        test-while-idle: true
        test-on-borrow: false
        test-on-return: false
      primary: master
      datasource:
        master:
          name: nest-qxsd-xl
          url: jdbc:mysql://192.168.1.196:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
          username: root
          password: 123456
        #slave: # 模拟从库，可根据自己需要修改
        #  name: nest-fbi
        #  lazy: true # 开启懒加载，保证启动速度
        #  url: jdbc:mysql://10.126.10.160:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
        #  username: iep
        #  password: YUkXGpfH!3ZjP%TN
  data:
    redis:
      host: 192.168.1.210 # 地址
      port: 6379 # 端口
      database: 11 # 数据库索引
      password: 123456

--- #################### 定时任务相关配置 ####################

# Quartz 配置项，对应 QuartzProperties 配置类
spring:
  quartz:
    auto-startup: true # 本地开发环境，尽量不要开启 Job
    scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName
    job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存，可选 jdbc 使用数据库。
    wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时，是否等待定时任务执行完成。默认为 false ，建议设置为 true
    properties: # 添加 Quartz Scheduler 附加属性，更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
      org:
        quartz:
          # Scheduler 相关配置
          scheduler:
            instanceName: schedulerName
            instanceId: AUTO # 自动生成 instance ID
          # JobStore 相关配置
          jobStore:
            # JobStore 实现类。可见博客：https://blog.csdn.net/weixin_42458219/article/details/122247162
            class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
            isClustered: true # 是集群模式
            clusterCheckinInterval: 15000 # 集群检查频率，单位：毫秒。默认为 15000，即 15 秒
            misfireThreshold: 60000 # misfire 阀值，单位：毫秒。
          # 线程池相关配置
          threadPool:
            threadCount: 25 # 线程池大小。默认为 10 。
            threadPriority: 5 # 线程优先级
            class: org.quartz.simpl.SimpleThreadPool # 线程池类型
    jdbc: # 使用 JDBC 的 JobStore 的时候，JDBC 的配置
      initialize-schema: NEVER # 是否自动使用 SQL 初始化 Quartz 表结构。这里设置成 never ，我们手动创建表结构。


--- #################### 服务保障相关配置 ####################

# Lock4j 配置项
lock4j:
  acquire-timeout: 3000 # 获取分布式锁超时时间，默认为 3000 毫秒
  expire: 30000 # 分布式锁的超时时间，默认为 30 毫秒

# Resilience4j 配置项
resilience4j:
  ratelimiter:
    instances:
      backendA:
        limit-for-period: 1 # 每个周期内，允许的请求数。默认为 50
        limit-refresh-period: 60s # 每个周期的时长，单位：微秒。默认为 500
        timeout-duration: 1s # 被限流时，阻塞等待的时长，单位：微秒。默认为 5s
        register-health-indicator: true # 是否注册到健康监测

--- #################### 监控相关配置 ####################

# Actuator 监控端点的配置项
management:
  endpoints:
    web:
      base-path: /actuator # 配置端点访问前缀
      exposure:
        include: '*'  # 暴露指定端点
        exclude: env,heapdump,loggers
    enabled-by-default: false
  endpoint:
    health:
      show-details: always
      enabled: false
    shutdown:
      # 通过指定接口关闭 SpringBoot
      enabled: false
    heapdump:
      enabled: false

# Spring Boot Admin 配置项
spring:
  boot:
    admin:
      # Spring Boot Admin Client 客户端的相关配置
      client:
        url: http://127.0.0.1:${server.port}/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址
        instance:
          service-host-type: IP # 注册实例时，优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME]
      # Spring Boot Admin Server 服务端的相关配置
      context-path: /admin # 配置 Spring

# 日志文件配置
logging:
  level:
    # 配置自己写的 MyBatis Mapper 打印日志
    com.cico.nest.lcdp.boot.core.infra.dal.mysql.job.JobLogMapper: INFO # 配置 JobLogMapper 的日志级别为 info
    com.cico.nest.lcdp.boot.core.infra.dal.mysql.file.FileConfigMapper: INFO # 配置 FileConfigMapper 的日志级别为 info
    com.cico.nest.lcdp.boot.core.system.dal.mysql: INFO
    com.cico.nest.lcdp.boot.core.system.dal.mysql.sensitiveword.SensitiveWordMapper: INFO # 配置 SensitiveWordMapper 的日志级别为 info
    com.cico.nest.lcdp.boot.core.system.dal.mysql.sms.SmsChannelMapper: INFO # 配置 SmsChannelMapper 的日志级别为 info
    # org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO：先禁用，Spring Boot 3.X 存在部分错误的 WARN 提示
    com.cico.nest.lcdp: INFO
  file:
    path: /opt/nest-qxsd/logs # 日志文件名，全路径

debug: false

# lcdp配置项，设置当前项目所有自定义的配置
lcdp:
  upload:
    # 本地：local\Minio：minio\阿里云：alioss
    type: local
    # 文件上传根目录 设置
    path: files
  desform:
    theme-color: '#1890ff'
  captcha:
    enable: false # 本地环境，暂时关闭图片验证码，方便登录等接口的测试；
  security:
    mock-enable: false
  xss:
    enable: false
    exclude-urls: # 如下两个 url，仅仅是为了演示，去掉配置也没关系
      - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
      - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
  error-code: # 错误码相关配置项
    enable: false
  demo: false # 关闭演示模式

--- #################### 接口文档配置 ####################
springdoc:
  api-docs:
    enabled: true
    path: /v3/api-docs
  swagger-ui:
    enabled: true
    path: /swagger-ui
  default-flat-param-object: true # 参见 https://doc.xiaominfo.com/docs/faq/v4/knife4j-parameterobject-flat-param 文档
# knife4j的增强配置，不需要增强可以不配
knife4j:
  enable: true
  # 开启Swagger的Basic认证功能,默认是false
  basic:
    enable: true
    # Basic认证用户名
    username: nest-swagger
    # Basic认证密码
    password: Nboot@2008.
  setting:
    language: zh_cn

# Sa-Token 配置
sa-token:
  # -------sso-client相关配置
  sso-client:
    # SSO-Server 端主机地址
    server-url: http://127.0.0.1:18080
    # 打开模式三（使用Http请求校验ticket）
    is-http: true
  sign:
    # API 接口调用秘钥
    secret-key: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor
    # ---- 除了以上配置项，你还需要为 Sa-Token 配置http请求处理器（文档有步骤说明）

  # 配置Sa-Token单独使用的Redis连接 （此处需要和SSO-Server端连接同一个Redis）
  alone-redis:
    # Redis数据库索引
    database: 1
    # Redis服务器地址
    host: 127.0.0.1
    # Redis服务器连接端口
    port: 6379
    # Redis服务器连接密码（默认为空）
    password:
    # 连接超时时间
    timeout: 10s
    lettuce:
      pool:
        # 连接池最大连接数
        max-active: 200
        # 连接池最大阻塞等待时间（使用负值表示没有限制）
        max-wait: -1ms
        # 连接池中的最大空闲连接
        max-idle: 10
        # 连接池中的最小空闲连接
        min-idle: 0

flowable:
  dmn:
    enabled: false
  cmmn:
    enabled: false
  idm:
    enabled: false
  async-history-executor-activate: false
  async-executor-activate: true
  check-process-definitions: false
  content:
    enabled: false
  app:
    enabled: false
  eventregistry:
    enabled: false

qxsd:
  tunnel:
    down-id: xl_tunnel_down
    up-id: xl_tunnel_up #未启用
  xlw:
    http: http://33.64.92.130:8091
    ws: ws://33.64.92.130:8093
    images: http://33.64.92.130:8800
    #1.3 xwl 新账号密码
    loginName: ForShowDemo
    loginPwd: 5416d7cd6ef195a0f7622a9c56b55e84
    #1.6 xwl 老账号密码
    #    loginName: gaoxin
    #    loginPwd: 7cc2cf8a95f80a8ea500ff997f9623e4  #MD5(1234zxcv)
    organizationId: org0001
  hk:
    host: 12.1.89.1:443
    appKey: 23516385
    appSecret: EvCN2P1jYX20UWn2ZrGh
  images:
    bayonetDownPath: http://33.67.51.196:10000/iot/images
    eventSavePath: /Users/tongzuqi/Desktop/tzq/dongchi/upload-gaoxin/nest-qxsd/web/images/event
    bayonetSavePath: /Users/tongzuqi/Desktop/tzq/dongchi/upload-gaoxin/nest-qxsd/web/images/bayonet
    #eventSavePath: D:\\home\\images\\event
    #bayonetSavePath: D:\\home\\images\\bayonet
  video:
    eventHisSavePath: /Users/tongzuqi/Desktop/tzq/dongchi/upload-gaoxin/nest-qxsd/web/video/eventHis
    #eventHisSavePath:  D:\\home\\video\\eventHis
  static-resource:
    event-images: http://12.1.97.101:9888/images/event
    bayonet-images: http://12.1.97.101:9888/images/bayonet
    event-his-video: http://12.1.97.101:9888/video/eventHis
  #全景门户留存车辆
  qjmh:
    base-url: http://12.1.150.111:9195/open-api/nest
    retent-car-list-path: http://12.1.150.111:9195/open-api/nest/tunnel/details
    tunnel-name: 新岭隧道
  #隧道管控
  sdgk:
    base-url: http://33.64.92.5:8090
    loginName: xl
    password: Xl@123456
    #免密跳转的地址
    freelogin-path: http://33.64.92.5:8090/login?phone=%s&secretKey=%s
    secretKey: r*3s3KnDB9fK
    passwordDESKey: 4werwero2396i678;

mqtt:
  enable: true
  client-id-prefix: qxsd-xl-dev
  server-uris:
    - tcp://33.64.92.5:1883
  username: admin
  password: public
  keep-alive-interval: 60
  message-mapper: com.cico.nest.lcdp.framework.mq.mqtt.core.support.MqttJsonMessageMapper #使用JSON序列化
  handler-packages: com.cico.nest.lcdp.boot.core.qxsd.infrastructure.gatewayimpl.mqtt.handler #消息处理类所在包
  sub-topics:
    - tunnel-event/qxsd
    - event/+/videoEvent
    - notice/+/videoEventConfirm
