application.yaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. spring:
  2. application:
  3. name: yudao-server
  4. profiles:
  5. active: sxtest
  6. main:
  7. allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
  8. # Servlet 配置
  9. servlet:
  10. # 文件上传相关配置项
  11. multipart:
  12. max-file-size: 16MB # 单个文件大小
  13. max-request-size: 32MB # 设置总上传的文件大小
  14. # Jackson 配置项
  15. jackson:
  16. serialization:
  17. write-dates-as-timestamps: true # 设置 Date 的格式,使用时间戳
  18. write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401
  19. write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳
  20. fail-on-empty-beans: false # 允许序列化无属性的 Bean
  21. # Cache 配置项
  22. cache:
  23. type: REDIS
  24. redis:
  25. time-to-live: 1h # 设置过期时间为 1 小时
  26. server:
  27. servlet:
  28. encoding:
  29. enabled: true
  30. charset: UTF-8 # 必须设置 UTF-8,避免 WebFlux 流式返回(AI 场景)会乱码问题
  31. force: true
  32. --- #################### 接口文档配置 ####################
  33. springdoc:
  34. api-docs:
  35. enabled: true
  36. path: /v3/api-docs
  37. swagger-ui:
  38. enabled: true
  39. path: /swagger-ui
  40. default-flat-param-object: true # 参见 https://doc.xiaominfo.com/docs/faq/v4/knife4j-parameterobject-flat-param 文档
  41. knife4j:
  42. enable: false # TODO 芋艿:需要关闭增强,具体原因见:https://github.com/xiaoymin/knife4j/issues/874
  43. setting:
  44. language: zh_cn
  45. # 工作流 Flowable 配置
  46. flowable:
  47. # 1. false: 默认值,Flowable 启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常
  48. # 2. true: 启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表
  49. # 3. create_drop: 启动时自动创建表,关闭时自动删除表
  50. # 4. drop_create: 启动时,删除旧表,再创建新表
  51. database-schema-update: true # 设置为 false,可通过 https://github.com/flowable/flowable-sql 初始化
  52. db-history-used: true # flowable6 默认 true 生成信息表,无需手动设置
  53. check-process-definitions: false # 设置为 false,禁用 /resources/processes 自动部署 BPMN XML 流程
  54. history-level: audit # full:保存历史数据的最高级别,可保存全部流程相关细节,包括流程流转各节点参数
  55. # MyBatis Plus 的配置项
  56. mybatis-plus:
  57. configuration:
  58. map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
  59. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  60. shrink-whitespaces-in-sql: true
  61. global-config:
  62. db-config:
  63. id-type: AUTO # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。
  64. # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库
  65. # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库
  66. # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解
  67. logic-delete-value: 1 # 逻辑已删除值(默认为 1)
  68. logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
  69. banner: false # 关闭控制台的 Banner 打印
  70. type-aliases-package: ${yudao.info.base-package}.module.*.dal.dataobject
  71. encryptor:
  72. password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成
  73. mybatis-plus-join:
  74. banner: false # 是否打印 mybatis plus join banner,默认true
  75. sub-table-logic: true # 全局启用副表逻辑删除,默认true。关闭后关联查询不会加副表逻辑删除
  76. ms-cache: true # 拦截器MappedStatement缓存,默认 true
  77. table-alias: t # 表别名(默认 t)
  78. logic-del-type: on # 副表逻辑删除条件的位置,支持 WHERE、ON,默认 ON
  79. # Spring Data Redis 配置
  80. spring:
  81. data:
  82. redis:
  83. repositories:
  84. enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
  85. # VO 转换(数据翻译)相关
  86. easy-trans:
  87. is-enable-global: true # 启用全局翻译(拦截所有 SpringMVC ResponseBody 进行自动翻译 )。如果对于性能要求很高可关闭此配置,或通过 @IgnoreTrans 忽略某个接口
  88. --- #################### 验证码相关配置 ####################
  89. huilv:
  90. trade:
  91. private-key: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANE5UsDMlYgk9BWteW+5bvBD6+60URN8uxfjPNQ2EYGxlG7ZcNojSsdTFzP3+6AHvR7F14D5c5zXTD0y7EVtKtsPUY7YH3pRmDunL85NTHoPk8aQOnJYHgQ3RV59nuMIuVUp4As4ufyJreaPeWOykCCY4hpyLuo2opXjt7W3Ld4TAgMBAAECgYADTrCsM4+5kzv4i8F7rqa+TZSRNXCCqloaypDPmfs03aXHCtDp4dzwwbOAMs9bfEPVFLOPamIVfKHL5d4uSsd+n68RBgiMfFeTue34gVrvgmG/OAnZUdSC3XZsksGfuP5yDJg3VIqsP4u5Yn2gLBvbGmcgkxch6BZnR1CenNN4oQJBAPU5/p927zh+wKFOf0fkoGc7+qOudfnHgC2nxfLRlRF1ZNooinwUACOwD+aBLxH3eIecUZny5M+xg/oR+lhqJKcCQQDaampjwpuuVcHREx3ETu0Zs1LlXTHShMyxU/MvUx3f/vxo2xq+IVfF3/TA76PjzTzCovLMciM/VBF88lol6Oy1AkAys5Dvi3meZqaRM1ehl6WKcp45pWKDCDp6Ngv5TlfRykHV0TgAu2nj9wzyjZcb0dy7vRgqCkxAnOU6mOj3yspVAkEAxEzCA5kDPGMcx6CLr0RUOjX9+eCRh6gNJA7UUKM+BXRxPHg3h8wFy/SlT8XRIUrzIec7ml22qhMPiKF0PgAixQJALX+GHdBzHhUUGXGv1Oe2S6yj7V5bqLdOxqFYlqwOc4cpdk3ZAYclshXUJhol/rXcJWtLfQmkl0Ywkp2oTURBPw== #私钥
  92. pay:
  93. base-url: http://10.3.10.60/pay/api
  94. pay-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/payNotify
  95. pay-return-url: http://xxx/api/pay/order/return
  96. refund-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/refundNotify
  97. cbbpay-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/payNotify
  98. cbbpay-return-url: http://xxx/api/pay/order/return
  99. cbbrefund-notify-url: https://tms2.hbsxly.com/travl-app-api/trade/refundNotify
  100. aj:
  101. captcha:
  102. jigsaw: classpath:images/jigsaw # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
  103. pic-click: classpath:images/pic-click # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
  104. cache-type: redis # 缓存 local/redis...
  105. cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存
  106. timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行
  107. type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选
  108. water-mark: 豪华游轮 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
  109. interference-options: 0 # 滑动干扰项(0/1/2)
  110. req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false
  111. req-get-lock-limit: 5 # 验证失败 5 次,get接口锁定
  112. req-get-lock-seconds: 10 # 验证失败后,锁定时间间隔
  113. req-get-minute-limit: 30 # get 接口一分钟内请求数限制
  114. req-check-minute-limit: 60 # check 接口一分钟内请求数限制
  115. req-verify-minute-limit: 60 # verify 接口一分钟内请求数限制
  116. --- #################### 消息队列相关 ####################
  117. # rocketmq 配置项,对应 RocketMQProperties 配置类
  118. rocketmq:
  119. # Producer 配置项
  120. producer:
  121. group: ${spring.application.name}_PRODUCER # 生产者分组
  122. spring:
  123. # Kafka 配置项,对应 KafkaProperties 配置类
  124. kafka:
  125. # Kafka Producer 配置项
  126. producer:
  127. acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。
  128. retries: 3 # 发送失败时,重试发送的次数
  129. value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化
  130. # Kafka Consumer 配置项
  131. consumer:
  132. auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解
  133. value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
  134. properties:
  135. spring.json.trusted.packages: '*'
  136. # Kafka Consumer Listener 监听器配置
  137. listener:
  138. missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错
  139. --- #################### AI 相关配置 ####################
  140. spring:
  141. ai:
  142. vectorstore: # 向量存储
  143. redis:
  144. initialize-schema: true
  145. index: knowledge_index # Redis 中向量索引的名称:用于存储和检索向量数据的索引标识符,所有相关的向量搜索操作都会基于这个索引进行
  146. prefix: "knowledge_segment:" # Redis 中存储向量数据的键名前缀:这个前缀会添加到每个存储在 Redis 中的向量数据键名前,每个 document 都是一个 hash 结构
  147. qdrant:
  148. initialize-schema: true
  149. collection-name: knowledge_segment # Qdrant 中向量集合的名称:用于存储向量数据的集合标识符,所有相关的向量操作都会在这个集合中进行
  150. host: 127.0.0.1
  151. port: 6334
  152. milvus:
  153. initialize-schema: true
  154. database-name: default # Milvus 中数据库的名称
  155. collection-name: knowledge_segment # Milvus 中集合的名称:用于存储向量数据的集合标识符,所有相关的向量操作都会在这个集合中进行
  156. client:
  157. host: 127.0.0.1
  158. port: 19530
  159. qianfan: # 文心一言
  160. api-key: x0cuLZ7XsaTCU08vuJWO87Lg
  161. secret-key: R9mYF9dl9KASgi5RUq0FQt3wRisSnOcK
  162. zhipuai: # 智谱 AI
  163. api-key: 32f84543e54eee31f8d56b2bd6020573.3vh9idLJZ2ZhxDEs
  164. openai: # OpenAI 官方
  165. api-key: sk-aN6nWn3fILjrgLFT0fC4Aa60B72e4253826c77B29dC94f17
  166. base-url: https://api.gptsapi.net
  167. azure: # OpenAI 微软
  168. openai:
  169. endpoint: https://eastusprejade.openai.azure.com
  170. api-key: xxx
  171. ollama:
  172. base-url: http://127.0.0.1:11434
  173. chat:
  174. model: llama3
  175. stabilityai:
  176. api-key: sk-e53UqbboF8QJCscYvzJscJxJXoFcFg4iJjl1oqgE7baJETmx
  177. dashscope: # 通义千问
  178. api-key: sk-71800982914041848008480000000000
  179. minimax: # Minimax:https://www.minimaxi.com/
  180. api-key: xxxx
  181. moonshot: # 月之暗灭(KIMI)
  182. api-key: sk-abc
  183. yudao:
  184. ai:
  185. deep-seek: # DeepSeek
  186. enable: true
  187. api-key: sk-e94db327cc7d457d99a8de8810fc6b12
  188. model: deepseek-chat
  189. doubao: # 字节豆包
  190. enable: true
  191. api-key: 5c1b5747-26d2-4ebd-a4e0-dd0e8d8b4272
  192. model: doubao-1-5-lite-32k-250115
  193. hunyuan: # 腾讯混元
  194. enable: true
  195. api-key: sk-abc
  196. model: hunyuan-turbo
  197. siliconflow: # 硅基流动
  198. enable: true
  199. api-key: sk-epsakfenqnyzoxhmbucsxlhkdqlcbnimslqoivkshalvdozz
  200. model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
  201. xinghuo: # 讯飞星火
  202. enable: true
  203. appKey: 75b161ed2aef4719b275d6e7f2a4d4cd
  204. secretKey: YWYxYWI2MTA4ODI2NGZlYTQyNjAzZTcz
  205. model: generalv3.5
  206. baichuan: # 百川智能
  207. enable: true
  208. api-key: sk-abc
  209. model: Baichuan4-Turbo
  210. midjourney:
  211. enable: true
  212. # base-url: https://api.holdai.top/mj-relax/mj
  213. base-url: https://api.holdai.top/mj
  214. api-key: sk-dZEPiVaNcT3FHhef51996bAa0bC74806BeAb620dA5Da10Bf
  215. notify-url: http://java.nat300.top/ship-ota-api/ai/image/midjourney/notify
  216. suno:
  217. enable: true
  218. # base-url: https://suno-55ishh05u-status2xxs-projects.vercel.app
  219. base-url: http://127.0.0.1:3001
  220. --- #################### 芋道相关配置 ####################
  221. yudao:
  222. info:
  223. version: 1.0.0
  224. base-package: com.yc.ship
  225. web:
  226. admin-ui:
  227. url: http://dashboard.yudao.iocoder.cn # Admin 管理后台 UI 的地址
  228. admin-url: ship-ota-api
  229. app-url: travl-app-api
  230. xss:
  231. enable: false
  232. exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
  233. - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
  234. - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
  235. security:
  236. permit-all_urls:
  237. - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录
  238. - /${yudao.web.admin-url}/notify/** # 统一消息服务,接收消息的接口,不需要登录
  239. websocket:
  240. enable: true # websocket的开关
  241. path: /infra/ws # 路径
  242. sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq
  243. sender-rocketmq:
  244. topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic
  245. consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group
  246. sender-rabbitmq:
  247. exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange
  248. queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue
  249. sender-kafka:
  250. topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic
  251. consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group
  252. swagger:
  253. title: 芋道快速开发平台
  254. description: 提供管理后台、用户 App 的所有功能
  255. version: ${yudao.info.version}
  256. url: ${yudao.web.admin-ui.url}
  257. email: xingyu4j@vip.qq.com
  258. license: MIT
  259. license-url: https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE
  260. codegen:
  261. base-package: ${yudao.info.base-package}
  262. db-schemas: ${spring.datasource.dynamic.datasource.master.name}
  263. front-type: 20 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
  264. unit-test-enable: false # 是否生成单元测试
  265. tenant: # 多租户相关配置项
  266. enable: true
  267. ignore-urls:
  268. - /jmreport/* # 积木报表,无法携带租户编号
  269. - /travl-app-api/system/tenant/get-id-by-name # 基于名字获取租户,不许带租户编号
  270. - /travl-app-api/test/index # 基于名字获取租户,不许带租户编号
  271. - /travl-app-api/trade/orderTest # 基于名字获取租户,不许带租户编号
  272. - /travl-app-api/trade/payNotify
  273. - /travl-app-api/trade/payBcNotify
  274. - /travl-app-api/trade/payDeposiOrder
  275. - /travl-app-api/trade/deposiPayNotify
  276. - /travl-app-api/trade/refundNotify
  277. - /travl-app-api/system/sms/callback/aliyun
  278. - /${yudao.web.admin-url}/notify/* # 统一消息服务,接收消息的接口,不需要登录
  279. ignore-visit-urls:
  280. - /admin-api/system/user/profile/**
  281. ignore-tables:
  282. - area
  283. - system_tenant
  284. - system_tenant_package
  285. - system_dict_data
  286. - system_dict_type
  287. - system_error_code
  288. - system_menu
  289. - system_sms_channel
  290. - system_sms_template
  291. - system_sms_log
  292. - system_sensitive_word
  293. - system_oauth2_client
  294. - system_mail_account
  295. - system_mail_template
  296. - system_mail_log
  297. - system_notify_template
  298. - system_sequence_number
  299. - product_supplier_category
  300. - distributor_discount
  301. - system_area
  302. - system_area_country
  303. - trade_mch_info
  304. - trade_order_jz
  305. - ota_distributor_region
  306. - ota_region
  307. - trade_insurance
  308. ignore-caches:
  309. - user_role_ids
  310. - permission_menu_ids
  311. - oauth_client
  312. - notify_template
  313. - mail_account
  314. - mail_template
  315. - sms_template
  316. - iot:device
  317. - iot:thing_model_list
  318. sms-code: # 短信验证码相关的配置项
  319. expire-times: 10m
  320. send-frequency: 1m
  321. send-maximum-quantity-per-day: 10
  322. begin-code: 1000 # 这里配置 9999 的原因是,测试方便。
  323. end-code: 9999 # 这里配置 9999 的原因是,测试方便。
  324. trade:
  325. order:
  326. pay-expire-time: 2h # 支付的过期时间
  327. receive-expire-time: 14d # 收货的过期时间
  328. comment-expire-time: 7d # 评论的过期时间
  329. status-sync-to-wxa-enable: true # 是否同步订单状态到微信小程序
  330. express:
  331. client: kd_100
  332. kd-niao:
  333. api-key: cb022f1e-48f1-4c4a-a723-9001ac9676b8
  334. business-id: 1809751
  335. request-type: 1002 # 免费版 1002;付费版 8001
  336. kd100:
  337. key: pLXUGAwK5305
  338. customer: E77DF18BE109F454A5CD319E44BF5177
  339. debug: true
  340. # 插件配置 TODO 芋艿:【IOT】需要处理下
  341. pf4j:
  342. pluginsDir: /Users/anhaohao/code/gitee/ruoyi-vue-pro/plugins # 插件目录
  343. clientCode:
  344. xxl:
  345. job:
  346. executor:
  347. appname: ${spring.application.name} # 执行器 AppName
  348. logpath: ${user.home}/logs/xxl-job/${spring.application.name} # 执行器运行日志文件存储磁盘路径
  349. accessToken: default_token # 执行器通讯TOKEN
  350. client:
  351. api:
  352. url: http://127.0.0.1:48081/hotel-api
  353. sync-file:
  354. tempPath: /tmp/sync-file
  355. sourcePath: /usr/local/file/ship
  356. targetPath: /usr/local/file/hotel