legacy-params.properties 7.69 KB
# ============================================================================
# 存量业务参数(从老工程各模块的 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 里已记录这个坑)。