From 07b5aa39279bf9f1b2687bd7c61f7ed48abea1d9 Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sun, 14 Jun 2026 00:37:59 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20alipay=5Fisv=5Fapp=20SQL=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=B3=A8=E9=87=8A&=E7=A7=BB=E9=99=A4=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=9D=83=E9=99=90=E7=A0=81?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config/sql/alipay_isv_app.sql | 100 ++++++++++++++++++ _config/sql/iam_perm_menu.sql | 34 ++++++ .../product/PayProductConfigController.java | 2 +- .../product/PayProductConfigResult.java | 1 - 4 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 _config/sql/alipay_isv_app.sql diff --git a/_config/sql/alipay_isv_app.sql b/_config/sql/alipay_isv_app.sql new file mode 100644 index 000000000..b6e1f93dd --- /dev/null +++ b/_config/sql/alipay_isv_app.sql @@ -0,0 +1,100 @@ +-- ---------------------------- +-- 支付宝服务商应用表 +-- ---------------------------- +DROP TABLE IF EXISTS alipay_isv_app; +CREATE TABLE alipay_isv_app ( + id int8 NOT NULL, + app_name varchar(64) COLLATE pg_catalog.default, + ali_app_id varchar(64) COLLATE pg_catalog.default, + creator int8, + create_time timestamptz(6), + last_modifier int8, + last_modified_time timestamptz(6), + version int4 DEFAULT 0, + deleted bool NOT NULL DEFAULT false +); + +COMMENT ON TABLE alipay_isv_app IS '支付宝服务商应用表'; +COMMENT ON COLUMN alipay_isv_app.id IS '主键'; +COMMENT ON COLUMN alipay_isv_app.app_name IS '应用名称'; +COMMENT ON COLUMN alipay_isv_app.ali_app_id IS '支付宝应用APPID'; +COMMENT ON COLUMN alipay_isv_app.creator IS '创建者ID'; +COMMENT ON COLUMN alipay_isv_app.create_time IS '创建时间'; +COMMENT ON COLUMN alipay_isv_app.last_modifier IS '最后修改ID'; +COMMENT ON COLUMN alipay_isv_app.last_modified_time IS '最后修改时间'; +COMMENT ON COLUMN alipay_isv_app.version IS '版本号'; +COMMENT ON COLUMN alipay_isv_app.deleted IS '删除标志'; + +ALTER TABLE alipay_isv_app ADD CONSTRAINT pk_alipay_isv_app PRIMARY KEY (id); + +-- ---------------------------- +-- 支付宝服务商应用密钥配置表 +-- ---------------------------- +DROP TABLE IF EXISTS alipay_isv_app_config; +CREATE TABLE alipay_isv_app_config ( + id int8 NOT NULL, + app_id int8, + auth_type varchar(32) COLLATE pg_catalog.default, + alipay_public_key text COLLATE pg_catalog.default, + private_key text COLLATE pg_catalog.default, + app_cert text COLLATE pg_catalog.default, + alipay_cert text COLLATE pg_catalog.default, + alipay_root_cert text COLLATE pg_catalog.default, + secret_key text COLLATE pg_catalog.default, + creator int8, + create_time timestamptz(6), + last_modifier int8, + last_modified_time timestamptz(6), + version int4 DEFAULT 0, + deleted bool NOT NULL DEFAULT false +); + +COMMENT ON TABLE alipay_isv_app_config IS '支付宝服务商应用密钥配置表'; +COMMENT ON COLUMN alipay_isv_app_config.id IS '主键'; +COMMENT ON COLUMN alipay_isv_app_config.app_id IS '关联应用ID'; +COMMENT ON COLUMN alipay_isv_app_config.auth_type IS '认证类型'; +COMMENT ON COLUMN alipay_isv_app_config.alipay_public_key IS '支付宝公钥'; +COMMENT ON COLUMN alipay_isv_app_config.private_key IS '商户私钥'; +COMMENT ON COLUMN alipay_isv_app_config.app_cert IS '应用公钥证书'; +COMMENT ON COLUMN alipay_isv_app_config.alipay_cert IS '支付宝公钥证书'; +COMMENT ON COLUMN alipay_isv_app_config.alipay_root_cert IS '支付宝根证书'; +COMMENT ON COLUMN alipay_isv_app_config.secret_key IS '密钥'; +COMMENT ON COLUMN alipay_isv_app_config.creator IS '创建者ID'; +COMMENT ON COLUMN alipay_isv_app_config.create_time IS '创建时间'; +COMMENT ON COLUMN alipay_isv_app_config.last_modifier IS '最后修改ID'; +COMMENT ON COLUMN alipay_isv_app_config.last_modified_time IS '最后修改时间'; +COMMENT ON COLUMN alipay_isv_app_config.version IS '版本号'; +COMMENT ON COLUMN alipay_isv_app_config.deleted IS '删除标志'; + +ALTER TABLE alipay_isv_app_config ADD CONSTRAINT pk_alipay_isv_app_config PRIMARY KEY (id); + +-- ---------------------------- +-- 支付宝服务商应用授权认证配置表 +-- ---------------------------- +DROP TABLE IF EXISTS alipay_isv_app_auth_config; +CREATE TABLE alipay_isv_app_auth_config ( + id int8 NOT NULL, + app_id int8, + user_id_type varchar(32) COLLATE pg_catalog.default, + auth_callback_url varchar(512) COLLATE pg_catalog.default, + creator int8, + create_time timestamptz(6), + last_modifier int8, + last_modified_time timestamptz(6), + version int4 DEFAULT 0, + deleted bool NOT NULL DEFAULT false +); + +COMMENT ON TABLE alipay_isv_app_auth_config IS '支付宝服务商应用授权认证配置表'; +COMMENT ON COLUMN alipay_isv_app_auth_config.id IS '主键'; +COMMENT ON COLUMN alipay_isv_app_auth_config.app_id IS '关联应用ID'; +COMMENT ON COLUMN alipay_isv_app_auth_config.user_id_type IS '用户ID类型'; +COMMENT ON COLUMN alipay_isv_app_auth_config.auth_callback_url IS '授权回调URL'; +COMMENT ON COLUMN alipay_isv_app_auth_config.creator IS '创建者ID'; +COMMENT ON COLUMN alipay_isv_app_auth_config.create_time IS '创建时间'; +COMMENT ON COLUMN alipay_isv_app_auth_config.last_modifier IS '最后修改ID'; +COMMENT ON COLUMN alipay_isv_app_auth_config.last_modified_time IS '最后修改时间'; +COMMENT ON COLUMN alipay_isv_app_auth_config.version IS '版本号'; +COMMENT ON COLUMN alipay_isv_app_auth_config.deleted IS '删除标志'; + +ALTER TABLE alipay_isv_app_auth_config ADD CONSTRAINT pk_alipay_isv_app_auth_config PRIMARY KEY (id); diff --git a/_config/sql/iam_perm_menu.sql b/_config/sql/iam_perm_menu.sql index 73f71aa3d..057d657f8 100644 --- a/_config/sql/iam_perm_menu.sql +++ b/_config/sql/iam_perm_menu.sql @@ -176,3 +176,37 @@ ON CONFLICT (id) DO UPDATE SET -- Primary Key structure for table iam_perm_menu -- ---------------------------- ALTER TABLE "public"."iam_perm_menu" ADD CONSTRAINT "iam_perm_menu_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- 支付宝服务商相关菜单 +-- ---------------------------- +-- 支付产品详情分发页(隐藏,供支付产品管理卡片跳转进入对应通道总览页) +INSERT INTO "public"."iam_perm_menu" VALUES (40501, 405, 'payment:config:productDetail', 'admin', 'ProductDetailDispatch', '支付产品详情', 'Payment Product Detail', 'menu.payment.config.productDetail', NULL, 't', 'f', '/payment/config/product/detail/ProductDetailDispatch', '/payment/product-detail', NULL, 2, 'f', 't', 'f', 1, 1, 0, 'f', 'subpage', NULL, NULL, NULL, NULL, NULL, NULL, '2026-06-14 00:00:00+00', '2026-06-14 00:00:00+00') +ON CONFLICT (id) DO UPDATE SET + pid = EXCLUDED.pid, + menu_code = EXCLUDED.menu_code, + name = EXCLUDED.name, + title_cn = EXCLUDED.title_cn, + title_en = EXCLUDED.title_en, + i18n_key = EXCLUDED.i18n_key, + component = EXCLUDED.component, + path = EXCLUDED.path, + sort_no = EXCLUDED.sort_no, + menu_type = EXCLUDED.menu_type, + last_modified_time = EXCLUDED.last_modified_time; + +-- 支付宝服务商应用管理(隐藏,从支付宝服务商总览页卡片进入) +INSERT INTO "public"."iam_perm_menu" VALUES (40502, 405, 'payment:alipay:isvApp', 'admin', 'AlipayIsvAppManage', '支付宝服务商应用', 'Alipay ISV Application', 'menu.payment.alipay.isvApp', NULL, 't', 'f', '/payment/channel/alipay/manage/app/AlipayIsvAppManage', '/payment/config/product/app-manage', NULL, 3, 'f', 't', 'f', 1, 1, 0, 'f', 'subpage', NULL, NULL, NULL, NULL, NULL, NULL, '2026-06-14 00:00:00+00', '2026-06-14 00:00:00+00') +ON CONFLICT (id) DO UPDATE SET + pid = EXCLUDED.pid, + menu_code = EXCLUDED.menu_code, + name = EXCLUDED.name, + title_cn = EXCLUDED.title_cn, + title_en = EXCLUDED.title_en, + i18n_key = EXCLUDED.i18n_key, + component = EXCLUDED.component, + path = EXCLUDED.path, + sort_no = EXCLUDED.sort_no, + menu_type = EXCLUDED.menu_type, + last_modified_time = EXCLUDED.last_modified_time; + diff --git a/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java b/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java index 3eab5fea0..684b715bb 100644 --- a/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java +++ b/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java @@ -18,7 +18,7 @@ import java.util.List; /// # 支付产品配置管理 /// -@PermCode(menuCode = "payment:product") +@PermCode(menuCode = "payment:product:config") @Validated @Tag(name = "支付产品配置管理") @RestController diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/result/masterdata/product/PayProductConfigResult.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/result/masterdata/product/PayProductConfigResult.java index 9886b2fa7..a0c6cb4ce 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/result/masterdata/product/PayProductConfigResult.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/result/masterdata/product/PayProductConfigResult.java @@ -31,7 +31,6 @@ public class PayProductConfigResult extends BaseResult { @Schema(description = "生效环境: prod/sandbox") private String activeEnv; - @Schema(description = "是否已配置参数") private boolean configured; }