Эх сурвалжийг харах

feat: 批量付款实体新增字段 - authorize 加主体名称/服务商、order 冗余服务商 + DDL

alphaH 4 өдөр өмнө
parent
commit
bc965fcf9d

+ 4 - 0
java/src/main/java/com/payment/platform/module/payment/batch/entity/BatchAuthorizeEntity.java

@@ -17,6 +17,10 @@ public class BatchAuthorizeEntity extends PaymentEnterpriseBaseEntity {
     private String outBizNo;
     private String participantId;
     private String participantIdType;
+    /** 主体名称(账号级表单录入,同时作为授权申请 principal_info.name) */
+    private String participantName;
+    /** 服务商(账号级表单下拉选择,授权申请 client 解析依据) */
+    private Long serviceProviderId;
     private String agreementNo;
     /** AUTHING / AUTHED / UNBIND */
     private String status;

+ 2 - 0
java/src/main/java/com/payment/platform/module/payment/batch/entity/BatchOrderEntity.java

@@ -23,6 +23,8 @@ public class BatchOrderEntity extends PaymentEnterpriseBaseEntity {
     private String status;
     private OffsetDateTime timeExpire;
     private String payerUid;
+    /** 付款主体冗余的服务商(制单时落库)——主体解绑后批次支付/查询/关闭仍可解析 client */
+    private Long serviceProviderId;
     private String agreementNo;
     private String transferSceneName;
     @TableField(typeHandler = JsonbTypeHandler.class)

+ 22 - 0
java/src/main/resources/db/batch-account-level.sql

@@ -0,0 +1,22 @@
+-- 批量付款账号级改造(2026-08-26)
+-- 手工执行: psycopg2 连接 payment_platform_java 库
+-- 幂等: 已存在列/索引则跳过
+
+-- 1. 授权主体字段
+ALTER TABLE pay_batch_authorize
+    ADD COLUMN IF NOT EXISTS participant_name varchar(128),
+    ADD COLUMN IF NOT EXISTS service_provider_id bigint;
+
+-- 2. 唯一索引改租户级(先删旧 enterprise 索引)
+DROP INDEX IF EXISTS uk_batch_authorize_active;
+-- 联调期存量数据若存在同租户同 participant 多行,先清理再建索引:
+--   DELETE FROM pay_batch_authorize a USING pay_batch_authorize b
+--   WHERE a.id < b.id AND a.tenant_id = b.tenant_id AND a.participant_id = b.participant_id
+--     AND a.status <> 'UNBIND' AND b.status <> 'UNBIND';
+CREATE UNIQUE INDEX uk_batch_authorize_active
+    ON pay_batch_authorize (tenant_id, participant_id)
+    WHERE status <> 'UNBIND';
+
+-- 3. 批次冗余服务商
+ALTER TABLE pay_batch_order
+    ADD COLUMN IF NOT EXISTS service_provider_id bigint;