From 833d089cb8a0e8bb201d91cfb573a15ced721309 Mon Sep 17 00:00:00 2001 From: zhangsz Date: Tue, 31 Dec 2024 19:51:03 +0800 Subject: [PATCH] feat: use application.yml to config --- build/docker/docker-compose.yml | 29 +++-- build/docker/env/default.env | 1 + build/docker/nacos/conf/application.yml | 66 ++++++++++ .../wfc/modules/payment/conf/application.yml | 122 ++++++++++++++++++ .../{config => conf/wxpay}/wxpay_key.pem | 0 docs/03-configuration/03-wfc-quickstart.md | 2 + 6 files changed, 210 insertions(+), 10 deletions(-) create mode 100644 build/docker/nacos/conf/application.yml create mode 100644 build/docker/wfc/modules/payment/conf/application.yml rename build/docker/wfc/modules/payment/{config => conf/wxpay}/wxpay_key.pem (100%) diff --git a/build/docker/docker-compose.yml b/build/docker/docker-compose.yml index 8283d4f..a1f62ab 100644 --- a/build/docker/docker-compose.yml +++ b/build/docker/docker-compose.yml @@ -6,13 +6,15 @@ services: context: ./nacos environment: - MODE=standalone - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} + - SPRING_CONFIG_LOCATION=classpath:/,file:/home/nacos/conf/ volumes: - ./nacos/logs/:/home/nacos/logs - - ./nacos/conf/application.properties:/home/nacos/conf/application.properties + - ./nacos/conf/application.yml:/home/nacos/conf/application.yml ports: - "${NACOS_SERVER_PORT}:${NACOS_SERVER_PORT}" networks: @@ -93,7 +95,8 @@ services: # - wfc-redis # - wfc-nacos environment: - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} @@ -126,7 +129,8 @@ services: # links: # - wfc-redis environment: - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} @@ -164,7 +168,8 @@ services: # - wfc-redis # - wfc-mysql environment: - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} @@ -196,7 +201,8 @@ services: # - wfc-redis # - wfc-mysql environment: - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} @@ -225,7 +231,8 @@ services: # links: # - wfc-mysql environment: - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} @@ -244,8 +251,8 @@ services: - wfc-be-network volumes: - ./wfc/modules/payment/jar/wfc-modules-payment.jar:/opt/wfc/app.jar - # - ./wfc/modules/payment/logs/:/opt/wfc/logs/ - - ./wfc/modules/payment/config/:/opt/wfc/config/payment/ + - ./wfc/modules/payment/conf/:/opt/wfc/conf/ + - ./wfc/modules/payment/logs/:/opt/wfc/logs/ depends_on: wfc-redis: condition: service_healthy @@ -259,11 +266,13 @@ services: # - wfc-redis # - wfc-mysql environment: - - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} + - NACOS_PROFILE_NAME=${NACOS_PROFILE_NAME} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} - NACOS_SERVER_NAME=${NACOS_SERVER_NAME} - NACOS_SERVER_IP=${NACOS_SERVER_IP} - NACOS_SERVER_PORT=${NACOS_SERVER_PORT} - WFC_PAYMENT_PORT=${WFC_PAYMENT_PORT} + - SPRING_CONFIG_LOCATION=classpath:/,file:/opt/wfc/conf/ restart: ${RESTART_OPTION} wfc-nginx: diff --git a/build/docker/env/default.env b/build/docker/env/default.env index 152982f..654bb90 100644 --- a/build/docker/env/default.env +++ b/build/docker/env/default.env @@ -7,6 +7,7 @@ MYSQL_PORT=3306 MYSQL_USER=mysql MYSQL_PASSWORD=123456 REDIS_PORT=6379 +NACOS_PROFILE_NAME=prod NACOS_NAME_SPACE=wfc-prod NACOS_SERVER_NAME=wfc-nacos WFC_SERVER_PORT=80 diff --git a/build/docker/nacos/conf/application.yml b/build/docker/nacos/conf/application.yml new file mode 100644 index 0000000..0a1c000 --- /dev/null +++ b/build/docker/nacos/conf/application.yml @@ -0,0 +1,66 @@ +spring: + datasource: + platform: mysql + +db: + num: 1 + url: + 0: jdbc:mysql://wfc-mysql:3306/wfc_config_db?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC + user: root + password: 123456 + +nacos: + naming: + empty-service: + auto-clean: true + clean: + initial-delay-ms: 50000 + period-time-ms: 30000 + # server: + # ip: ${NACOS_SERVER_IP} + # port: ${NACOS_SERVER_PORT} + security: + ignore: + urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** + core: + auth: + system: + type: nacos + enabled: false + default: + token: + expire: + seconds: 18000 + secret: + key: SecretKey012345678901234567890123456789012345678901234567890123456789 + caching: + enabled: true + enable: + userAgentAuthWhite: false + server: + identity: + key: serverIdentity + value: security + istio: + mcp: + server: + enabled: false + +management: + endpoints: + web: + exposure: + include: "*" + metrics: + export: + elastic: + enabled: false + influx: + enabled: false + +server: + tomcat: + accesslog: + enabled: true + pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i' + basedir: /home/wfc/nacos/tomcat/logs \ No newline at end of file diff --git a/build/docker/wfc/modules/payment/conf/application.yml b/build/docker/wfc/modules/payment/conf/application.yml new file mode 100644 index 0000000..61cc17b --- /dev/null +++ b/build/docker/wfc/modules/payment/conf/application.yml @@ -0,0 +1,122 @@ +# spring配置 +spring: + application: + name: wfc-payment + cloud: + nacos: + discovery: + server-addr: ${NACOS_SERVER_ADDR:wfc-nacos}:${NACOS_SERVER_PORT:8848} + namespace: ${NACOS_NAME_SPACE:wfc-prod} + main: + allow-bean-definition-overriding: true + + redis: + host: wfc-redis + port: 6379 + password: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + connectTimeout: 30000 + socketTimeout: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 + datasource: + # 主库数据源 + master: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://wfc-mysql:3306/wfc_user_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: 123456 + # 从库数据源 + # slave: + # username: + # password: + # url: + # driver-class-name: + +# mybatis-plus配置 +mybatis-plus: + # 搜索指定包别名 + type-aliases-package: org.wfc.system + # 配置mapper的扫描,找到所有的mapper.xml映射文件 + mapper-locations: classpath:mapper/**/*.xml + global-config: + db-config: + logic-delete-field: del_flag + logic-delete-value: 1 + logic-not-delete-value: 0 + +# swagger configuration +swagger: + title: payment modules api + license: Powered By wfc + licenseUrl: https://wfc.vip + +logging: + level: + root: DEBUG + org: + springframework: DEBUG + mybatis: + mapper: DEBUG + com: + github: + binarywang: DEBUG + file: + name: /opt/wfc/logs/wfc-payment.log + +wxpay: + appId: 121412414112 + mchId: 1131412414 + mchKey: 1525342aa + subAppId: #服务商模式下的子商户公众账号ID + subMchId: #服务商模式下的子商户号 + keyPath: /opt/wfc/config/wxpay/wxpay_key.pem + useSandboxEnv: false + +alipay: + appId: 121412414112 + privateKey: 1131412414 + publicKey: 1525342aa + notifyUrl: http://wfc-gateway:${GATEWAY_SERVER_PORT:8080}/alipay/notify + returnUrl: http://wfc-gateway:${GATEWAY_SERVER_PORT:8080}/alipay/return + signType: RSA2 + charset: utf-8 + gatewayUrl: https://openapi.alipaydev.com/gateway.do + logPath: /opt/wfc/logs/alipay/alipay_log.txt + maxQueryRetry: 5 + queryDuration: 5 + maxCancelRetry: 3 + cancelDuration: 2 + heartbeatDelay: 5 + heartbeatDuration: 5 + storeId: + storeName: + supportEmail: + supportPhone: + +ccpay: + url: https://api.paymentgateway.com/v1/payments + apiKey: api-key-from-yml + merchantId: merchant-id-from-yml + currency: USD + timeout: 30 + callbackUrl: https://wfc-gateway:${GATEWAY_SERVER_PORT:8080}/payment/callback \ No newline at end of file diff --git a/build/docker/wfc/modules/payment/config/wxpay_key.pem b/build/docker/wfc/modules/payment/conf/wxpay/wxpay_key.pem similarity index 100% rename from build/docker/wfc/modules/payment/config/wxpay_key.pem rename to build/docker/wfc/modules/payment/conf/wxpay/wxpay_key.pem diff --git a/docs/03-configuration/03-wfc-quickstart.md b/docs/03-configuration/03-wfc-quickstart.md index 5476f7b..9639465 100644 --- a/docs/03-configuration/03-wfc-quickstart.md +++ b/docs/03-configuration/03-wfc-quickstart.md @@ -65,6 +65,7 @@ docker-compose >= 1.29.2 ├── bin # shell script and binary file ├── docker # docker compose work directory │   ├── env # default docker environment file, will be copy to docker compose work directory +│   ├── java # java image directory │   ├── mysql # mysql database container directory │   │   ├── conf │   │   ├── conf.d @@ -135,6 +136,7 @@ docker-compose >= 1.29.2 MYSQL_USER=mysql MYSQL_PASSWORD=123456 REDIS_PORT=6379 + NACOS_PROFILE_NAME=prod NACOS_NAME_SPACE=wfc-prod NACOS_SERVER_NAME=wfc-nacos WFC_SERVER_PORT=80