4.0 KiB
4.0 KiB
Data Model: sw-business-bank 银行代扣文件传输配置能力
设计原则
- 优先复用现有配置载体和批次对象,不新增独立正式主表作为第一选择。
- 本轮以逻辑实体 + 现有物理承接关系表达设计,不把真实密钥或密码写入文档。
- 以“默认规则 + 覆盖规则 + 解析上下文 + 解析结果”构成最小可实现模型。
逻辑实体
1. FileTransferPolicy
说明:环境默认文件传输策略,来源于 Spring profile + Nacos。
字段:
policyId:默认可固定为defaultscopeType:DEFAULTprotocol:SFTP | FTPhostportusernamecredentialRef:凭据引用名,不存明文passiveMode:FTP 可选sendDirbackDirreconcileDirarchiveDirlocalTempDirenabledremark
2. FileTransferOverride
说明:银行通道/租户维度覆盖规则,建议复用 bk_channel_api_config.ext_params。
字段:
configIdtenantId:可为空,空表示非租户专属channelIdscopeType:CHANNEL | TENANT | TENANT_CHANNELbusinessType:默认本轮为WITHHOLDINGprotocol:可选覆盖hostportusernamecredentialRefpassiveModesendDirbackDirreconcileDirarchiveDirlocalTempDirenabledremark
物理承接建议:
- 使用
ChannelApiConfigDO.extParams - 通过独立
apiType表示“文件传输配置”,避免与交易接口配置混用
3. DirectoryResolutionContext
说明:一次文件动作解析路径与协议时使用的上下文。
字段:
tenantIdcompanyIdchannelIdchannelCodebusinessTypestage:SEND | BACK | RECONCILE | ARCHIVE | LOCAL_TEMPbusinessDatebatchNofileName
4. ResolvedFileLocation
说明:统一解析器输出的最终可执行目标。
字段:
sourceScope:命中的作用域层级protocolhostportusernamecredentialRefresolvedDirresolvedPathfileNameresolvedAt
枚举
TransferStage
SENDBACKRECONCILEARCHIVELOCAL_TEMP
TransferScope
DEFAULTCHANNELTENANTTENANT_CHANNEL
TransferProtocol
SFTPFTP
固定变量白名单
{tenantId}{companyId}{channelCode}{yyyyMMdd}{yyyyMM}{batchNo}{fileName}
现有物理对象扩展建议
WithholdingBatchDO / bk_withholding_batch
现状已具备:
sendFileNamesendFilePathbackFileNamebackFilePath
建议新增:
sendProtocolsendDirbackProtocolbackDir
说明:
- 送盘创建时同步固化
sendProtocol/sendDir/sendFilePath与backProtocol/backDir,确保后续已落库批次不因配置切换而漂移。
ReconcileBatchDO / bk_reconcile_batch
现状已具备:
fileNamefilePath
建议新增:
protocoldir
说明:
- 对账批次在回盘处理阶段固化最终
protocol/dir/filePath/fileName,形成最小审计闭环。
关系
FileTransferPolicy提供环境默认协议与目录。FileTransferOverride对默认规则做按字段覆盖。DirectoryResolutionContext驱动统一解析。ResolvedFileLocation由解析器生成。WithholdingBatchDO持久化送盘/回盘解析结果。ReconcileBatchDO持久化对账解析结果。
Cross-Repo Impact
water-docs- 回写
REV-008详设、接口设计、安全设计、部署设计与治理台账。
- 回写
water-backendChannelApiConfigExtParams承接四级作用域、业务类型、协议、连接字段与五类目录。BankTransferPathResolver负责默认规则、覆盖优先级、字段级回退与变量校验。BankWithholdingServiceImpl改为消费统一解析结果并固化 send/back/reconcile 审计字段。
最小实现结论
- 本轮不建议新增独立“文件传输策略表”。
- 以
profile/Nacos + ChannelApiConfigDO.extParams + 现有批次表增量字段完成 brownfield 最小落地。