server:
  port: 8081
  undertow:
    # 平替 tomcat server.tomcat.max-swallow-siz， undertow该值默认为-1
    # max-http-post-size: 10MB
    threads:
      io: 16 # 4核CPU标准配置
      worker: 256
    buffer-size: 8192 # 以字节为单位，这里设置为8 KB
  error:
    include-exception: true
    include-stacktrace: ALWAYS
    include-message: ALWAYS
  servlet:
    context-path: /adweb3
  compression:
    enabled: true
    min-response-size: 1024
    mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*

management:
  endpoints:
    web:
      exposure:
        include: metrics,httpexchanges,httptrace-new

spring:
  # flyway配置
  flyway:
    # 是否启用flyway
    enabled: true
    # 编码格式，默认UTF-8
    encoding: UTF-8
    # 迁移sql脚本文件存放路径，官方默认db/migration
    locations: classpath:flyway/sql/mysql
    # 迁移sql脚本文件名称的前缀，默认V
    sql-migration-prefix: V
    # 迁移sql脚本文件名称的分隔符，默认2个下划线__
    sql-migration-separator: __
    # 避免带${}sql执行失败
    placeholder-prefix: '#('
    placeholder-suffix: )
    # 迁移sql脚本文件名称的后缀
    sql-migration-suffixes: .sql
    # 迁移时是否进行校验，默认true
    validate-on-migrate: true
    # 当迁移发现数据库非空且存在没有元数据的表时，自动执行基准迁移，新建schema_version表
    baseline-on-migrate: true
    # 是否关闭要清除已有库下的表功能,生产环境必须为true,否则会删库，非常重要！！！
    clean-disabled: true
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
  mail:
    host: smtp.163.com
    username: jeecgos@163.com
    password: ??
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
  ## quartz定时任务,采用数据库方式
  quartz:
    job-store-type: jdbc
    initialize-schema: embedded
    # 定时任务启动开关，true-开  false-关
    auto-startup: false
    # 延迟1秒启动定时任务
    startup-delay: 1s
    # 启动时更新己存在的Job
    overwrite-existing-jobs: true
    properties:
      org:
        quartz:
          scheduler:
            instanceName: MyScheduler
            instanceId: AUTO
          jobStore:
            class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
            driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
            tablePrefix: QRTZ_
            isClustered: true
            misfireThreshold: 12000
            clusterCheckinInterval: 15000
          threadPool:
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 10
            threadPriority: 5
            threadsInheritContextClassLoaderOfInitializingThread: true
  # json 时间戳统一转换
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  jpa:
    open-in-view: false
  aop:
    proxy-target-class: true
  # 配置freemarker
  freemarker:
    # 设置模板后缀名
    suffix: .ftl
    # 设置文档类型
    content-type: text/html
    # 设置页面编码格式
    charset: UTF-8
    # 设置页面缓存
    cache: false
    prefer-file-system-access: false
    # 设置ftl文件路径
    template-loader-path:
      - classpath:/templates
    template_update_delay: 0
  # 设置静态文件路径，js,css等
  mvc:
    static-path-pattern: /**
    # Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher
    pathmatch:
      matching-strategy: ant_path_matcher
  resource:
    static-locations: classpath:/static/,classpath:/public/
  autoconfigure:
    exclude:
      - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
      - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
        allow:
      web-stat-filter:
        enabled: true
    dynamic:
      druid: # 全局druid参数，绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
        # 连接池的配置信息
        # 初始化大小，最小，最大
        initial-size: 5
        min-idle: 5
        maxActive: 1000
        # 配置获取连接等待超时的时间
        maxWait: 60000
        # 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒
        timeBetweenEvictionRunsMillis: 60000
        # 配置一个连接在池中最小生存的时间，单位是毫秒
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        # 打开PSCache，并且指定每个连接上PSCache的大小
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        # 配置监控统计拦截的filters，去掉后监控界面sql无法统计，'wall'用于防火墙
        filters: stat,slf4j
        # 允许SELECT语句的WHERE子句是一个永真条件
        wall:
          selectWhereAlwayTrueCheck: false
        # 打开mergeSql功能；慢SQL记录
        stat:
          merge-sql: true
          slow-sql-millis: 5000
      datasource:
        master:
          url: jdbc:mysql://52.83.163.165:3306/adweb3_dev?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
          username: adweb3_dev
          password: Advich@2024,.
          driver-class-name: com.mysql.cj.jdbc.Driver
          # 多数据源配置
          # multi-datasource1:
          #   url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
          #   username: root
          #   password: root
          #   driver-class-name: com.mysql.cj.jdbc.Driver
  # redis 配置
  data:
    redis:
      database: 1
      host: 127.0.0.1
      port: 6379
      password:
  # rabbit mq配置
  rabbitmq:
    host: rabbit-mq.v3.adwebcloud.com
    username: admin
    password: Initial0
    port: 5672
    publisher-confirm-type: correlated
    publisher-returns: true
    virtual-host: /adweb3-test

# mybatis plus 设置
mybatis-plus:
  mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
  global-config:
    # 关闭MP3.0自带的banner
    banner: false
    db-config:
      # 主键类型  0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
      id-type: ASSIGN_ID
      # 默认数据库表下划线命名
      table-underline: true
  configuration:
    # 这个配置会将执行的sql打印出来，在开发或测试的时候可以用
    # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 返回类型为Map,显示null对应的字段
    call-setters-on-nulls: true

# jeecg专用配置
minidao:
  base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
jeecg:
  # 平台上线安全配置
  firewall:
    # 数据源安全 (开启后，Online报表和图表的数据源为必填)
    dataSourceSafe: false
    # 低代码模式（dev:开发模式，prod:发布模式——关闭所有在线开发配置能力）
    lowCodeMode: dev
  # 签名密钥串(前后端要一致，正式发布请自行修改)
  signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
  # 签名拦截接口
  signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode
  # 本地：local、Minio：minio、阿里云：alioss
  uploadType: local
  # 前端访问地址
  domainUrl:
    pc: http://localhost:3100
    app: http://localhost:8051
  path:
    # 文件上传根目录 设置
    upload: /opt/adweb3_test/upload
    # webapp文件路径
    webapp: /opt/adweb3_test/webapp
  # 阿里云oss存储和大鱼短信秘钥配置
  oss:
    accessKey: ??
    secretKey: ??
    endpoint: oss-cn-beijing.aliyuncs.com
    bucketName: jeecgdev
  # ElasticSearch 6设置
  elasticsearch:
    cluster-name: jeecg-ES
    cluster-nodes: 127.0.0.1:9200
    check-enabled: false
  # 在线预览文件服务器地址配置
  file-view-domain: http://fileview.jeecg.com
  # minio文件上传
  minio:
    minio_url: http://minio.jeecg.com
    minio_name: ??
    minio_pass: ??
    bucketName: otatest
    dataPrefix: https://cutomer-static-bucket.s3.cn-northwest-1.amazonaws.com.cn/
  minio_us:
    minio_url: s3.amazonaws.com
    minio_name: AKIA4NOAZAWYOT6RAF2F
    minio_pass: IShWegPpmE3K0P1xbBv/qNJoWlPZMGxgueqyimcz
    minio_region: us-east-1
    bucketName: sync-adwebcloud-bucket
    dataPrefix: https://data.adwebcloud.com/
    originDataPrefix: https://advich-wordpress-static-resources.s3.us-west-2.amazonaws.com/
  # 大屏报表参数设置
  jmreport:
    # 多租户模式，默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)
    saasMode:
    # 平台上线安全配置(v1.6.2+ 新增)
    firewall:
      # 数据源安全 (开启后，不允许使用平台数据源、SQL解析加签并且不允许查询数据库)
      dataSourceSafe: false
      # 低代码开发模式（dev:开发模式，prod:发布模式—关闭在线报表设计功能，分配角色admin、lowdeveloper可以放开限制）
      lowCodeMode: dev
  # xxl-job配置 - jeecg-boot-starter3-job
  xxljob:
    enabled: false
    adminAddresses: http://localhost:8090/xxl-job-admin/
    appname: ${spring.application.name}-test
    accessToken: 4j9Z@FapJQKLuQtG
    ## 执行器注册地址 [选填]：优先使用该配置作为注册地址，为空时使用内嵌服务 ”IP:PORT“ 作为注册地址
    address:
    ## 执行器IP [选填]：默认为空表示自动获取IP，多网卡时可手动设置指定IP
    ip:
    ## 执行器端口号 [选填]：小于等于0则自动获取；默认端口为9999
    ## XxlJobConfiguration.xxlJobExecutor暂不支持配置
    port: 9999
    logPath: logs/jeecg/job/jobhandler/
    logRetentionDays: 30
  # 分布式锁配置
  redisson:
    address: 127.0.0.1:6379
    password:
    type: STANDALONE
    enabled: true
  # ai-chat
  ai-chat:
    # 是否开启 - 必须
    enabled: true
    # openAi / deepSeek 接口秘钥
    apiKey: sk-e2e55cc205ee4ca1bdd25533d74fc646
    # openAi / deepSeek 语言模型
    model: deepseek-chat
    # openAi / deepSeek域名，有代理就填代理的域名
    apiHost: https://api.deepseek.com
    # 超时时间单位:s - 默认 60s
    timeout: 60

    # 本地代理地址
    # proxy:
    #   host: "http://127.0.0.1"
    #   port: "7890"

# cas单点登录
cas:
  prefixUrl: http://cas.example.org:8443/cas

# Mybatis输出sql日志
logging:
  level:
    org.flywaydb: debug
    org.jeecg.modules.system.mapper: debug

# swagger
knife4j:
  # 开启增强配置
  enable: true
  # 开启生产环境屏蔽
  production: false
  basic:
    enable: false
    username: jeecg
    password: jeecg1314

# 第三方登录
justauth:
  enabled: true
  type:
    GITHUB:
      client-id: ??
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback
    WECHAT_ENTERPRISE:
      client-id: ??
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
      agent-id: ??
    DINGTALK:
      client-id: ??
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback
    WECHAT_OPEN:
      client-id: ??
      client-secret: ??
      redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback
  cache:
    type: default
    prefix: 'demo::'
    timeout: 1h

security:
  oauth2:
    client:
      ignore-urls:
        - /test/jeecgDemo/demo3
        - /test/jeecgDemo/redisDemo/**
        - /jmreport/bigscreen2/**

### 自定义
### v3系统配置
v3:
  dmp:
    # DMP模块实时报表开关，true-从DataBridge实时读取 false-从DB离线读取
    realtimeReport: true

### GA,GTM,Ads等数据交换中心
data-bridge:
  api:
    host: http://data-bridge.v3.adwebcloud.com:9002
    token: lgoXX9APqgPLGMPECiNoxaPx
  gtm:
    account-id: 6000226571
  ga:
    account-ids: 191734056, 339897686 # v3系统中可用的GA帐号

### GEOIP MMDB 静态数据库文件
geoip:
  static:
    city:
      mmdb: /opt/adweb3/sharing/GeoLite2-City.mmdb

### 机器人预警url
robot:
  enquiry-url: https://open.feishu.cn/open-apis/bot/v2/hook/38c1e0fb-1aa9-4097-8625-2b928684b1b2  #询盘拉取失败通知
  market-plan-missing-url: https://open.feishu.cn/open-apis/bot/v2/hook/4a7110ff-9121-49fc-b0b6-0d809b548ad4  #缺少营销方案导致的拉取站点失败
  flow-abnormal-url: https://open.feishu.cn/open-apis/bot/v2/hook/81ec5829-ba64-43d7-9662-2054e80a4ebe  #流量异常通知
  keyword-preOrSuffix-url: https://open.feishu.cn/open-apis/bot/v2/hook/325b4b0a-df54-4c7f-adaf-c5da61bb12b3  #关键词前后缀通知
  site-url: https://open.feishu.cn/open-apis/bot/v2/hook/c5f2a9a5-b0e9-4b58-8622-7e39f66e00b0 #站点管理通知消息

### 垃圾询盘判断规则
judge_waste_enquiry:
  email:
    tenMinNum: 3 # 10分钟内最多发送3次
    oneDayNum: 5 # 一天最多发送5封邮件
    notBlackListNum: 3 # 不在黑名单中的邮箱发送次数
    notBlackListDate: 7 # 不在邮箱黑名单中的垃圾询盘计数的天数
  ip:
    tenMinNum: 3 # 10分钟内最多发送次数 >
    oneDayNum: 5 # 一天内最多发送次数 >
    notBlackListNum: 3 # 不在Ip黑名单中垃圾询盘计数次数 >
    notBlackListDate: 7 # 不在Ip黑名单中垃圾询盘计数的天数
    delOrdIpDate: 90 # 删除时效性低的Ip时间

### dataforseo
dataforseo:
  username: advichdev@gmail.com
  password: 0845d3de83295cca
  api-path: https://api.dataforseo.com

### 跨境物流 - 每日出运等
logistics:
  meiri56:
    token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICAgInVzZXJuYW1lIjogInN1aGFvIiwKICAgICJzdWIiOiAibG9naW4iLAogICAgImlhdCI6IDE3MzIyNDcwOTAsCiAgICAiZXhwIjogMTczMjMzMzQ5MAp9.rI3IsN8qsfKiBqS6YQn45dQiTvPdoY_GcMJOR1FgKDk

### 外贸大数据 - 外贸公社
tradesparq:
  api:
    host: https://openapi.tradesparq.com
    id: Sw5bYYe7
    secret: j4ThjI10jiV3L3y7

### 询盘列表配置
enquiry:
  disable-admin-read: true # 询盘的消息是否阅读后更改阅读状态
  demoFlag: false # 询盘的示例关键消息是否脱敏处理
  token: zQ3jJqtIexedIw6tZGk6p
  pullCount: 5

### 亚马逊翻译api
aws:
  translate:
    accessKey: AKIAS37NJDKDETZ7PPEN
    secretKey: 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

### 建站链接测试环境配置
AdwebSiteConnect:
  host: 54.184.224.4
  port: 22
  username: ubuntu
  password: adweb123@2024
  tempDomain: v3-site.adwebcloud.com

### WP临时服务器
serverIp:
  test: 54.184.224.4

### 资源额度
resource-quota:
  default-website-quota: 1
  default-ai-power-quota: 10
  default-customs-data-quota: 10