spring:
  profiles:
    active: dev
    title: "@@project.name@@"
    description: "@@project.description@@"
    version: "@@project.version@@"
  datasource:
    dynamic:
      primary: master #设置默认的数据源或者数据源组,默认值即为master
      seata: false
      datasource:
        master:
          druid:
            # 最小连接数
            min-idle: 10
            # 最大连接数
            max-active: 300
            # 如果当前使用Oracle，把这个值设置为100。
            max-open-prepared-statements: -1
            # druid mysql 验证语句
            validation-query: select 1 FROM DUAL
            # druid pgsql 验证语句
            #validation-query: select 1
            # druid oracle 验证语句
            #validation-query: select 1 from dual
            testWhileIdle: true
            # 借用连接时执行validationQuery检测连接是否有效，做了这个配置会降低性能
            testOnBorrow: false
            # 归还连接时执行validationQuery检测连接是否有效，做了这个配置会降低性能
            testOnReturn: false
            removeAbandoned: false
  http:
    encoding:
      enabled: true
      force: true
      charset: UTF-8
    messages:
      encoding: UTF-8
  servlet:
    multipart:
      maxFileSize: 1024MB
      maxRequestSize: 1024MB
      enabled: true
  freemarker:
    template-loader-path: classpath:/templates/ #模板加载路径 按需配置
    charset: UTF-8
  redis:
    timeout: 5000
    lettuce:
      pool:
        max-active: 200
        max-idle: 200
        min-idle: 5
  jms:
    pub-sub-domain: true
    cache:
      enabled: false
  activemq:
    in-memory: false
    pool:
      enabled: true
    packages:
      trust-all: true
      trusted: com.hotent.activemq.model,com.hotent.base.jms,java.util,java.lang,com.hotent #信任所有的包
  kafka:
    bootstrap-servers: 192.168.1.119:9092
  rocketmq:
    namesrvAddr: 192.168.1.31:9876
  messages:
    basename: i18n/messages
    encoding: UTF-8

# 服务端端口
server:
  port: 8089
  address: 0.0.0.0
  # 链接建立超时时间（单位：毫秒）
  connection-timeout: 30000
  contextPath: /
  tomcat:
    uri-encoding: UTF-8
    # 最小线程数
    min-spare-threads: 8
    # 最大线程数 默认值200
    max-threads: 300
    # 最大链接数 默认值 8192
    max-connections: 8192
    # 最大等待队列长度
    accept-count: 100
  compression:
    enabled: true
    mime-types: "text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json"
    min-response-size: 1024

# 是否启用队列，默认的队列名和订阅名
jms:
  enable: true
  queue:
    name: eipQueue_tt
  topic:
    name: eipTopic_tt

# 指定可跨域的域名
cross:
  allowOrigin:

# 配置打印SQL语句
logging:
  config: classpath:config/logback-spring.xml
management:
  # 忽略ldap的健康检查
  health:
    LDAP.enabled: false
  add-application-context-header: false
  endpoints:
    web:
      exposure:
        include: health,info,cert

info:
  app:
    encoding: "@@project.build.sourceEncoding@@"
    java:
      source: "@@java.version@@"
      target: "@@java.version@@"

banner:
  charset: UTF-8

mybatis-plus:
  configuration:
    call-setters-on-nulls: true
    jdbc-type-for-null: 'null'
    # 打印执行的SQL语句及返回的数据
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      update-strategy: IGNORED # FieldStrategy
  #人大金仓 类转换器
  type-handlers-package: com.hotent.base.kingbaseTypeHandler



mybatis:
  typeAliasesPackage: com.hotent.base.entity
  mapperLocations: classpath*:mapper/*.xml
  typeHandlersPackage: com.hotent.base.typehandle

# token生成配置
jwt:
  header: Authorization
  secret: mySecret
  feignSecret: myFeignSecret
  # 是否单用户登录(启用时：一个账号在PC和移动端只允许登录一次)
  single: false
  # 严格校验模式(必须单用户登录时才生效，严格校验模式下：加入token的状态管理)
  stricty: false
  expiration: 86400 # 单位秒
  # 是否开启Basic认证（注意开启该配置项有一定的被侵入风险）
  basic: false

# 系统中发送邮件的账号
mail:
  host: smtp.qq.com
  port: 25
  ssl: false
  nickName: "eip7管理员"
  username: 1192668375@qq.com
  password: bpzgyqhznjnnihje

system:
  # 默认的附件上传目录，会被系统属性中配置覆盖
  attachment:
    type: folder
    path: /home/eip/attachment
  bpm:
    engineName: eip7
    # flase activiti在启动时，会对比数据库表中保存的版本，如果没有表或者版本不匹配，将抛出异常。（生产环境常用) true activiti会对数据库中所有表进行更新操作。如果表不存在，则自动创建。（开发时常用）
    databaseSchemaUpdate: true
  # 多租户
  saas:
    # 是否开启多租户模式，注意：非租户模式和租户模式下数据有差异性，切换后可能导致数据异常
    enable: true
    # 忽略租户隔离的物理表名
    ignoreTables:
      - cost_audited_unit
      - cost_catalog
      - cost_document_wh
      - cost_district
      - cost_document_template
      - cost_document_template_file
      - information_schema.columns
      - cost_information
      - cost_survey_template
      - cost_survey_template_headers
      - cost_survey_template_items
      - cost_survey_template_version
      - cost_annual_plan
      - cost_project_approval
      - cost_annual_plan
      - cost_project_approval
      - cost_project_scenario
      - cost_project_material
      - cost_project_survey
      - cost_project_document
      - cost_project_document_file
      - cost_project_memo
      - cost_project_deliberate
      - cost_project_conclusion
      - cost_catalog_information
      - cost_catalog_survey
      - cost_catalog_unit
      - cost_project_proccess
      - cost_project_proccess_node
      - cost_project_proccess_node_templete
      - cost_project_proccess_personnel
      - cost_project_proccess_templete
      - cost_survey_fd_template
      - cost_survey_fd_template_headers
      - cost_survey_fd_template_items
      - cost_survey_fd_template_version
      - cost_verify_template
      - cost_verify_template_headers
      - cost_verify_template_items
      - cost_notice
      - cost_project_task
      - cost_project_task_log
      - cost_project_task_approval
      - cost_project_task_document
      - cost_project_task_document_data
      - cost_project_task_material
      - cost_project_task_node
      - cost_project_task_proccess
  # 异步线程池配置
  thread:
    # 连接池最小线程数（设部署应用的服务器CPU内核数为N，该值设置为：2N+1）
    core-pool-size: 150
    # 连接池最大线程数(当异步任务超过任务队列容量时，当前线程数会从最小线程数往最大线程数增长。可以设置最大线程数与最大并发数相等，例如：200并发，单服务器部署时，设置最大线程数为200)
    max-pool-size: 2000
    # 空闲线程存活时间
    keep-alive-seconds: 60
    # 任务队列容量
    queue-capacity: 100

druid:
  # 是否显示sql分析页面
  stat.enable: false
  # druid拦截后不抛出异常
  wall.throwException: false

# 附件在线预览
file:
  file.dir: /home/eip/conver/
  office:
    # 是否启用openoffice组件（设置为true也需要在服务器上安装openoffice才能使用）
    enable: true
    home: /opt/openoffice4
    #office启动端口
    prot: 9093
  simText: txt,html,xml,java,properties,sql
  media: mp3,mp4,flv,rmvb,wmv
  converted.file.charset: utf-8

# FTP settings
FTP:
  FTP.url: 192.168.1.141
  FTP.username: lj
  FTP.password: 123
  FTP.port: 21

# 阿里云OSS settings
aliyun:
  oss.endpoint: http://oss-cn-guangzhou.aliyuncs.com
  oss.accessKeyId: LTAI4GBPb8Qwz6fdhejwpJqq
  oss.accessKeySecret: szsQO6up7wkOsFUXmpZyMKVAL3c4h6
  oss.bucketName: hotent

# 单点登录配置
sso:
  enable: true
  mode: jwt # jwt cas oauth
  cas:
    url: http://127.0.0.1/cas #CAS服务地址
  oauth:
    url: http://127.0.0.1 #oauth2服务地址
    loginPath: /oauth/authorize
    tokenPath: /oauth/token
    checkPath: /oauth/check_token
    clientId: eip7
    secret: flossy
    accesstokenKey: access_token #获取oauth账号时的key
    checkPathKey: access_token #获取oauth验证token的地址
    usernameKey: username #获取用户账号时的key

# 分布式事务
seata:
  enabled: false
  application-id: ${spring.application.name}
  tx-service-group: ${spring.application.name}
  enable-auto-data-source-proxy: true
  use-jdk-proxy: false
  excludes-for-auto-proxying: firstClassNameForExclude,secondClassNameForExclude
  client:
    rm:
      async-commit-buffer-limit: 1000
      report-retry-count: 5
      table-meta-check-enable: false
      report-success-enable: false
      saga-branch-register-enable: false
      lock:
        retry-interval: 10
        retry-times: 30
        retry-policy-branch-rollback-on-conflict: true
    tm:
      degrade-check: false
      degrade-check-period: 2000
      degrade-check-allow-times: 10
      commit-retry-count: 5
      rollback-retry-count: 5
    undo:
      data-validation: true
      log-serialization: jackson
      log-table: undo_log
      only-care-update-columns: true
    log:
      exceptionRate: 100
  service:
    vgroup-mapping:
      eip-portal: seata-server #key: value key 为微服务名称 value为seata服务名称
      eip-uc: seata-server
      eip-form: seata-server
      eip-bpm-model: seata-server
      eip-bpm-runtime: seata-server
    grouplist:
      default: 192.168.1.100:8091
    enable-degrade: false
    disable-global-transaction: false
  transport:
    shutdown:
      wait: 3
    thread-factory:
      boss-thread-prefix: NettyBoss
      worker-thread-prefix: NettyServerNIOWorker
      server-executor-thread-prefix: NettyServerBizHandler
      share-boss-worker: false
      client-selector-thread-prefix: NettyClientSelector
      client-selector-thread-size: 1
      client-worker-thread-prefix: NettyClientWorkerThread
      worker-thread-size: default
      boss-thread-size: 1
    type: TCP
    server: NIO
    heartbeat: true
    serialization: seata
    compressor: none
    enable-client-batch-send-request: true
  config:
    type: file
    consul:
      server-addr: 127.0.0.1:8500
    apollo:
      apollo-meta: http://192.168.1.204:8801
      app-id: seata-server
      namespace: application
    etcd3:
      server-addr: http://localhost:2379
    nacos:
      namespace:
      serverAddr: 127.0.0.1:8848
      group: SEATA_GROUP
      userName: ""
      password: ""
    zk:
      server-addr: 127.0.0.1:2181
      session-timeout: 6000
      connect-timeout: 2000
      username: ""
      password: ""
  registry:
    type: eureka
    consul:
      server-addr: 127.0.0.1:8500
    etcd3:
      serverAddr: http://localhost:2379
    eureka:
      weight: 1
      service-url: ${eureka.client.service-url.defaultZone}
    nacos:
      application: seata-server
      server-addr: 192.168.1.100:8848
      namespace:
      userName: ""
      password: ""
    redis:
      server-addr: 192.168.1.100:6379
      db: 0
      password:
      timeout: 0
    sofa:
      server-addr: 127.0.0.1:9603
      region: DEFAULT_ZONE
      datacenter: DefaultDataCenter
      group: SEATA_GROUP
      addressWaitTime: 3000
      application: default
    zk:
      server-addr: 127.0.0.1:2181
      session-timeout: 6000
      connect-timeout: 2000
      username: ""
      password: ""

# 注册中心
eureka:
  client:
    healthcheck:
      enabled: false
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/
  instance:
    lease-expiration-duration-in-seconds: 30
    lease-renewal-interval-in-seconds: 10
    # 注册到eureka时使用ip地址
    prefer-ip-address: false
    # eureka会自动识别每个微服务的ip地址，如果需要指定ip则配置该属性
    # ip-address: 127.0.0.1
    instance-id: ${spring.cloud.client.ip-address}:${server.port}

# feign配置
feign:
  hystrix:
    enabled: false
  httpclient:
    enabled: false
  client:
    config:
      default:
        connectTimeout: 6000000
        readTimeout: 6000000
        loggerLevel: full

# 断路器配置
hystrix:
  metrics:
    enabled: false
  command:
    default:
      execution:
        isolation:
          strategy: SEMAPHORE # THREAD  SEMAPHORE
          semaphore:
            maxConcurrentRequests: 200 # 默认情况下下面两个值都是10，也就是超过10个的并发会直接进入fallback方法，不会去真正请求
          thread:
            timeoutInMilliseconds: 120000 #缺省为1000
      fallback:
        isolation:
          semaphore:
            maxConcurrentRequests: 200 # 默认情况下下面两个值都是10，也就是超过10个的并发会直接进入fallback方法，不会去真正请求

# 负载均衡配置
ribbon:
  eureka:
    enabled: false

# uniapp集成的个推
unipush:
  appId: ShVpFTXPhu9SIHivD2Kon6
  appKey: YJWwctAp916G9uoWfPwh2A
  appSecret: uqgpgsFSLx5RgUG5nvlpZ4
  masterSecret: MJJ8lWVDAX77cr9kLUuBY9
  host: http://api.getui.com/apiex.htm

xxl:
  job:
    enabled: false #如果使用xxl则不使用quartz
    accessToken: ''
    admin:
      addresses: http://192.168.1.100:8120/xxl-job-admin
    executor:
      address: ''
      appname: ${spring.application.name}
      ip: ''
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30
      port: 9999

# 是否解决跨域问题
cors:
  enable: true

# 是否开启新版本
NewVersion:
  open: true
  version: v2
# 外部接口前缀
openApi:
  prefix: openApi

security:
  enabled: false
  sql:
    excludes:
      - /swagger-resources/configuration/ui
      - /swagger-resources
      - /swagger-resources/configuration/security
      - /swagger-ui.html
      - /proxy.stream
      - /hystrix.stream
      - /druid/*
      - /hystrix/*
