legacy-params.properties
7.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# ============================================================================
# 存量业务参数(从老工程各模块的 application*.properties 迁回)
# ============================================================================
# 为什么要有这个文件:
# 老工程的 application*.properties 是**按模块各一份**的(zteits-park / zteits-order /
# zteits-pay / zteits-charge …),搬迁红线第 9 条禁止改动里面的环境配置,
# tools/p2_import_legacy.py 也故意不搬它们 —— 环境配置以新工程 yaml 为准。
# 但存量代码里有 37 个 `@Value("${...}")` 是**业务参数**(不是连接串),
# 新工程没人提供,启动会抛 `Could not resolve placeholder`,且**一次只报第一个**。
# 本文件把这一批参数集中搬回来,由 application.yaml 的 spring.config.import 引入。
#
# 键是怎么捞出来的(可复跑,不是人工回忆):
# python3 tools/p2_audit_placeholders.py
# 判据 = 注解确实存在(已去注释)+ 不在 static 字段上(Spring 不注入 static)+ 所在类会成为 Bean
# ——这三条过滤掉了 11 个假阳性(AliOssClientConfig 的 7 个 ali.oss.* 是整段被 /* */ 注释、
# 改从数据库 SysCodeValueCacheUtil 读;Wechatpayapiv3Config 的 4 个是标在 static 字段上)。
#
# 取值原则(都是「搬迁而非改造」):
# 1. 老工程 `application.properties`(默认环境)里的原值**原样搬**;
# 2. 凭据类一律写成 `${环境变量名:}`,真实值不进仓库(红线第 11 条),
# 部署时必须注入;同时这些值已记入《待轮换密钥清单》;
# 3. 老工程多个 profile 值不同的键 = 天然与环境绑定 → 也用环境变量,不钉死某一个环境的值;
# 4. 唯一被改值的键是 `local.base.url`(原因见该行注释)。
#
# 优先级:application-local.yaml > application.yaml > 本文件。要按环境覆盖这些键,
# 在 application-{profile}.properties/yaml 里重写即可。
# ============================================================================
# ---------- 支付回调地址(老 portal 的路由,P5 会随页面迁移重定向到 /app-api)----------
# ⚠️ `local.base.url` 是唯一被**改过值**的键:老工程默认环境指向
# `http://pay.service.rnting.com`(老支付服务的生产域名)。新工程本地启动时若沿用,
# 会把「支付回调」指向**老生产环境**——属于会造成实际危害的值,故改为指向本 Jar 自己。
# 生产部署时用 application-prod.yaml 覆盖即可。
local.base.url=http://127.0.0.1:48080
abcbankpay.notify.url=${local.base.url}/abcBankPay/payNotifyUrl
alipay.notify.url=${local.base.url}/alipay/aliPayNotify
alipay.payback.notify.url=${local.base.url}/alipay/aliPayBackNotify
alipay.paycard.notify.url=${local.base.url}/alipay/payCardNotify
alipay.payorder.notify.url=${local.base.url}/alipay/aliPayNotify
alipay.recharge.notify.url=${local.base.url}/appAcctRecharge/aliRechargeNotify
alipay.vipcard.notify.url=${local.base.url}/alipay/vipCardNotify
weixin.payback.notify.url=${local.base.url}/weixinpay/payBackNotifyUrl
weixin.paycard.notify.url=${local.base.url}/weixinpay/payCardNotify
weixin.payorder.notify.url=${local.base.url}/weixinpay/payNotifyUrl
weixin.recharge.notify.url=${local.base.url}/appAcctRecharge/weixinRechargeNotify
weixin.vipcard.notify.url=${local.base.url}/weixinpay/vipCardNotify
wx.notify.url=${local.base.url}/weixinpay/payNotifyUrl
wx.notifyUrl=${local.base.url}/weixinPublicPay/payNotifyUrl
wx.cardNotifyUrl=${local.base.url}/weixinPublicPay/cardNotifyUrl
wx.vipCardNotifyUrl=${local.base.url}/weixinPublicPay/vipCardNotifyUrl
# ---------- 支付渠道凭据(老值仅存在于老服务器,仓库里没有过;必须部署时注入)----------
# 支付宝商户 PID(老工程 `application.properties` 里是 2088231036270954)
# —— 属于支付账号标识,不写进仓库
alipay.partner=${ALIPAY_PARTNER:}
# 支付宝同步跳转页(老默认是 http://39.98.54.240/codepay/page/alipayResult.html,
# 房山环境又是另一个域名 → 天然按环境变,故用环境变量)
alipay.return.url=${ALIPAY_RETURN_URL:}
# 微信支付证书:文件名可搬,密码(= 商户号)不搬
wx.cert.name=apiclient_cert.p12
wx.cert.pass=${WX_CERT_PASS:}
# ---------- 电信 IoT(停车设备直连)----------
telecom.iot.url=https://device.api.ct10649.com:8743
telecom.iot.appid=${TELECOM_IOT_APPID:}
telecom.iot.secret=${TELECOM_IOT_SECRET:}
# ---------- 邮件 ----------
spring.mail.username=${MAIL_USERNAME:}
# 邮件里展示当前环境名:老值 'ali' / '195' / 'WWWTOWN' 三个环境各不相同
current.env.desc=${CURRENT_ENV_DESC:local}
# ---------- RocketMQ topic 前缀 ----------
# 老值:TEST(测试)/ NEWPROD(新生产)→ 天然按环境变
spring.rocketmq.environmentPrefix=${ROCKETMQ_ENV_PREFIX:TEST}
# ---------- 数据同步开关与参数 ----------
# 这两个是「开关的开关」:老工程里就是这种间接写法,原样保留
switch.auto.default=false
switch.auto.defaulXiCheng=true
switch.auto.SyncDataToQingDao=${switch.auto.default}
switch.auto.SyncDataToXiCheng=${switch.auto.defaulXiCheng}
sync.parkinglot.maxnum=100
syncData.qingdao.park.url=http://139.224.115.129:8098
# ---------- 诱导屏(ATMS-LED)----------
induction.showLevelOneInductionReleaseUrl=http://106.74.36.99:18089/ATMS-LED-Server/leveloneInduction/showLevelOneInductionRelease
# ---------- 充电(科林)----------
charge.orgId=10007
zteits.operatorId=669142828
# ---------- 门户身份串(P2 迁 bcp-portal 的 Controller 时才出现的键)----------
# ⚠️ 这是「一 Jar 代多门户」留下的唯一一个**语义冲突**点,改之前务必读完。
#
# 老工程里每个 portal 各配一份、值就是自己的工程名(审计脚本会列全 9 个:
# zteits-bcp-portal / zteits-pay-portal / zteits-pda-portal / zteits-gcp-portal / …)。
# 它会被当成查询条件写进请求(例:`BerthTurnOverQueryRequest.sysCode` 参与 SQL 过滤),
# 也就是说**它区分的是「哪套门户写进去的数据」**。
#
# 合成单 Jar 后只有一个 Spring 容器,同一个键名只能有一个值 —— 各老 portal 的
# `@Value("${project.syscode}")` 从此拿到**同一个**值。因此:
# 1. 取值 = 目前**唯一已迁**的使用方所在门户,即 `AnalysisController`(原 bcp-portal);
# 2. 以后每迁一个来自别的 portal、且用了该键的端点,都要回来核对:
# 若它依赖的 sysCode 与 bcp-portal 不同,**不能**靠改这个键解决(会打翻已生效的那批),
# 得在那个 Controller 里换独立键名(如 `project.syscode.pda`)并各自配置;
# 3. 审计命令:`python3 -I tools/p2_audit_placeholders.py`(缺键会报,有默认值的另列一节)。
project.syscode=zteits-bcp-portal
# 注:`jinshui.wsdl.url`(金水发票 WSDL)**不需要**配 —— 两处 `@Value` 在老代码里都是
# `//@Value(...)` 注释状态(parking-module-pay 的 InvoiceHelperServiceImpl 两个包各一份,
# 其余靠代码里的常量)。审计脚本去掉注释后不再把它算作需求。
#
# ⚠️ 这里**故意没有** spring.redis.password:
# 它唯一的索取者是 com.clouds.common.redis.RedissonConfig —— 已核实该类零引用、
# 且它的 redissonClient() 没挂 @Bean(注册不出任何 Bean),属于老工程遗留的死配置,
# 本次按 tools/p2_import_legacy.py 里 RedisConfig.java 的同一先例删除。
# 若在本文件里补一个 `${SPRING_REDIS_PASSWORD:}`,空串会被 Redisson 当成密码发 AUTH "",
# 本地无密码 Redis 会直接拒绝(application-local.yaml 里已记录这个坑)。