From cdcc1bdf0ba19546c5dc4b42ab32aa3bb33a673a Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sun, 14 Jun 2026 15:00:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=9B=B4=E8=BF=9E=E8=A1=A8?= =?UTF-8?q?=E5=90=8D=E7=BB=9F=E4=B8=80=20alipay=5Fmch=5F*=20=E2=86=92=20al?= =?UTF-8?q?ipay=5Fdirect=5F*,=20ISV=20=E5=AF=86=E9=92=A5=E8=A1=A8=E8=A1=A5?= =?UTF-8?q?=20=5Fkey?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config/sql/alipay_isv_app.sql | 38 +++++------ .../channel/alipay/AlipayChannelApp.java | 2 + .../channel/alipay/code/AlipayCode.java | 4 +- .../AlipayDirectAppController.java} | 68 ++++++++++--------- ...AlipayDirectChannelMerchantController.java | 10 +-- .../{app => isv}/AlipayIsvAppController.java | 22 +++--- .../AlipayIsvChannelMerchantController.java | 10 +-- .../AlipayDirectAppAuthConfigConvert.java | 30 ++++++++ .../convert/AlipayDirectAppConvert.java | 27 ++++++++ .../AlipayDirectAppKeyConfigConvert.java | 30 ++++++++ .../AlipayDirectChannelMerchantConvert.java | 6 +- .../AlipayIsvAppAuthConfigConvert.java | 8 ++- .../alipay/convert/AlipayIsvAppConvert.java | 8 ++- .../convert/AlipayIsvAppKeyConfigConvert.java | 8 ++- .../AlipayIsvChannelMerchantConvert.java | 6 +- .../AlipayMchAppAuthConfigConvert.java | 28 -------- .../alipay/convert/AlipayMchAppConvert.java | 25 ------- .../convert/AlipayMchAppKeyConfigConvert.java | 28 -------- .../alipay/dao/app/AlipayMchAppManager.java | 37 ---------- .../alipay/dao/app/AlipayMchAppMapper.java | 11 --- .../config/AlipayMchAppAuthConfigManager.java | 31 --------- .../config/AlipayMchAppAuthConfigMapper.java | 11 --- .../config/AlipayMchAppKeyConfigManager.java | 31 --------- .../config/AlipayMchAppKeyConfigMapper.java | 11 --- .../AlipayDirectAppAuthConfigManager.java | 33 +++++++++ .../AlipayDirectAppAuthConfigMapper.java | 13 ++++ .../AlipayDirectAppKeyConfigManager.java | 33 +++++++++ .../AlipayDirectAppKeyConfigMapper.java | 13 ++++ .../dao/direct/AlipayDirectAppManager.java | 39 +++++++++++ .../dao/direct/AlipayDirectAppMapper.java | 13 ++++ .../AlipayDirectChannelMerchantManager.java | 6 +- .../AlipayDirectChannelMerchantMapper.java | 6 +- .../AlipayIsvAppAuthConfigManager.java | 6 +- .../AlipayIsvAppAuthConfigMapper.java | 6 +- .../AlipayIsvAppKeyConfigManager.java | 6 +- .../AlipayIsvAppKeyConfigMapper.java | 6 +- .../dao/{app => isv}/AlipayIsvAppManager.java | 6 +- .../dao/{app => isv}/AlipayIsvAppMapper.java | 6 +- .../AlipayIsvChannelMerchantManager.java | 6 +- .../AlipayIsvChannelMerchantMapper.java | 6 +- .../AlipayDirectApp.java} | 16 +++-- .../AlipayDirectAppAuthConfig.java} | 16 +++-- .../AlipayDirectAppKeyConfig.java} | 16 +++-- .../AlipayDirectChannelMerchant.java | 4 +- .../entity/{app => isv}/AlipayIsvApp.java | 6 +- .../AlipayIsvAppAuthConfig.java | 6 +- .../AlipayIsvAppKeyConfig.java | 8 ++- .../AlipayIsvChannelMerchant.java | 4 +- .../AlipayDirectAppAuthConfigParam.java} | 6 +- .../AlipayDirectAppKeyConfigParam.java} | 6 +- .../AlipayDirectAppParam.java} | 6 +- ...lipayDirectChannelMerchantCreateParam.java | 4 +- .../AlipayIsvAppAuthConfigParam.java | 4 +- .../AlipayIsvAppKeyConfigParam.java | 4 +- .../param/{app => isv}/AlipayIsvAppParam.java | 4 +- .../AlipayIsvChannelMerchantCreateParam.java | 4 +- .../AlipayDirectAppAuthConfigResult.java} | 6 +- .../AlipayDirectAppKeyConfigResult.java} | 6 +- .../AlipayDirectAppResult.java} | 6 +- .../AlipayDirectChannelMerchantResult.java | 4 +- .../AlipayIsvAppAuthConfigResult.java | 4 +- .../AlipayIsvAppKeyConfigResult.java | 4 +- .../{app => isv}/AlipayIsvAppResult.java | 4 +- .../AlipayIsvChannelMerchantResult.java | 4 +- .../AlipayDirectAppAuthConfigService.java} | 50 +++++++------- .../AlipayDirectAppKeyConfigService.java} | 56 +++++++-------- .../AlipayDirectAppService.java} | 62 +++++++++-------- .../AlipayDirectChannelMerchantService.java | 10 +-- .../AlipayIsvAppAuthConfigService.java | 14 ++-- .../AlipayIsvAppKeyConfigService.java | 16 +++-- .../{app => isv}/AlipayIsvAppService.java | 16 +++-- .../AlipayIsvChannelMerchantService.java | 14 ++-- .../strategy/AlipayDirectProductStrategy.java | 2 + .../strategy/AlipayIsvProductStrategy.java | 2 + 74 files changed, 604 insertions(+), 484 deletions(-) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/{app/AlipayMchAppController.java => direct/AlipayDirectAppController.java} (66%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/{mch => direct}/AlipayDirectChannelMerchantController.java (85%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/{app => isv}/AlipayIsvAppController.java (86%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/{mch => isv}/AlipayIsvChannelMerchantController.java (86%) create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppAuthConfigConvert.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppConvert.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppKeyConfigConvert.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppAuthConfigConvert.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppConvert.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppKeyConfigConvert.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppManager.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppMapper.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigManager.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigMapper.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigManager.java delete mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigMapper.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigManager.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigMapper.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigManager.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigMapper.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppManager.java create mode 100644 daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppMapper.java rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => direct}/AlipayDirectChannelMerchantManager.java (80%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => direct}/AlipayDirectChannelMerchantMapper.java (55%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => isv}/AlipayIsvAppAuthConfigManager.java (77%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => isv}/AlipayIsvAppAuthConfigMapper.java (50%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => isv}/AlipayIsvAppKeyConfigManager.java (78%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => isv}/AlipayIsvAppKeyConfigMapper.java (50%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{app => isv}/AlipayIsvAppManager.java (84%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{app => isv}/AlipayIsvAppMapper.java (50%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => isv}/AlipayIsvChannelMerchantManager.java (77%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/{config => isv}/AlipayIsvChannelMerchantMapper.java (51%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{app/AlipayMchApp.java => direct/AlipayDirectApp.java} (55%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{config/AlipayMchAppAuthConfig.java => direct/AlipayDirectAppAuthConfig.java} (56%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{config/AlipayMchAppKeyConfig.java => direct/AlipayDirectAppKeyConfig.java} (70%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{config => direct}/AlipayDirectChannelMerchant.java (91%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{app => isv}/AlipayIsvApp.java (77%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{config => isv}/AlipayIsvAppAuthConfig.java (80%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{config => isv}/AlipayIsvAppKeyConfig.java (84%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/{config => isv}/AlipayIsvChannelMerchant.java (91%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{config/AlipayMchAppAuthConfigParam.java => direct/AlipayDirectAppAuthConfigParam.java} (81%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{config/AlipayMchAppKeyConfigParam.java => direct/AlipayDirectAppKeyConfigParam.java} (84%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{app/AlipayMchAppParam.java => direct/AlipayDirectAppParam.java} (82%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{mch => direct}/AlipayDirectChannelMerchantCreateParam.java (90%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{config => isv}/AlipayIsvAppAuthConfigParam.java (83%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{config => isv}/AlipayIsvAppKeyConfigParam.java (82%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{app => isv}/AlipayIsvAppParam.java (82%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/{mch => isv}/AlipayIsvChannelMerchantCreateParam.java (93%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{config/AlipayMchAppAuthConfigResult.java => direct/AlipayDirectAppAuthConfigResult.java} (73%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{config/AlipayMchAppKeyConfigResult.java => direct/AlipayDirectAppKeyConfigResult.java} (84%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{app/AlipayMchAppResult.java => direct/AlipayDirectAppResult.java} (70%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{config => direct}/AlipayDirectChannelMerchantResult.java (78%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{config => isv}/AlipayIsvAppAuthConfigResult.java (81%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{config => isv}/AlipayIsvAppKeyConfigResult.java (89%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{app => isv}/AlipayIsvAppResult.java (78%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/{config => isv}/AlipayIsvChannelMerchantResult.java (83%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{config/AlipayMchAppAuthConfigService.java => direct/AlipayDirectAppAuthConfigService.java} (53%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{config/AlipayMchAppKeyConfigService.java => direct/AlipayDirectAppKeyConfigService.java} (63%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{app/AlipayMchAppService.java => direct/AlipayDirectAppService.java} (52%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{mch => direct}/AlipayDirectChannelMerchantService.java (90%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{config => isv}/AlipayIsvAppAuthConfigService.java (83%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{config => isv}/AlipayIsvAppKeyConfigService.java (87%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{app => isv}/AlipayIsvAppService.java (83%) rename daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/{mch => isv}/AlipayIsvChannelMerchantService.java (87%) diff --git a/_config/sql/alipay_isv_app.sql b/_config/sql/alipay_isv_app.sql index b6e1f93dd..c6c7a5780 100644 --- a/_config/sql/alipay_isv_app.sql +++ b/_config/sql/alipay_isv_app.sql @@ -30,8 +30,8 @@ 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 ( +DROP TABLE IF EXISTS alipay_isv_app_key_config; +CREATE TABLE alipay_isv_app_key_config ( id int8 NOT NULL, app_id int8, auth_type varchar(32) COLLATE pg_catalog.default, @@ -49,24 +49,24 @@ CREATE TABLE alipay_isv_app_config ( 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 '删除标志'; +COMMENT ON TABLE alipay_isv_app_key_config IS '支付宝服务商应用密钥配置表'; +COMMENT ON COLUMN alipay_isv_app_key_config.id IS '主键'; +COMMENT ON COLUMN alipay_isv_app_key_config.app_id IS '关联应用ID'; +COMMENT ON COLUMN alipay_isv_app_key_config.auth_type IS '认证类型'; +COMMENT ON COLUMN alipay_isv_app_key_config.alipay_public_key IS '支付宝公钥'; +COMMENT ON COLUMN alipay_isv_app_key_config.private_key IS '商户私钥'; +COMMENT ON COLUMN alipay_isv_app_key_config.app_cert IS '应用公钥证书'; +COMMENT ON COLUMN alipay_isv_app_key_config.alipay_cert IS '支付宝公钥证书'; +COMMENT ON COLUMN alipay_isv_app_key_config.alipay_root_cert IS '支付宝根证书'; +COMMENT ON COLUMN alipay_isv_app_key_config.secret_key IS '密钥'; +COMMENT ON COLUMN alipay_isv_app_key_config.creator IS '创建者ID'; +COMMENT ON COLUMN alipay_isv_app_key_config.create_time IS '创建时间'; +COMMENT ON COLUMN alipay_isv_app_key_config.last_modifier IS '最后修改ID'; +COMMENT ON COLUMN alipay_isv_app_key_config.last_modified_time IS '最后修改时间'; +COMMENT ON COLUMN alipay_isv_app_key_config.version IS '版本号'; +COMMENT ON COLUMN alipay_isv_app_key_config.deleted IS '删除标志'; -ALTER TABLE alipay_isv_app_config ADD CONSTRAINT pk_alipay_isv_app_config PRIMARY KEY (id); +ALTER TABLE alipay_isv_app_key_config ADD CONSTRAINT pk_alipay_isv_app_key_config PRIMARY KEY (id); -- ---------------------------- -- 支付宝服务商应用授权认证配置表 diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/AlipayChannelApp.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/AlipayChannelApp.java index 4d653a80c..1a3ac3f1b 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/AlipayChannelApp.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/AlipayChannelApp.java @@ -8,6 +8,8 @@ import org.springframework.context.annotation.ComponentScan; /// # 支付宝支付实现 /// +/// 支付宝通道的自动配置入口,扫描当前模块下的所有组件(Controller/Service/Manager/Mapper等),自动注册到Spring容器。 +/// @AutoConfiguration @ConfigurationPropertiesScan @MapperScan(annotationClass = Mapper.class) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/code/AlipayCode.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/code/AlipayCode.java index 3a4b00aa4..7cce90b55 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/code/AlipayCode.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/code/AlipayCode.java @@ -2,6 +2,8 @@ package org.dromara.daxpay.channel.alipay.code; /// # 支付宝支付参数常量 /// +/// 定义支付宝支付相关的常量,包括认证类型(公钥/证书)和用户标识类型(openid/userid)等枚举值。 +/// public interface AlipayCode { /// # 认证类型 @@ -11,7 +13,7 @@ public interface AlipayCode { String AUTH_TYPE_KEY = "public_key"; /// 证书模式 - String AUTH_TYPE_CART = "cert"; + String AUTH_TYPE_CERT = "cert"; } /// # 用户标识类型 diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/app/AlipayMchAppController.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/direct/AlipayDirectAppController.java similarity index 66% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/app/AlipayMchAppController.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/direct/AlipayDirectAppController.java index e0afa9d38..474d5eb03 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/app/AlipayMchAppController.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/direct/AlipayDirectAppController.java @@ -1,19 +1,19 @@ -package org.dromara.daxpay.channel.alipay.controller.app; +package org.dromara.daxpay.channel.alipay.controller.direct; import org.dromara.daxpay.platform.core.annotation.PermCode; import org.dromara.daxpay.platform.core.rest.Res; import org.dromara.daxpay.platform.core.rest.result.Result; import org.dromara.daxpay.platform.core.util.ValidationUtil; import org.dromara.daxpay.platform.core.validation.ValidationGroup; -import org.dromara.daxpay.channel.alipay.param.app.AlipayMchAppParam; -import org.dromara.daxpay.channel.alipay.param.config.AlipayMchAppAuthConfigParam; -import org.dromara.daxpay.channel.alipay.param.config.AlipayMchAppKeyConfigParam; -import org.dromara.daxpay.channel.alipay.result.app.AlipayMchAppResult; -import org.dromara.daxpay.channel.alipay.result.config.AlipayMchAppAuthConfigResult; -import org.dromara.daxpay.channel.alipay.result.config.AlipayMchAppKeyConfigResult; -import org.dromara.daxpay.channel.alipay.service.app.AlipayMchAppService; -import org.dromara.daxpay.channel.alipay.service.config.AlipayMchAppAuthConfigService; -import org.dromara.daxpay.channel.alipay.service.config.AlipayMchAppKeyConfigService; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppParam; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppAuthConfigParam; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppKeyConfigParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppResult; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppAuthConfigResult; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppKeyConfigResult; +import org.dromara.daxpay.channel.alipay.service.direct.AlipayDirectAppService; +import org.dromara.daxpay.channel.alipay.service.direct.AlipayDirectAppAuthConfigService; +import org.dromara.daxpay.channel.alipay.service.direct.AlipayDirectAppKeyConfigService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.constraints.NotBlank; @@ -26,33 +26,35 @@ import java.util.List; /// # 支付宝直连商户应用管理 /// +/// 提供直连商户应用及其密钥配置、授权认证配置的 REST API,支持按商户号和通道商户号查询列表。 +/// @PermCode(menuCode = "payment:alipay:mch-app") @Validated @Tag(name = "支付宝直连商户应用管理") @RestController @RequestMapping("/admin/alipay/mch-app") @RequiredArgsConstructor -public class AlipayMchAppController { +public class AlipayDirectAppController { - private final AlipayMchAppService alipayMchAppService; - private final AlipayMchAppKeyConfigService alipayMchAppKeyConfigService; - private final AlipayMchAppAuthConfigService alipayMchAppAuthConfigService; + private final AlipayDirectAppService alipayDirectAppService; + private final AlipayDirectAppKeyConfigService alipayDirectAppKeyConfigService; + private final AlipayDirectAppAuthConfigService alipayDirectAppAuthConfigService; @PermCode(code = "view", nameCn = "通道商户查看", nameEn = "Channel Merchant View") @Operation(summary = "根据商户号和通道商户号查询应用列表") @GetMapping("/list-by-channel-mch-no") - public Result> listByChannelMchNo( + public Result> listByChannelMchNo( @NotBlank(message = "{validation.field.mchNo.notBlank}") String mchNo, @NotBlank(message = "{validation.field.channelMerchantNo.notBlank}") String channelMchNo) { - return Res.ok(alipayMchAppService.listByMchNoAndChannelMchNo(mchNo, channelMchNo)); + return Res.ok(alipayDirectAppService.listByMchNoAndChannelMchNo(mchNo, channelMchNo)); } @PermCode(code = "view", nameCn = "通道商户查看", nameEn = "Channel Merchant View") @Operation(summary = "查询应用详情") @GetMapping("/find-by-id") - public Result findById( + public Result findById( @NotNull(message = "{validation.field.id.notNull}") Long id) { - return Res.ok(alipayMchAppService.findById(id)); + return Res.ok(alipayDirectAppService.findById(id)); } @PermCode(code = "view", nameCn = "通道商户查看", nameEn = "Channel Merchant View") @@ -62,7 +64,7 @@ public class AlipayMchAppController { @NotBlank(message = "{validation.field.mchNo.notBlank}") String mchNo, @NotBlank(message = "{validation.field.channelMerchantNo.notBlank}") String channelMchNo, @NotBlank(message = "{validation.field.aliAppId.notBlank}") String aliAppId) { - return Res.ok(alipayMchAppService.existsAliAppIdByChannel(mchNo, channelMchNo, aliAppId, null)); + return Res.ok(alipayDirectAppService.existsAliAppIdByChannel(mchNo, channelMchNo, aliAppId, null)); } @PermCode(code = "view", nameCn = "通道商户查看", nameEn = "Channel Merchant View") @@ -73,24 +75,24 @@ public class AlipayMchAppController { @NotBlank(message = "{validation.field.channelMerchantNo.notBlank}") String channelMchNo, @NotBlank(message = "{validation.field.aliAppId.notBlank}") String aliAppId, @NotNull(message = "{validation.field.id.notNull}") Long id) { - return Res.ok(alipayMchAppService.existsAliAppIdByChannel(mchNo, channelMchNo, aliAppId, id)); + return Res.ok(alipayDirectAppService.existsAliAppIdByChannel(mchNo, channelMchNo, aliAppId, id)); } @PermCode(code = "add", nameCn = "通道商户新增", nameEn = "Channel Merchant Add") @Operation(summary = "新增直连商户应用") @PostMapping("/add") - public Result add(@RequestBody @Validated(ValidationGroup.add.class) AlipayMchAppParam param) { + public Result add(@RequestBody @Validated(ValidationGroup.add.class) AlipayDirectAppParam param) { ValidationUtil.validateParam(param, ValidationGroup.add.class); - alipayMchAppService.add(param); + alipayDirectAppService.add(param); return Res.ok(); } @PermCode(code = "edit", nameCn = "通道商户编辑", nameEn = "Channel Merchant Edit") @Operation(summary = "修改直连商户应用") @PostMapping("/update") - public Result update(@RequestBody @Validated(ValidationGroup.edit.class) AlipayMchAppParam param) { + public Result update(@RequestBody @Validated(ValidationGroup.edit.class) AlipayDirectAppParam param) { ValidationUtil.validateParam(param, ValidationGroup.edit.class); - alipayMchAppService.update(param); + alipayDirectAppService.update(param); return Res.ok(); } @@ -98,39 +100,39 @@ public class AlipayMchAppController { @Operation(summary = "删除直连商户应用") @PostMapping("/delete") public Result delete(@NotNull(message = "{validation.field.id.notNull}") Long id) { - alipayMchAppService.delete(id); + alipayDirectAppService.delete(id); return Res.ok(); } @PermCode(code = "view", nameCn = "通道商户查看", nameEn = "Channel Merchant View") @Operation(summary = "查询应用密钥配置") @GetMapping("/find-key-config-by-app-id") - public Result findKeyConfigByAppId( + public Result findKeyConfigByAppId( @NotNull(message = "{validation.field.id.notNull}") Long appId) { - return Res.ok(alipayMchAppKeyConfigService.findByAppId(appId)); + return Res.ok(alipayDirectAppKeyConfigService.findByAppId(appId)); } @PermCode(code = "edit", nameCn = "通道商户编辑", nameEn = "Channel Merchant Edit") @Operation(summary = "保存应用密钥配置") @PostMapping("/save-key-config") - public Result saveKeyConfig(@RequestBody @Validated AlipayMchAppKeyConfigParam param) { - alipayMchAppKeyConfigService.save(param); + public Result saveKeyConfig(@RequestBody @Validated AlipayDirectAppKeyConfigParam param) { + alipayDirectAppKeyConfigService.save(param); return Res.ok(); } @PermCode(code = "view", nameCn = "通道商户查看", nameEn = "Channel Merchant View") @Operation(summary = "查询应用授权认证配置") @GetMapping("/find-auth-config-by-app-id") - public Result findAuthConfigByAppId( + public Result findAuthConfigByAppId( @NotNull(message = "{validation.field.id.notNull}") Long appId) { - return Res.ok(alipayMchAppAuthConfigService.findByAppId(appId)); + return Res.ok(alipayDirectAppAuthConfigService.findByAppId(appId)); } @PermCode(code = "edit", nameCn = "通道商户编辑", nameEn = "Channel Merchant Edit") @Operation(summary = "保存应用授权认证配置") @PostMapping("/save-auth-config") - public Result saveAuthConfig(@RequestBody @Validated AlipayMchAppAuthConfigParam param) { - alipayMchAppAuthConfigService.save(param); + public Result saveAuthConfig(@RequestBody @Validated AlipayDirectAppAuthConfigParam param) { + alipayDirectAppAuthConfigService.save(param); return Res.ok(); } } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/mch/AlipayDirectChannelMerchantController.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/direct/AlipayDirectChannelMerchantController.java similarity index 85% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/mch/AlipayDirectChannelMerchantController.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/direct/AlipayDirectChannelMerchantController.java index b06d96a56..b6db084c9 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/mch/AlipayDirectChannelMerchantController.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/direct/AlipayDirectChannelMerchantController.java @@ -1,11 +1,11 @@ -package org.dromara.daxpay.channel.alipay.controller.mch; +package org.dromara.daxpay.channel.alipay.controller.direct; import org.dromara.daxpay.platform.core.annotation.PermCode; import org.dromara.daxpay.platform.core.rest.Res; import org.dromara.daxpay.platform.core.rest.result.Result; -import org.dromara.daxpay.channel.alipay.param.mch.AlipayDirectChannelMerchantCreateParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayDirectChannelMerchantResult; -import org.dromara.daxpay.channel.alipay.service.mch.AlipayDirectChannelMerchantService; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectChannelMerchantCreateParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.service.direct.AlipayDirectChannelMerchantService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.constraints.NotBlank; @@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +/// # 支付宝直连通道商户管理 +/// @PermCode(menuCode = "payment:merchant:channelMerchant") @Validated @Tag(name = "支付宝直连通道商户管理") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/app/AlipayIsvAppController.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/isv/AlipayIsvAppController.java similarity index 86% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/app/AlipayIsvAppController.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/isv/AlipayIsvAppController.java index 08c21096a..59a08a322 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/app/AlipayIsvAppController.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/isv/AlipayIsvAppController.java @@ -1,19 +1,19 @@ -package org.dromara.daxpay.channel.alipay.controller.app; +package org.dromara.daxpay.channel.alipay.controller.isv; import org.dromara.daxpay.platform.core.annotation.PermCode; import org.dromara.daxpay.platform.core.rest.Res; import org.dromara.daxpay.platform.core.rest.result.Result; import org.dromara.daxpay.platform.core.util.ValidationUtil; import org.dromara.daxpay.platform.core.validation.ValidationGroup; -import org.dromara.daxpay.channel.alipay.param.app.AlipayIsvAppParam; -import org.dromara.daxpay.channel.alipay.param.config.AlipayIsvAppAuthConfigParam; -import org.dromara.daxpay.channel.alipay.param.config.AlipayIsvAppKeyConfigParam; -import org.dromara.daxpay.channel.alipay.result.app.AlipayIsvAppResult; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvAppAuthConfigResult; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvAppKeyConfigResult; -import org.dromara.daxpay.channel.alipay.service.app.AlipayIsvAppService; -import org.dromara.daxpay.channel.alipay.service.config.AlipayIsvAppAuthConfigService; -import org.dromara.daxpay.channel.alipay.service.config.AlipayIsvAppKeyConfigService; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppParam; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppAuthConfigParam; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppKeyConfigParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppResult; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppAuthConfigResult; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppKeyConfigResult; +import org.dromara.daxpay.channel.alipay.service.isv.AlipayIsvAppService; +import org.dromara.daxpay.channel.alipay.service.isv.AlipayIsvAppAuthConfigService; +import org.dromara.daxpay.channel.alipay.service.isv.AlipayIsvAppKeyConfigService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.constraints.NotBlank; @@ -26,6 +26,8 @@ import java.util.List; /// # 支付宝服务商应用管理 /// +/// 提供服务商应用及其密钥配置、授权认证配置的 REST API,包含查询列表、详情、唯一性校验和增删改操作。 +/// @PermCode(menuCode = "payment:alipay:isv") @Validated @Tag(name = "支付宝服务商应用管理") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/mch/AlipayIsvChannelMerchantController.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/isv/AlipayIsvChannelMerchantController.java similarity index 86% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/mch/AlipayIsvChannelMerchantController.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/isv/AlipayIsvChannelMerchantController.java index 5dc339e81..9e38e7275 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/mch/AlipayIsvChannelMerchantController.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/controller/isv/AlipayIsvChannelMerchantController.java @@ -1,11 +1,11 @@ -package org.dromara.daxpay.channel.alipay.controller.mch; +package org.dromara.daxpay.channel.alipay.controller.isv; import org.dromara.daxpay.platform.core.annotation.PermCode; import org.dromara.daxpay.platform.core.rest.Res; import org.dromara.daxpay.platform.core.rest.result.Result; -import org.dromara.daxpay.channel.alipay.param.mch.AlipayIsvChannelMerchantCreateParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvChannelMerchantResult; -import org.dromara.daxpay.channel.alipay.service.mch.AlipayIsvChannelMerchantService; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvChannelMerchantCreateParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.service.isv.AlipayIsvChannelMerchantService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.constraints.NotBlank; @@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +/// # 支付宝服务商通道商户管理 +/// @PermCode(menuCode = "payment:merchant:channelMerchant") @Validated @Tag(name = "支付宝服务商通道商户管理") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppAuthConfigConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppAuthConfigConvert.java new file mode 100644 index 000000000..0f029200c --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppAuthConfigConvert.java @@ -0,0 +1,30 @@ +package org.dromara.daxpay.channel.alipay.convert; + +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppAuthConfig; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppAuthConfigParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppAuthConfigResult; +import org.mapstruct.BeanMapping; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.NullValuePropertyMappingStrategy; +import org.mapstruct.factory.Mappers; + +/// # 支付宝直连商户应用授权认证配置转换 +/// +/// MapStruct转换器,负责支付宝直连商户应用授权认证配置在实体、参数和返回结果之间的转换,更新时空值不覆盖。 +/// +@Mapper +public interface AlipayDirectAppAuthConfigConvert { + + AlipayDirectAppAuthConfigConvert CONVERT = Mappers.getMapper(AlipayDirectAppAuthConfigConvert.class); + + /// 转换为返回对象 + AlipayDirectAppAuthConfigResult toResult(AlipayDirectAppAuthConfig entity); + + /// 转换为实体 + AlipayDirectAppAuthConfig toEntity(AlipayDirectAppAuthConfigParam param); + + /// 更新源数据到实体(空值不覆盖) + @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) + void copy(AlipayDirectAppAuthConfigParam param, @MappingTarget AlipayDirectAppAuthConfig entity); +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppConvert.java new file mode 100644 index 000000000..b6fb27303 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppConvert.java @@ -0,0 +1,27 @@ +package org.dromara.daxpay.channel.alipay.convert; + +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectApp; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppResult; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.factory.Mappers; + +/// # 支付宝直连商户应用转换 +/// +/// MapStruct转换器,负责支付宝直连商户应用在实体、参数和返回结果之间的相互转换。 +/// +@Mapper +public interface AlipayDirectAppConvert { + + AlipayDirectAppConvert CONVERT = Mappers.getMapper(AlipayDirectAppConvert.class); + + /// 转换为返回对象 + AlipayDirectAppResult toResult(AlipayDirectApp entity); + + /// 转换为实体 + AlipayDirectApp toEntity(AlipayDirectAppParam param); + + /// 更新源数据到实体(忽略空值) + void copy(AlipayDirectAppParam param, @MappingTarget AlipayDirectApp entity); +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppKeyConfigConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppKeyConfigConvert.java new file mode 100644 index 000000000..b5c983c21 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectAppKeyConfigConvert.java @@ -0,0 +1,30 @@ +package org.dromara.daxpay.channel.alipay.convert; + +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppKeyConfig; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppKeyConfigParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppKeyConfigResult; +import org.mapstruct.BeanMapping; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; +import org.mapstruct.NullValuePropertyMappingStrategy; +import org.mapstruct.factory.Mappers; + +/// # 支付宝直连商户应用密钥配置转换 +/// +/// MapStruct转换器,负责支付宝直连商户应用密钥配置在实体、参数和返回结果之间的转换,更新时空值不覆盖。 +/// +@Mapper +public interface AlipayDirectAppKeyConfigConvert { + + AlipayDirectAppKeyConfigConvert CONVERT = Mappers.getMapper(AlipayDirectAppKeyConfigConvert.class); + + /// 转换为返回对象 + AlipayDirectAppKeyConfigResult toResult(AlipayDirectAppKeyConfig entity); + + /// 转换为实体 + AlipayDirectAppKeyConfig toEntity(AlipayDirectAppKeyConfigParam param); + + /// 更新源数据到实体(空值不覆盖,密钥/证书为空时保留原值) + @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) + void copy(AlipayDirectAppKeyConfigParam param, @MappingTarget AlipayDirectAppKeyConfig entity); +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectChannelMerchantConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectChannelMerchantConvert.java index c313853a3..bf169240f 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectChannelMerchantConvert.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayDirectChannelMerchantConvert.java @@ -1,10 +1,12 @@ package org.dromara.daxpay.channel.alipay.convert; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayDirectChannelMerchant; -import org.dromara.daxpay.channel.alipay.result.config.AlipayDirectChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectChannelMerchant; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectChannelMerchantResult; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; +/// # 支付宝直连通道商户绑定转换 +/// @Mapper public interface AlipayDirectChannelMerchantConvert { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppAuthConfigConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppAuthConfigConvert.java index 7178287ab..c99bc737a 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppAuthConfigConvert.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppAuthConfigConvert.java @@ -1,8 +1,8 @@ package org.dromara.daxpay.channel.alipay.convert; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppAuthConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayIsvAppAuthConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvAppAuthConfigResult; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppAuthConfig; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppAuthConfigParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppAuthConfigResult; import org.mapstruct.BeanMapping; import org.mapstruct.Mapper; import org.mapstruct.MappingTarget; @@ -11,6 +11,8 @@ import org.mapstruct.factory.Mappers; /// # 支付宝服务商应用授权认证配置转换 /// +/// MapStruct转换器,负责支付宝服务商应用授权认证配置在实体、参数和返回结果之间的转换,更新时空值不覆盖。 +/// @Mapper public interface AlipayIsvAppAuthConfigConvert { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppConvert.java index fe622490c..65f5032ce 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppConvert.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppConvert.java @@ -1,14 +1,16 @@ package org.dromara.daxpay.channel.alipay.convert; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayIsvApp; -import org.dromara.daxpay.channel.alipay.param.app.AlipayIsvAppParam; -import org.dromara.daxpay.channel.alipay.result.app.AlipayIsvAppResult; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvApp; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppResult; import org.mapstruct.Mapper; import org.mapstruct.MappingTarget; import org.mapstruct.factory.Mappers; /// # 支付宝服务商应用转换 /// +/// MapStruct转换器,负责支付宝服务商应用在实体、参数和返回结果之间的相互转换。 +/// @Mapper public interface AlipayIsvAppConvert { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppKeyConfigConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppKeyConfigConvert.java index 9552ac40d..65bdfa02a 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppKeyConfigConvert.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvAppKeyConfigConvert.java @@ -1,8 +1,8 @@ package org.dromara.daxpay.channel.alipay.convert; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppKeyConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayIsvAppKeyConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvAppKeyConfigResult; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppKeyConfig; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppKeyConfigParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppKeyConfigResult; import org.mapstruct.BeanMapping; import org.mapstruct.Mapper; import org.mapstruct.MappingTarget; @@ -11,6 +11,8 @@ import org.mapstruct.factory.Mappers; /// # 支付宝服务商应用密钥配置转换 /// +/// MapStruct转换器,负责支付宝服务商应用密钥配置在实体、参数和返回结果之间的转换,更新时空值不覆盖。 +/// @Mapper public interface AlipayIsvAppKeyConfigConvert { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvChannelMerchantConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvChannelMerchantConvert.java index 21b6252ce..3ee1f025e 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvChannelMerchantConvert.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayIsvChannelMerchantConvert.java @@ -1,11 +1,13 @@ package org.dromara.daxpay.channel.alipay.convert; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvChannelMerchant; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvChannelMerchant; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvChannelMerchantResult; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; +/// # 支付宝服务商通道商户绑定转换 +/// @Mapper public interface AlipayIsvChannelMerchantConvert { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppAuthConfigConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppAuthConfigConvert.java deleted file mode 100644 index 6e8015a5c..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppAuthConfigConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dromara.daxpay.channel.alipay.convert; - -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppAuthConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayMchAppAuthConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayMchAppAuthConfigResult; -import org.mapstruct.BeanMapping; -import org.mapstruct.Mapper; -import org.mapstruct.MappingTarget; -import org.mapstruct.NullValuePropertyMappingStrategy; -import org.mapstruct.factory.Mappers; - -/// # 支付宝直连商户应用授权认证配置转换 -/// -@Mapper -public interface AlipayMchAppAuthConfigConvert { - - AlipayMchAppAuthConfigConvert CONVERT = Mappers.getMapper(AlipayMchAppAuthConfigConvert.class); - - /// 转换为返回对象 - AlipayMchAppAuthConfigResult toResult(AlipayMchAppAuthConfig entity); - - /// 转换为实体 - AlipayMchAppAuthConfig toEntity(AlipayMchAppAuthConfigParam param); - - /// 更新源数据到实体(空值不覆盖) - @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) - void copy(AlipayMchAppAuthConfigParam param, @MappingTarget AlipayMchAppAuthConfig entity); -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppConvert.java deleted file mode 100644 index 2705cd8e9..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppConvert.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.dromara.daxpay.channel.alipay.convert; - -import org.dromara.daxpay.channel.alipay.entity.app.AlipayMchApp; -import org.dromara.daxpay.channel.alipay.param.app.AlipayMchAppParam; -import org.dromara.daxpay.channel.alipay.result.app.AlipayMchAppResult; -import org.mapstruct.Mapper; -import org.mapstruct.MappingTarget; -import org.mapstruct.factory.Mappers; - -/// # 支付宝直连商户应用转换 -/// -@Mapper -public interface AlipayMchAppConvert { - - AlipayMchAppConvert CONVERT = Mappers.getMapper(AlipayMchAppConvert.class); - - /// 转换为返回对象 - AlipayMchAppResult toResult(AlipayMchApp entity); - - /// 转换为实体 - AlipayMchApp toEntity(AlipayMchAppParam param); - - /// 更新源数据到实体(忽略空值) - void copy(AlipayMchAppParam param, @MappingTarget AlipayMchApp entity); -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppKeyConfigConvert.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppKeyConfigConvert.java deleted file mode 100644 index c30c7658e..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/convert/AlipayMchAppKeyConfigConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dromara.daxpay.channel.alipay.convert; - -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppKeyConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayMchAppKeyConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayMchAppKeyConfigResult; -import org.mapstruct.BeanMapping; -import org.mapstruct.Mapper; -import org.mapstruct.MappingTarget; -import org.mapstruct.NullValuePropertyMappingStrategy; -import org.mapstruct.factory.Mappers; - -/// # 支付宝直连商户应用密钥配置转换 -/// -@Mapper -public interface AlipayMchAppKeyConfigConvert { - - AlipayMchAppKeyConfigConvert CONVERT = Mappers.getMapper(AlipayMchAppKeyConfigConvert.class); - - /// 转换为返回对象 - AlipayMchAppKeyConfigResult toResult(AlipayMchAppKeyConfig entity); - - /// 转换为实体 - AlipayMchAppKeyConfig toEntity(AlipayMchAppKeyConfigParam param); - - /// 更新源数据到实体(空值不覆盖,密钥/证书为空时保留原值) - @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) - void copy(AlipayMchAppKeyConfigParam param, @MappingTarget AlipayMchAppKeyConfig entity); -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppManager.java deleted file mode 100644 index 6e55abf7f..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppManager.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.dromara.daxpay.channel.alipay.dao.app; - -import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayMchApp; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/// # 支付宝直连商户应用 -/// -@Slf4j -@Service -@RequiredArgsConstructor -public class AlipayMchAppManager extends BaseManager { - - /// 根据商户号和通道商户号查询应用列表(按创建时间升序) - public List listByMchNoAndChannelMchNo(String mchNo, String channelMchNo) { - return lambdaQuery() - .eq(AlipayMchApp::getMchNo, mchNo) - .eq(AlipayMchApp::getChannelMchNo, channelMchNo) - .orderByAsc(AlipayMchApp::getCreateTime) - .orderByAsc(AlipayMchApp::getId) - .list(); - } - - /// 校验同一通道商户下aliAppId是否已存在(排除自身) - public boolean existsByChannelMchNoAndAliAppId(String mchNo, String channelMchNo, String aliAppId, Long excludeId) { - return lambdaQuery() - .eq(AlipayMchApp::getMchNo, mchNo) - .eq(AlipayMchApp::getChannelMchNo, channelMchNo) - .eq(AlipayMchApp::getAliAppId, aliAppId) - .ne(excludeId != null, AlipayMchApp::getId, excludeId) - .exists(); - } -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppMapper.java deleted file mode 100644 index d9d502220..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayMchAppMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.dromara.daxpay.channel.alipay.dao.app; - -import org.dromara.daxpay.channel.alipay.entity.app.AlipayMchApp; -import com.github.yulichang.base.MPJBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/// # 支付宝直连商户应用 -/// -@Mapper -public interface AlipayMchAppMapper extends MPJBaseMapper { -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigManager.java deleted file mode 100644 index 51ed89379..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigManager.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.daxpay.channel.alipay.dao.config; - -import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppAuthConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Optional; - -/// # 支付宝直连商户应用授权认证配置 -/// -@Slf4j -@Service -@RequiredArgsConstructor -public class AlipayMchAppAuthConfigManager extends BaseManager { - - /// 根据应用ID查询授权认证配置 - public Optional findByAppId(Long appId) { - return lambdaQuery() - .eq(AlipayMchAppAuthConfig::getAppId, appId) - .oneOpt(); - } - - /// 根据应用ID删除授权认证配置 - public void deleteByAppId(Long appId) { - lambdaUpdate() - .eq(AlipayMchAppAuthConfig::getAppId, appId) - .remove(); - } -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigMapper.java deleted file mode 100644 index a8c9d6f6d..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppAuthConfigMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.dromara.daxpay.channel.alipay.dao.config; - -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppAuthConfig; -import com.github.yulichang.base.MPJBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/// # 支付宝直连商户应用授权认证配置 -/// -@Mapper -public interface AlipayMchAppAuthConfigMapper extends MPJBaseMapper { -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigManager.java deleted file mode 100644 index 9d3cc2aa0..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigManager.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.daxpay.channel.alipay.dao.config; - -import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppKeyConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Optional; - -/// # 支付宝直连商户应用密钥配置 -/// -@Slf4j -@Service -@RequiredArgsConstructor -public class AlipayMchAppKeyConfigManager extends BaseManager { - - /// 根据应用ID查询密钥配置 - public Optional findByAppId(Long appId) { - return lambdaQuery() - .eq(AlipayMchAppKeyConfig::getAppId, appId) - .oneOpt(); - } - - /// 根据应用ID删除密钥配置 - public void deleteByAppId(Long appId) { - lambdaUpdate() - .eq(AlipayMchAppKeyConfig::getAppId, appId) - .remove(); - } -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigMapper.java deleted file mode 100644 index 554dcdf2c..000000000 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayMchAppKeyConfigMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.dromara.daxpay.channel.alipay.dao.config; - -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppKeyConfig; -import com.github.yulichang.base.MPJBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/// # 支付宝直连商户应用密钥配置 -/// -@Mapper -public interface AlipayMchAppKeyConfigMapper extends MPJBaseMapper { -} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigManager.java new file mode 100644 index 000000000..a2d9e7623 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigManager.java @@ -0,0 +1,33 @@ +package org.dromara.daxpay.channel.alipay.dao.direct; + +import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppAuthConfig; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +/// # 支付宝直连商户应用授权认证配置 +/// +/// 直连商户应用授权认证配置数据访问管理器,提供按应用ID查询和删除授权认证配置的方法。 +/// +@Slf4j +@Service +@RequiredArgsConstructor +public class AlipayDirectAppAuthConfigManager extends BaseManager { + + /// 根据应用ID查询授权认证配置 + public Optional findByAppId(Long appId) { + return lambdaQuery() + .eq(AlipayDirectAppAuthConfig::getAppId, appId) + .oneOpt(); + } + + /// 根据应用ID删除授权认证配置 + public void deleteByAppId(Long appId) { + lambdaUpdate() + .eq(AlipayDirectAppAuthConfig::getAppId, appId) + .remove(); + } +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigMapper.java new file mode 100644 index 000000000..00a8c71d2 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppAuthConfigMapper.java @@ -0,0 +1,13 @@ +package org.dromara.daxpay.channel.alipay.dao.direct; + +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppAuthConfig; +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/// # 支付宝直连商户应用授权认证配置 +/// +/// 支付宝直连商户应用授权认证配置 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// +@Mapper +public interface AlipayDirectAppAuthConfigMapper extends MPJBaseMapper { +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigManager.java new file mode 100644 index 000000000..4d8da2f02 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigManager.java @@ -0,0 +1,33 @@ +package org.dromara.daxpay.channel.alipay.dao.direct; + +import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppKeyConfig; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +/// # 支付宝直连商户应用密钥配置 +/// +/// 直连商户应用密钥配置数据访问管理器,提供按应用ID查询和删除密钥配置的方法。 +/// +@Slf4j +@Service +@RequiredArgsConstructor +public class AlipayDirectAppKeyConfigManager extends BaseManager { + + /// 根据应用ID查询密钥配置 + public Optional findByAppId(Long appId) { + return lambdaQuery() + .eq(AlipayDirectAppKeyConfig::getAppId, appId) + .oneOpt(); + } + + /// 根据应用ID删除密钥配置 + public void deleteByAppId(Long appId) { + lambdaUpdate() + .eq(AlipayDirectAppKeyConfig::getAppId, appId) + .remove(); + } +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigMapper.java new file mode 100644 index 000000000..156f07ce7 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppKeyConfigMapper.java @@ -0,0 +1,13 @@ +package org.dromara.daxpay.channel.alipay.dao.direct; + +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppKeyConfig; +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/// # 支付宝直连商户应用密钥配置 +/// +/// 支付宝直连商户应用密钥配置 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// +@Mapper +public interface AlipayDirectAppKeyConfigMapper extends MPJBaseMapper { +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppManager.java new file mode 100644 index 000000000..a0ba85b76 --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppManager.java @@ -0,0 +1,39 @@ +package org.dromara.daxpay.channel.alipay.dao.direct; + +import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectApp; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/// # 支付宝直连商户应用 +/// +/// 直连商户应用数据访问管理器,提供按商户号和通道商户号查询列表、同一通道下应用ID唯一性校验等方法。 +/// +@Slf4j +@Service +@RequiredArgsConstructor +public class AlipayDirectAppManager extends BaseManager { + + /// 根据商户号和通道商户号查询应用列表(按创建时间升序) + public List listByMchNoAndChannelMchNo(String mchNo, String channelMchNo) { + return lambdaQuery() + .eq(AlipayDirectApp::getMchNo, mchNo) + .eq(AlipayDirectApp::getChannelMchNo, channelMchNo) + .orderByAsc(AlipayDirectApp::getCreateTime) + .orderByAsc(AlipayDirectApp::getId) + .list(); + } + + /// 校验同一通道商户下aliAppId是否已存在(排除自身) + public boolean existsByChannelMchNoAndAliAppId(String mchNo, String channelMchNo, String aliAppId, Long excludeId) { + return lambdaQuery() + .eq(AlipayDirectApp::getMchNo, mchNo) + .eq(AlipayDirectApp::getChannelMchNo, channelMchNo) + .eq(AlipayDirectApp::getAliAppId, aliAppId) + .ne(excludeId != null, AlipayDirectApp::getId, excludeId) + .exists(); + } +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppMapper.java new file mode 100644 index 000000000..538bf01ff --- /dev/null +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectAppMapper.java @@ -0,0 +1,13 @@ +package org.dromara.daxpay.channel.alipay.dao.direct; + +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectApp; +import com.github.yulichang.base.MPJBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/// # 支付宝直连商户应用 +/// +/// 支付宝直连商户应用 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// +@Mapper +public interface AlipayDirectAppMapper extends MPJBaseMapper { +} diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayDirectChannelMerchantManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectChannelMerchantManager.java similarity index 80% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayDirectChannelMerchantManager.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectChannelMerchantManager.java index a8a425904..980c0b05e 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayDirectChannelMerchantManager.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectChannelMerchantManager.java @@ -1,9 +1,11 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.direct; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayDirectChannelMerchant; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectChannelMerchant; import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; import org.springframework.stereotype.Repository; +/// # 支付宝直连通道商户绑定 +/// @Repository public class AlipayDirectChannelMerchantManager extends BaseManager { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayDirectChannelMerchantMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectChannelMerchantMapper.java similarity index 55% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayDirectChannelMerchantMapper.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectChannelMerchantMapper.java index 57830def6..fcbb763c7 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayDirectChannelMerchantMapper.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/direct/AlipayDirectChannelMerchantMapper.java @@ -1,11 +1,13 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.direct; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayDirectChannelMerchant; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectChannelMerchant; import com.github.yulichang.base.MPJBaseMapper; import org.apache.ibatis.annotations.Mapper; /// # 支付宝直连通道商户绑定 /// +/// 支付宝直连通道商户 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// @Mapper public interface AlipayDirectChannelMerchantMapper extends MPJBaseMapper { } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppAuthConfigManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppAuthConfigManager.java similarity index 77% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppAuthConfigManager.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppAuthConfigManager.java index 6159138dc..5eff81aa5 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppAuthConfigManager.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppAuthConfigManager.java @@ -1,7 +1,7 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.isv; import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppAuthConfig; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppAuthConfig; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -10,6 +10,8 @@ import java.util.Optional; /// # 支付宝服务商应用授权认证配置 /// +/// 服务商应用授权认证配置数据访问管理器,提供按应用ID查询和删除授权认证配置的方法。 +/// @Slf4j @Service @RequiredArgsConstructor diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppAuthConfigMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppAuthConfigMapper.java similarity index 50% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppAuthConfigMapper.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppAuthConfigMapper.java index 5b27f0f55..3fd46682e 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppAuthConfigMapper.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppAuthConfigMapper.java @@ -1,11 +1,13 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.isv; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppAuthConfig; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppAuthConfig; import com.github.yulichang.base.MPJBaseMapper; import org.apache.ibatis.annotations.Mapper; /// # 支付宝服务商应用授权认证配置 /// +/// 支付宝服务商应用授权认证配置 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// @Mapper public interface AlipayIsvAppAuthConfigMapper extends MPJBaseMapper { } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppKeyConfigManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppKeyConfigManager.java similarity index 78% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppKeyConfigManager.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppKeyConfigManager.java index cf00fc8a1..52336f524 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppKeyConfigManager.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppKeyConfigManager.java @@ -1,7 +1,7 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.isv; import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppKeyConfig; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppKeyConfig; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -10,6 +10,8 @@ import java.util.Optional; /// # 支付宝服务商应用密钥配置 /// +/// 服务商应用密钥配置数据访问管理器,提供按应用ID查询和删除密钥配置的方法。 +/// @Slf4j @Service @RequiredArgsConstructor diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppKeyConfigMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppKeyConfigMapper.java similarity index 50% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppKeyConfigMapper.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppKeyConfigMapper.java index 5dfcc5189..60881838d 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvAppKeyConfigMapper.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppKeyConfigMapper.java @@ -1,11 +1,13 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.isv; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppKeyConfig; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppKeyConfig; import com.github.yulichang.base.MPJBaseMapper; import org.apache.ibatis.annotations.Mapper; /// # 支付宝服务商应用密钥配置 /// +/// 支付宝服务商应用密钥配置 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// @Mapper public interface AlipayIsvAppKeyConfigMapper extends MPJBaseMapper { } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayIsvAppManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppManager.java similarity index 84% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayIsvAppManager.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppManager.java index 1e6d3cd0d..929b0cef3 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayIsvAppManager.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppManager.java @@ -1,7 +1,7 @@ -package org.dromara.daxpay.channel.alipay.dao.app; +package org.dromara.daxpay.channel.alipay.dao.isv; import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayIsvApp; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvApp; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -11,6 +11,8 @@ import java.util.Optional; /// # 支付宝服务商应用 /// +/// 服务商应用数据访问管理器,提供列表查询、按支付宝应用ID查找和唯一性校验等方法。 +/// @Slf4j @Service @RequiredArgsConstructor diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayIsvAppMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppMapper.java similarity index 50% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayIsvAppMapper.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppMapper.java index f07317bb0..c1b58fb14 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/app/AlipayIsvAppMapper.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvAppMapper.java @@ -1,11 +1,13 @@ -package org.dromara.daxpay.channel.alipay.dao.app; +package org.dromara.daxpay.channel.alipay.dao.isv; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayIsvApp; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvApp; import com.github.yulichang.base.MPJBaseMapper; import org.apache.ibatis.annotations.Mapper; /// # 支付宝服务商应用 /// +/// 支付宝服务商应用 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// @Mapper public interface AlipayIsvAppMapper extends MPJBaseMapper { } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvChannelMerchantManager.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvChannelMerchantManager.java similarity index 77% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvChannelMerchantManager.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvChannelMerchantManager.java index b78121dd3..bf9c7c176 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvChannelMerchantManager.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvChannelMerchantManager.java @@ -1,9 +1,11 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.isv; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvChannelMerchant; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvChannelMerchant; import org.dromara.daxpay.platform.common.mybatisplus.impl.BaseManager; import org.springframework.stereotype.Repository; +/// # 支付宝服务商通道商户绑定 +/// @Repository public class AlipayIsvChannelMerchantManager extends BaseManager { diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvChannelMerchantMapper.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvChannelMerchantMapper.java similarity index 51% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvChannelMerchantMapper.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvChannelMerchantMapper.java index fd7e74216..c30d139ac 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/config/AlipayIsvChannelMerchantMapper.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/dao/isv/AlipayIsvChannelMerchantMapper.java @@ -1,11 +1,13 @@ -package org.dromara.daxpay.channel.alipay.dao.config; +package org.dromara.daxpay.channel.alipay.dao.isv; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvChannelMerchant; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvChannelMerchant; import com.github.yulichang.base.MPJBaseMapper; import org.apache.ibatis.annotations.Mapper; /// # 支付宝服务商通道商户绑定 /// +/// 支付宝服务商通道商户 MyBatis-Plus Mapper,继承 MPJBaseMapper 支持多表联查。 +/// @Mapper public interface AlipayIsvChannelMerchantMapper extends MPJBaseMapper { } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/app/AlipayMchApp.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/direct/AlipayDirectApp.java similarity index 55% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/app/AlipayMchApp.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/direct/AlipayDirectApp.java index cdc207123..147ef5a11 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/app/AlipayMchApp.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/direct/AlipayDirectApp.java @@ -1,7 +1,7 @@ -package org.dromara.daxpay.channel.alipay.entity.app; +package org.dromara.daxpay.channel.alipay.entity.direct; -import org.dromara.daxpay.channel.alipay.convert.AlipayMchAppConvert; -import org.dromara.daxpay.channel.alipay.result.app.AlipayMchAppResult; +import org.dromara.daxpay.channel.alipay.convert.AlipayDirectAppConvert; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppResult; import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import com.baomidou.mybatisplus.annotation.FieldStrategy; @@ -13,11 +13,13 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用 /// +/// 表示支付宝直连模式下商户注册的应用实体,每个应用关联一个通道商户号,拥有独立的支付宝应用ID。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@TableName(value = "alipay_mch_app", autoResultMap = true) -public class AlipayMchApp extends MchBaseEntity implements ToResult { +@TableName(value = "alipay_direct_app", autoResultMap = true) +public class AlipayDirectApp extends MchBaseEntity implements ToResult { /// 通道商户号 @TableField(updateStrategy = FieldStrategy.NEVER) @@ -31,7 +33,7 @@ public class AlipayMchApp extends MchBaseEntity implements ToResult { +@TableName(value = "alipay_direct_app_auth_config", autoResultMap = true) +public class AlipayDirectAppAuthConfig extends MchBaseEntity implements ToResult { /// 通道商户号 @TableField(updateStrategy = FieldStrategy.NEVER) @@ -35,7 +37,7 @@ public class AlipayMchAppAuthConfig extends MchBaseEntity implements ToResult { +@TableName(value = "alipay_direct_app_key_config", autoResultMap = true) +public class AlipayDirectAppKeyConfig extends MchBaseEntity implements ToResult { /// 通道商户号 @TableField(updateStrategy = FieldStrategy.NEVER) @@ -56,7 +58,7 @@ public class AlipayMchAppKeyConfig extends MchBaseEntity implements ToResult { /// 支付宝服务商应用ID diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/config/AlipayIsvChannelMerchant.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/isv/AlipayIsvChannelMerchant.java similarity index 91% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/config/AlipayIsvChannelMerchant.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/isv/AlipayIsvChannelMerchant.java index 4241fa132..b448452b0 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/config/AlipayIsvChannelMerchant.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/entity/isv/AlipayIsvChannelMerchant.java @@ -1,7 +1,7 @@ -package org.dromara.daxpay.channel.alipay.entity.config; +package org.dromara.daxpay.channel.alipay.entity.isv; import org.dromara.daxpay.channel.alipay.convert.AlipayIsvChannelMerchantConvert; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvChannelMerchantResult; import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayMchAppAuthConfigParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppAuthConfigParam.java similarity index 81% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayMchAppAuthConfigParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppAuthConfigParam.java index 5df65a7d7..fd8f48b72 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayMchAppAuthConfigParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppAuthConfigParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.config; +package org.dromara.daxpay.channel.alipay.param.direct; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -9,10 +9,12 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用授权认证配置保存参数 /// +/// 保存/更新支付宝直连商户应用授权认证配置时接收的请求参数,含商户号、通道商户号、用户标识类型和授权回调地址。 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝直连商户应用授权认证配置保存参数") -public class AlipayMchAppAuthConfigParam { +public class AlipayDirectAppAuthConfigParam { @NotNull(message = "{validation.field.id.notNull}") @Schema(description = "关联应用ID") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayMchAppKeyConfigParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppKeyConfigParam.java similarity index 84% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayMchAppKeyConfigParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppKeyConfigParam.java index 54be2a3d4..ba6a6e902 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayMchAppKeyConfigParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppKeyConfigParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.config; +package org.dromara.daxpay.channel.alipay.param.direct; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -8,10 +8,12 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用密钥配置保存参数 /// +/// 保存/更新支付宝直连商户应用密钥和证书时接收的请求参数,含商户号、通道商户号和认证类型等信息。 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝直连商户应用密钥配置保存参数") -public class AlipayMchAppKeyConfigParam { +public class AlipayDirectAppKeyConfigParam { @NotNull(message = "{validation.field.id.notNull}") @Schema(description = "关联应用ID") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/app/AlipayMchAppParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppParam.java similarity index 82% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/app/AlipayMchAppParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppParam.java index 9be0819b3..90ce0fe79 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/app/AlipayMchAppParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectAppParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.app; +package org.dromara.daxpay.channel.alipay.param.direct; import org.dromara.daxpay.platform.core.validation.ValidationGroup; import io.swagger.v3.oas.annotations.media.Schema; @@ -9,10 +9,12 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用保存参数 /// +/// 保存/更新支付宝直连商户应用时接收的请求参数,含商户号、通道商户号、应用名称和支付宝应用ID。 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝直连商户应用保存参数") -public class AlipayMchAppParam { +public class AlipayDirectAppParam { @NotNull(message = "{validation.field.id.notNull}", groups = ValidationGroup.edit.class) @Schema(description = "主键,新增时不传") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/mch/AlipayDirectChannelMerchantCreateParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectChannelMerchantCreateParam.java similarity index 90% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/mch/AlipayDirectChannelMerchantCreateParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectChannelMerchantCreateParam.java index 3aa7b9da8..4827c84c9 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/mch/AlipayDirectChannelMerchantCreateParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/direct/AlipayDirectChannelMerchantCreateParam.java @@ -1,10 +1,12 @@ -package org.dromara.daxpay.channel.alipay.param.mch; +package org.dromara.daxpay.channel.alipay.param.direct; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.experimental.Accessors; +/// # 支付宝直连通道商户创建参数 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝直连通道商户创建参数") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayIsvAppAuthConfigParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppAuthConfigParam.java similarity index 83% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayIsvAppAuthConfigParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppAuthConfigParam.java index 47788399f..71999ed5c 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayIsvAppAuthConfigParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppAuthConfigParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.config; +package org.dromara.daxpay.channel.alipay.param.isv; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -9,6 +9,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商应用授权认证配置保存参数 /// +/// 保存/更新支付宝服务商应用授权认证配置时接收的请求参数,含应用ID、用户标识类型和授权回调地址。 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝服务商应用授权认证配置保存参数") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayIsvAppKeyConfigParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppKeyConfigParam.java similarity index 82% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayIsvAppKeyConfigParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppKeyConfigParam.java index 945a0e346..7ca753de2 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/config/AlipayIsvAppKeyConfigParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppKeyConfigParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.config; +package org.dromara.daxpay.channel.alipay.param.isv; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -8,6 +8,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商应用密钥配置保存参数 /// +/// 保存/更新支付宝服务商应用密钥和证书时接收的请求参数,认证类型决定必填字段:公钥模式需传支付宝公钥,证书模式需传三个证书。 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝服务商应用密钥配置保存参数") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/app/AlipayIsvAppParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppParam.java similarity index 82% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/app/AlipayIsvAppParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppParam.java index 0e35437c0..0e7c0c2af 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/app/AlipayIsvAppParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvAppParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.app; +package org.dromara.daxpay.channel.alipay.param.isv; import org.dromara.daxpay.platform.core.validation.ValidationGroup; import io.swagger.v3.oas.annotations.media.Schema; @@ -9,6 +9,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商应用保存参数 /// +/// 保存/更新支付宝服务商应用时接收的请求参数,含应用名称和支付宝应用ID,新增时不传主键。 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝服务商应用保存参数") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/mch/AlipayIsvChannelMerchantCreateParam.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvChannelMerchantCreateParam.java similarity index 93% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/mch/AlipayIsvChannelMerchantCreateParam.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvChannelMerchantCreateParam.java index 993e9e7c0..715c01e0c 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/mch/AlipayIsvChannelMerchantCreateParam.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/param/isv/AlipayIsvChannelMerchantCreateParam.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.param.mch; +package org.dromara.daxpay.channel.alipay.param.isv; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -6,6 +6,8 @@ import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.experimental.Accessors; +/// # 支付宝服务商通道商户创建参数 +/// @Data @Accessors(chain = true) @Schema(title = "支付宝服务商通道商户创建参数") diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayMchAppAuthConfigResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppAuthConfigResult.java similarity index 73% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayMchAppAuthConfigResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppAuthConfigResult.java index 7f9e40c86..bf6da2023 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayMchAppAuthConfigResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppAuthConfigResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.config; +package org.dromara.daxpay.channel.alipay.result.direct; import org.dromara.daxpay.platform.core.result.BaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,11 +8,13 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用授权认证配置 /// +/// 支付宝直连商户应用授权认证配置的返回结果对象,含商户号、通道商户号,以及用户标识类型和授权回调地址。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) @Schema(title = "支付宝直连商户应用授权认证配置") -public class AlipayMchAppAuthConfigResult extends BaseResult { +public class AlipayDirectAppAuthConfigResult extends BaseResult { @Schema(description = "商户号") private String mchNo; diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayMchAppKeyConfigResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppKeyConfigResult.java similarity index 84% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayMchAppKeyConfigResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppKeyConfigResult.java index 2d6e32708..3db148aac 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayMchAppKeyConfigResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppKeyConfigResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.config; +package org.dromara.daxpay.channel.alipay.result.direct; import org.dromara.daxpay.platform.common.json.sensitive.SensitiveInfo; import org.dromara.daxpay.platform.core.result.BaseResult; @@ -9,11 +9,13 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用密钥配置 /// +/// 支付宝直连商户应用密钥和证书的返回结果对象,含商户号、通道商户号信息,敏感字段脱敏展示。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) @Schema(title = "支付宝直连商户应用密钥配置") -public class AlipayMchAppKeyConfigResult extends BaseResult { +public class AlipayDirectAppKeyConfigResult extends BaseResult { @Schema(description = "商户号") private String mchNo; diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/app/AlipayMchAppResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppResult.java similarity index 70% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/app/AlipayMchAppResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppResult.java index 3e57dae69..8b7671753 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/app/AlipayMchAppResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectAppResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.app; +package org.dromara.daxpay.channel.alipay.result.direct; import org.dromara.daxpay.payment.common.result.MchBaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,11 +8,13 @@ import lombok.experimental.Accessors; /// # 支付宝直连商户应用 /// +/// 支付宝直连商户应用的返回结果对象,包含通道商户号、应用名称和支付宝应用ID等信息。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) @Schema(title = "支付宝直连商户应用") -public class AlipayMchAppResult extends MchBaseResult { +public class AlipayDirectAppResult extends MchBaseResult { @Schema(description = "通道商户号") private String channelMchNo; diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayDirectChannelMerchantResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectChannelMerchantResult.java similarity index 78% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayDirectChannelMerchantResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectChannelMerchantResult.java index c49f6d96d..d4ad35966 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayDirectChannelMerchantResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/direct/AlipayDirectChannelMerchantResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.config; +package org.dromara.daxpay.channel.alipay.result.direct; import org.dromara.daxpay.payment.common.result.MchTradeBaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,6 +8,8 @@ import lombok.experimental.Accessors; /// # 支付宝直连通道商户绑定结果 /// +/// 支付宝直连通道商户绑定关系的返回结果对象,包含通道商户号、所属产品和支付宝商家识别码等信息。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvAppAuthConfigResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppAuthConfigResult.java similarity index 81% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvAppAuthConfigResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppAuthConfigResult.java index ae2e0aa93..17d41120c 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvAppAuthConfigResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppAuthConfigResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.config; +package org.dromara.daxpay.channel.alipay.result.isv; import org.dromara.daxpay.platform.core.result.BaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,6 +8,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商应用授权认证配置 /// +/// 支付宝服务商应用授权认证配置的返回结果对象,包含用户标识类型和授权回调地址。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvAppKeyConfigResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppKeyConfigResult.java similarity index 89% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvAppKeyConfigResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppKeyConfigResult.java index 32ba67df9..a44efdeb4 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvAppKeyConfigResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppKeyConfigResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.config; +package org.dromara.daxpay.channel.alipay.result.isv; import org.dromara.daxpay.platform.core.result.BaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,6 +8,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商应用密钥配置 /// +/// 支付宝服务商应用密钥和证书的返回结果对象,脱敏展示敏感字段。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/app/AlipayIsvAppResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppResult.java similarity index 78% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/app/AlipayIsvAppResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppResult.java index 581a557ac..849f4b364 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/app/AlipayIsvAppResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvAppResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.app; +package org.dromara.daxpay.channel.alipay.result.isv; import org.dromara.daxpay.platform.core.result.BaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,6 +8,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商应用 /// +/// 支付宝服务商应用的返回结果对象,包含应用名称和支付宝应用ID等信息。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvChannelMerchantResult.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvChannelMerchantResult.java similarity index 83% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvChannelMerchantResult.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvChannelMerchantResult.java index a655f03d4..fbe796d83 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/config/AlipayIsvChannelMerchantResult.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/result/isv/AlipayIsvChannelMerchantResult.java @@ -1,4 +1,4 @@ -package org.dromara.daxpay.channel.alipay.result.config; +package org.dromara.daxpay.channel.alipay.result.isv; import org.dromara.daxpay.payment.common.result.MchTradeBaseResult; import io.swagger.v3.oas.annotations.media.Schema; @@ -8,6 +8,8 @@ import lombok.experimental.Accessors; /// # 支付宝服务商通道商户绑定结果 /// +/// 支付宝服务商通道商户绑定关系的返回结果对象,包含通道商户号、所属产品、关联服务商应用ID等信息。 +/// @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayMchAppAuthConfigService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppAuthConfigService.java similarity index 53% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayMchAppAuthConfigService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppAuthConfigService.java index 1b34199e4..61ae337be 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayMchAppAuthConfigService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppAuthConfigService.java @@ -1,13 +1,13 @@ -package org.dromara.daxpay.channel.alipay.service.config; +package org.dromara.daxpay.channel.alipay.service.direct; import org.dromara.daxpay.channel.alipay.code.AlipayCode; -import org.dromara.daxpay.channel.alipay.convert.AlipayMchAppAuthConfigConvert; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayMchAppManager; -import org.dromara.daxpay.channel.alipay.dao.config.AlipayMchAppAuthConfigManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayMchApp; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppAuthConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayMchAppAuthConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayMchAppAuthConfigResult; +import org.dromara.daxpay.channel.alipay.convert.AlipayDirectAppAuthConfigConvert; +import org.dromara.daxpay.channel.alipay.dao.direct.AlipayDirectAppManager; +import org.dromara.daxpay.channel.alipay.dao.direct.AlipayDirectAppAuthConfigManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectApp; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppAuthConfig; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppAuthConfigParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppAuthConfigResult; import org.dromara.daxpay.platform.core.code.CommonErrorCode; import org.dromara.daxpay.platform.core.exception.BizInfoException; import org.dromara.daxpay.platform.core.exception.DataNotExistException; @@ -20,10 +20,12 @@ import java.util.Set; /// # 支付宝直连商户应用授权认证配置 /// +/// 管理直连商户应用的用户授权认证配置,校验应用归属关系后执行新增或更新,校验用户标识类型的合法性。 +/// @Slf4j @Service @RequiredArgsConstructor -public class AlipayMchAppAuthConfigService { +public class AlipayDirectAppAuthConfigService { private static final Set USER_ID_TYPES = Set.of( AlipayCode.UserIdType.OPENID, @@ -31,16 +33,16 @@ public class AlipayMchAppAuthConfigService { AlipayCode.UserIdType.OPENID_USERID ); - private final AlipayMchAppAuthConfigManager alipayMchAppAuthConfigManager; - private final AlipayMchAppManager alipayMchAppManager; + private final AlipayDirectAppAuthConfigManager alipayDirectAppAuthConfigManager; + private final AlipayDirectAppManager alipayDirectAppManager; /// 根据应用ID查询授权认证配置 - public AlipayMchAppAuthConfigResult findByAppId(Long appId) { - AlipayMchApp app = alipayMchAppManager.findById(appId) + public AlipayDirectAppAuthConfigResult findByAppId(Long appId) { + AlipayDirectApp app = alipayDirectAppManager.findById(appId) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); - return alipayMchAppAuthConfigManager.findByAppId(appId) - .map(AlipayMchAppAuthConfigConvert.CONVERT::toResult) - .orElseGet(() -> new AlipayMchAppAuthConfigResult() + return alipayDirectAppAuthConfigManager.findByAppId(appId) + .map(AlipayDirectAppAuthConfigConvert.CONVERT::toResult) + .orElseGet(() -> new AlipayDirectAppAuthConfigResult() .setAppId(appId) .setMchNo(app.getMchNo()) .setChannelMchNo(app.getChannelMchNo()) @@ -48,31 +50,31 @@ public class AlipayMchAppAuthConfigService { } /// 保存应用授权认证配置 - public void save(AlipayMchAppAuthConfigParam param) { - AlipayMchApp app = alipayMchAppManager.findById(param.getAppId()) + public void save(AlipayDirectAppAuthConfigParam param) { + AlipayDirectApp app = alipayDirectAppManager.findById(param.getAppId()) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); if (!app.getMchNo().equals(param.getMchNo()) || !app.getChannelMchNo().equals(param.getChannelMchNo())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.appNotFound"); } this.validateUserIdType(param.getUserIdType()); - Optional existing = alipayMchAppAuthConfigManager.findByAppId(param.getAppId()); + Optional existing = alipayDirectAppAuthConfigManager.findByAppId(param.getAppId()); if (existing.isPresent()) { - AlipayMchAppAuthConfig config = existing.get(); + AlipayDirectAppAuthConfig config = existing.get(); config.setUserIdType(param.getUserIdType()); config.setAuthCallbackUrl(param.getAuthCallbackUrl()); - alipayMchAppAuthConfigManager.updateById(config); + alipayDirectAppAuthConfigManager.updateById(config); return; } - AlipayMchAppAuthConfig config = AlipayMchAppAuthConfigConvert.CONVERT.toEntity(param); + AlipayDirectAppAuthConfig config = AlipayDirectAppAuthConfigConvert.CONVERT.toEntity(param); config.setMchNo(app.getMchNo()); config.setChannelMchNo(app.getChannelMchNo()); config.setAppId(param.getAppId()); - alipayMchAppAuthConfigManager.save(config); + alipayDirectAppAuthConfigManager.save(config); } /// 删除应用授权认证配置 public void deleteByAppId(Long appId) { - alipayMchAppAuthConfigManager.deleteByAppId(appId); + alipayDirectAppAuthConfigManager.deleteByAppId(appId); } /// 校验用户标识类型 diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayMchAppKeyConfigService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppKeyConfigService.java similarity index 63% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayMchAppKeyConfigService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppKeyConfigService.java index 0e9abbb25..edcb5a8a2 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayMchAppKeyConfigService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppKeyConfigService.java @@ -1,13 +1,13 @@ -package org.dromara.daxpay.channel.alipay.service.config; +package org.dromara.daxpay.channel.alipay.service.direct; import org.dromara.daxpay.channel.alipay.code.AlipayCode; -import org.dromara.daxpay.channel.alipay.convert.AlipayMchAppKeyConfigConvert; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayMchAppManager; -import org.dromara.daxpay.channel.alipay.dao.config.AlipayMchAppKeyConfigManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayMchApp; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayMchAppKeyConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayMchAppKeyConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayMchAppKeyConfigResult; +import org.dromara.daxpay.channel.alipay.convert.AlipayDirectAppKeyConfigConvert; +import org.dromara.daxpay.channel.alipay.dao.direct.AlipayDirectAppManager; +import org.dromara.daxpay.channel.alipay.dao.direct.AlipayDirectAppKeyConfigManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectApp; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectAppKeyConfig; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppKeyConfigParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppKeyConfigResult; import org.dromara.daxpay.platform.core.code.CommonErrorCode; import org.dromara.daxpay.platform.core.exception.BizInfoException; import org.dromara.daxpay.platform.core.exception.DataNotExistException; @@ -20,21 +20,23 @@ import java.util.Optional; /// # 支付宝直连商户应用密钥配置 /// +/// 管理直连商户应用的密钥和证书配置,校验应用归属关系后执行新增或更新,更新时合并敏感字段。 +/// @Slf4j @Service @RequiredArgsConstructor -public class AlipayMchAppKeyConfigService { +public class AlipayDirectAppKeyConfigService { - private final AlipayMchAppKeyConfigManager alipayMchAppKeyConfigManager; - private final AlipayMchAppManager alipayMchAppManager; + private final AlipayDirectAppKeyConfigManager alipayDirectAppKeyConfigManager; + private final AlipayDirectAppManager alipayDirectAppManager; /// 根据应用ID查询密钥配置 - public AlipayMchAppKeyConfigResult findByAppId(Long appId) { - AlipayMchApp app = alipayMchAppManager.findById(appId) + public AlipayDirectAppKeyConfigResult findByAppId(Long appId) { + AlipayDirectApp app = alipayDirectAppManager.findById(appId) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); - return alipayMchAppKeyConfigManager.findByAppId(appId) - .map(AlipayMchAppKeyConfigConvert.CONVERT::toResult) - .orElseGet(() -> new AlipayMchAppKeyConfigResult() + return alipayDirectAppKeyConfigManager.findByAppId(appId) + .map(AlipayDirectAppKeyConfigConvert.CONVERT::toResult) + .orElseGet(() -> new AlipayDirectAppKeyConfigResult() .setAppId(appId) .setMchNo(app.getMchNo()) .setChannelMchNo(app.getChannelMchNo()) @@ -42,35 +44,35 @@ public class AlipayMchAppKeyConfigService { } /// 保存应用密钥配置 - public void save(AlipayMchAppKeyConfigParam param) { - AlipayMchApp app = alipayMchAppManager.findById(param.getAppId()) + public void save(AlipayDirectAppKeyConfigParam param) { + AlipayDirectApp app = alipayDirectAppManager.findById(param.getAppId()) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); if (!app.getMchNo().equals(param.getMchNo()) || !app.getChannelMchNo().equals(param.getChannelMchNo())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.appNotFound"); } - Optional existing = alipayMchAppKeyConfigManager.findByAppId(param.getAppId()); + Optional existing = alipayDirectAppKeyConfigManager.findByAppId(param.getAppId()); if (existing.isPresent()) { - AlipayMchAppKeyConfig config = existing.get(); + AlipayDirectAppKeyConfig config = existing.get(); config.setAuthType(param.getAuthType()); this.mergeSensitiveFields(config, param); - alipayMchAppKeyConfigManager.updateById(config); + alipayDirectAppKeyConfigManager.updateById(config); return; } this.validateForCreate(param); - AlipayMchAppKeyConfig config = AlipayMchAppKeyConfigConvert.CONVERT.toEntity(param); + AlipayDirectAppKeyConfig config = AlipayDirectAppKeyConfigConvert.CONVERT.toEntity(param); config.setMchNo(app.getMchNo()); config.setChannelMchNo(app.getChannelMchNo()); config.setAppId(param.getAppId()); - alipayMchAppKeyConfigManager.save(config); + alipayDirectAppKeyConfigManager.save(config); } /// 删除应用密钥配置 public void deleteByAppId(Long appId) { - alipayMchAppKeyConfigManager.deleteByAppId(appId); + alipayDirectAppKeyConfigManager.deleteByAppId(appId); } /// 合并敏感字段,空值表示不更新 - private void mergeSensitiveFields(AlipayMchAppKeyConfig config, AlipayMchAppKeyConfigParam param) { + private void mergeSensitiveFields(AlipayDirectAppKeyConfig config, AlipayDirectAppKeyConfigParam param) { if (StrUtil.isNotBlank(param.getAlipayPublicKey())) { config.setAlipayPublicKey(param.getAlipayPublicKey()); } @@ -92,7 +94,7 @@ public class AlipayMchAppKeyConfigService { } /// 新增时的条件校验 - private void validateForCreate(AlipayMchAppKeyConfigParam param) { + private void validateForCreate(AlipayDirectAppKeyConfigParam param) { if (StrUtil.isBlank(param.getPrivateKey())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.privateKeyRequired"); } @@ -100,7 +102,7 @@ public class AlipayMchAppKeyConfigService { if (StrUtil.isBlank(param.getAlipayPublicKey())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.alipayPublicKeyRequired"); } - } else if (AlipayCode.AuthType.AUTH_TYPE_CART.equals(param.getAuthType())) { + } else if (AlipayCode.AuthType.AUTH_TYPE_CERT.equals(param.getAuthType())) { if (StrUtil.isBlank(param.getAppCert())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.appCertRequired"); } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/app/AlipayMchAppService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppService.java similarity index 52% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/app/AlipayMchAppService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppService.java index 02c720d7f..0b61ed010 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/app/AlipayMchAppService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectAppService.java @@ -1,12 +1,12 @@ -package org.dromara.daxpay.channel.alipay.service.app; +package org.dromara.daxpay.channel.alipay.service.direct; -import org.dromara.daxpay.channel.alipay.convert.AlipayMchAppConvert; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayMchAppManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayMchApp; -import org.dromara.daxpay.channel.alipay.param.app.AlipayMchAppParam; -import org.dromara.daxpay.channel.alipay.result.app.AlipayMchAppResult; -import org.dromara.daxpay.channel.alipay.service.config.AlipayMchAppAuthConfigService; -import org.dromara.daxpay.channel.alipay.service.config.AlipayMchAppKeyConfigService; +import org.dromara.daxpay.channel.alipay.convert.AlipayDirectAppConvert; +import org.dromara.daxpay.channel.alipay.dao.direct.AlipayDirectAppManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectApp; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectAppParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectAppResult; +import org.dromara.daxpay.channel.alipay.service.direct.AlipayDirectAppAuthConfigService; +import org.dromara.daxpay.channel.alipay.service.direct.AlipayDirectAppKeyConfigService; import org.dromara.daxpay.platform.common.mybatisplus.util.MpUtil; import org.dromara.daxpay.platform.core.code.CommonErrorCode; import org.dromara.daxpay.platform.core.exception.BizInfoException; @@ -20,25 +20,27 @@ import java.util.List; /// # 支付宝直连商户应用管理 /// +/// 提供直连商户应用的增删改查功能,包含同一通道商户下应用ID的唯一性校验和操作范围校验(防止跨商户操作)。 +/// @Slf4j @Service @RequiredArgsConstructor -public class AlipayMchAppService { +public class AlipayDirectAppService { - private final AlipayMchAppManager alipayMchAppManager; - private final AlipayMchAppKeyConfigService alipayMchAppKeyConfigService; - private final AlipayMchAppAuthConfigService alipayMchAppAuthConfigService; + private final AlipayDirectAppManager alipayDirectAppManager; + private final AlipayDirectAppKeyConfigService alipayDirectAppKeyConfigService; + private final AlipayDirectAppAuthConfigService alipayDirectAppAuthConfigService; /// 根据商户号和通道商户号查询应用列表 - public List listByMchNoAndChannelMchNo(String mchNo, String channelMchNo) { - List list = alipayMchAppManager.listByMchNoAndChannelMchNo(mchNo, channelMchNo); + public List listByMchNoAndChannelMchNo(String mchNo, String channelMchNo) { + List list = alipayDirectAppManager.listByMchNoAndChannelMchNo(mchNo, channelMchNo); return MpUtil.toListResult(list); } /// 根据ID查询应用详情 - public AlipayMchAppResult findById(Long id) { - return alipayMchAppManager.findById(id) - .map(AlipayMchApp::toResult) + public AlipayDirectAppResult findById(Long id) { + return alipayDirectAppManager.findById(id) + .map(AlipayDirectApp::toResult) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); } @@ -47,33 +49,33 @@ public class AlipayMchAppService { if (StrUtil.hasBlank(mchNo, channelMchNo, aliAppId)) { return false; } - return alipayMchAppManager.existsByChannelMchNoAndAliAppId(mchNo, channelMchNo, aliAppId, excludeId); + return alipayDirectAppManager.existsByChannelMchNoAndAliAppId(mchNo, channelMchNo, aliAppId, excludeId); } /// 新增支付宝直连商户应用 - public void add(AlipayMchAppParam param) { + public void add(AlipayDirectAppParam param) { this.assertAliAppIdUnique(param.getMchNo(), param.getChannelMchNo(), param.getAliAppId(), null); - AlipayMchApp entity = AlipayMchAppConvert.CONVERT.toEntity(param); - alipayMchAppManager.save(entity); + AlipayDirectApp entity = AlipayDirectAppConvert.CONVERT.toEntity(param); + alipayDirectAppManager.save(entity); } /// 更新支付宝直连商户应用 - public void update(AlipayMchAppParam param) { - AlipayMchApp entity = alipayMchAppManager.findById(param.getId()) + public void update(AlipayDirectAppParam param) { + AlipayDirectApp entity = alipayDirectAppManager.findById(param.getId()) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); this.assertScopeMatch(entity, param.getMchNo(), param.getChannelMchNo()); this.assertAliAppIdUnique(entity.getMchNo(), entity.getChannelMchNo(), param.getAliAppId(), param.getId()); - AlipayMchAppConvert.CONVERT.copy(param, entity); - alipayMchAppManager.updateById(entity); + AlipayDirectAppConvert.CONVERT.copy(param, entity); + alipayDirectAppManager.updateById(entity); } /// 删除应用(级联删除密钥配置和授权认证配置) public void delete(Long id) { - alipayMchAppManager.findById(id) + alipayDirectAppManager.findById(id) .orElseThrow(() -> new DataNotExistException("error.channel.alipay.appNotFound")); - alipayMchAppKeyConfigService.deleteByAppId(id); - alipayMchAppAuthConfigService.deleteByAppId(id); - alipayMchAppManager.deleteById(id); + alipayDirectAppKeyConfigService.deleteByAppId(id); + alipayDirectAppAuthConfigService.deleteByAppId(id); + alipayDirectAppManager.deleteById(id); } /// 校验同一通道商户下应用ID唯一 @@ -84,7 +86,7 @@ public class AlipayMchAppService { } /// 校验操作范围与记录归属一致 - private void assertScopeMatch(AlipayMchApp entity, String mchNo, String channelMchNo) { + private void assertScopeMatch(AlipayDirectApp entity, String mchNo, String channelMchNo) { if (!entity.getMchNo().equals(mchNo) || !entity.getChannelMchNo().equals(channelMchNo)) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.appNotFound"); } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/mch/AlipayDirectChannelMerchantService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectChannelMerchantService.java similarity index 90% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/mch/AlipayDirectChannelMerchantService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectChannelMerchantService.java index dd9fe00b5..06effb4f7 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/mch/AlipayDirectChannelMerchantService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/direct/AlipayDirectChannelMerchantService.java @@ -1,9 +1,9 @@ -package org.dromara.daxpay.channel.alipay.service.mch; +package org.dromara.daxpay.channel.alipay.service.direct; -import org.dromara.daxpay.channel.alipay.dao.config.AlipayDirectChannelMerchantManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayDirectChannelMerchant; -import org.dromara.daxpay.channel.alipay.param.mch.AlipayDirectChannelMerchantCreateParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayDirectChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.dao.direct.AlipayDirectChannelMerchantManager; +import org.dromara.daxpay.channel.alipay.entity.direct.AlipayDirectChannelMerchant; +import org.dromara.daxpay.channel.alipay.param.direct.AlipayDirectChannelMerchantCreateParam; +import org.dromara.daxpay.channel.alipay.result.direct.AlipayDirectChannelMerchantResult; import org.dromara.daxpay.payment.channel.dao.mch.ChannelMerchantManager; import org.dromara.daxpay.payment.channel.entity.mch.ChannelMerchant; import org.dromara.daxpay.platform.core.code.CommonErrorCode; diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayIsvAppAuthConfigService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppAuthConfigService.java similarity index 83% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayIsvAppAuthConfigService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppAuthConfigService.java index 72ba3c692..1219c51a7 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayIsvAppAuthConfigService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppAuthConfigService.java @@ -1,12 +1,12 @@ -package org.dromara.daxpay.channel.alipay.service.config; +package org.dromara.daxpay.channel.alipay.service.isv; import org.dromara.daxpay.channel.alipay.code.AlipayCode; import org.dromara.daxpay.channel.alipay.convert.AlipayIsvAppAuthConfigConvert; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayIsvAppManager; -import org.dromara.daxpay.channel.alipay.dao.config.AlipayIsvAppAuthConfigManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppAuthConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayIsvAppAuthConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvAppAuthConfigResult; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvAppManager; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvAppAuthConfigManager; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppAuthConfig; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppAuthConfigParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppAuthConfigResult; import org.dromara.daxpay.platform.core.code.CommonErrorCode; import org.dromara.daxpay.platform.core.exception.BizInfoException; import org.dromara.daxpay.platform.core.exception.DataNotExistException; @@ -19,6 +19,8 @@ import java.util.Set; /// # 支付宝服务商应用授权认证配置 /// +/// 管理服务商应用的用户授权认证配置,包括用户标识类型的合法性校验(仅支持openid/userid/openid_userid)。 +/// @Slf4j @Service @RequiredArgsConstructor diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayIsvAppKeyConfigService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppKeyConfigService.java similarity index 87% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayIsvAppKeyConfigService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppKeyConfigService.java index ea509f4d7..679268644 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/config/AlipayIsvAppKeyConfigService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppKeyConfigService.java @@ -1,12 +1,12 @@ -package org.dromara.daxpay.channel.alipay.service.config; +package org.dromara.daxpay.channel.alipay.service.isv; import org.dromara.daxpay.channel.alipay.code.AlipayCode; import org.dromara.daxpay.channel.alipay.convert.AlipayIsvAppKeyConfigConvert; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayIsvAppManager; -import org.dromara.daxpay.channel.alipay.dao.config.AlipayIsvAppKeyConfigManager; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvAppKeyConfig; -import org.dromara.daxpay.channel.alipay.param.config.AlipayIsvAppKeyConfigParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvAppKeyConfigResult; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvAppManager; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvAppKeyConfigManager; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvAppKeyConfig; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppKeyConfigParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppKeyConfigResult; import org.dromara.daxpay.platform.core.code.CommonErrorCode; import org.dromara.daxpay.platform.core.exception.BizInfoException; import org.dromara.daxpay.platform.core.exception.DataNotExistException; @@ -19,6 +19,8 @@ import java.util.Optional; /// # 支付宝服务商应用密钥配置 /// +/// 管理服务商应用的密钥和证书配置,支持新增和更新操作,更新时合并敏感字段(空值表示不修改)。 +/// @Slf4j @Service @RequiredArgsConstructor @@ -92,7 +94,7 @@ public class AlipayIsvAppKeyConfigService { if (StrUtil.isBlank(param.getAlipayPublicKey())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.alipayPublicKeyRequired"); } - } else if (AlipayCode.AuthType.AUTH_TYPE_CART.equals(param.getAuthType())) { + } else if (AlipayCode.AuthType.AUTH_TYPE_CERT.equals(param.getAuthType())) { if (StrUtil.isBlank(param.getAppCert())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "error.channel.alipay.appCertRequired"); } diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/app/AlipayIsvAppService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppService.java similarity index 83% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/app/AlipayIsvAppService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppService.java index efc4801f9..ad1e1248c 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/app/AlipayIsvAppService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvAppService.java @@ -1,12 +1,12 @@ -package org.dromara.daxpay.channel.alipay.service.app; +package org.dromara.daxpay.channel.alipay.service.isv; import org.dromara.daxpay.channel.alipay.convert.AlipayIsvAppConvert; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayIsvAppManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayIsvApp; -import org.dromara.daxpay.channel.alipay.param.app.AlipayIsvAppParam; -import org.dromara.daxpay.channel.alipay.result.app.AlipayIsvAppResult; -import org.dromara.daxpay.channel.alipay.service.config.AlipayIsvAppAuthConfigService; -import org.dromara.daxpay.channel.alipay.service.config.AlipayIsvAppKeyConfigService; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvAppManager; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvApp; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvAppParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvAppResult; +import org.dromara.daxpay.channel.alipay.service.isv.AlipayIsvAppAuthConfigService; +import org.dromara.daxpay.channel.alipay.service.isv.AlipayIsvAppKeyConfigService; import org.dromara.daxpay.platform.common.mybatisplus.util.MpUtil; import org.dromara.daxpay.platform.core.code.CommonErrorCode; import org.dromara.daxpay.platform.core.exception.BizInfoException; @@ -20,6 +20,8 @@ import java.util.List; /// # 支付宝服务商应用管理 /// +/// 提供服务商应用的增删改查功能,包含支付宝应用ID的唯一性校验和级联删除密钥/授权配置。 +/// @Slf4j @Service @RequiredArgsConstructor diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/mch/AlipayIsvChannelMerchantService.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvChannelMerchantService.java similarity index 87% rename from daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/mch/AlipayIsvChannelMerchantService.java rename to daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvChannelMerchantService.java index 8b04c651e..41d8196b7 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/mch/AlipayIsvChannelMerchantService.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/service/isv/AlipayIsvChannelMerchantService.java @@ -1,11 +1,11 @@ -package org.dromara.daxpay.channel.alipay.service.mch; +package org.dromara.daxpay.channel.alipay.service.isv; -import org.dromara.daxpay.channel.alipay.dao.app.AlipayIsvAppManager; -import org.dromara.daxpay.channel.alipay.dao.config.AlipayIsvChannelMerchantManager; -import org.dromara.daxpay.channel.alipay.entity.app.AlipayIsvApp; -import org.dromara.daxpay.channel.alipay.entity.config.AlipayIsvChannelMerchant; -import org.dromara.daxpay.channel.alipay.param.mch.AlipayIsvChannelMerchantCreateParam; -import org.dromara.daxpay.channel.alipay.result.config.AlipayIsvChannelMerchantResult; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvAppManager; +import org.dromara.daxpay.channel.alipay.dao.isv.AlipayIsvChannelMerchantManager; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvApp; +import org.dromara.daxpay.channel.alipay.entity.isv.AlipayIsvChannelMerchant; +import org.dromara.daxpay.channel.alipay.param.isv.AlipayIsvChannelMerchantCreateParam; +import org.dromara.daxpay.channel.alipay.result.isv.AlipayIsvChannelMerchantResult; import org.dromara.daxpay.payment.channel.dao.mch.ChannelMerchantManager; import org.dromara.daxpay.payment.channel.entity.mch.ChannelMerchant; import org.dromara.daxpay.platform.core.code.CommonErrorCode; diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayDirectProductStrategy.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayDirectProductStrategy.java index ae5399260..330e6ef99 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayDirectProductStrategy.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayDirectProductStrategy.java @@ -18,6 +18,8 @@ import static org.dromara.daxpay.platform.core.enums.pay.channel.PayProviderEnum /// # 支付宝直连产品策略 /// +/// 支付宝直连模式的支付产品策略,定义支持条码、扫码、JSAPI、小程序、PC、H5和APP等全部支付方式,使用商户API调用模式并支持沙箱环境。 +/// @Slf4j @Service @RequiredArgsConstructor diff --git a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayIsvProductStrategy.java b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayIsvProductStrategy.java index b1857902c..a9c729a47 100644 --- a/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayIsvProductStrategy.java +++ b/daxpay-channel/daxpay-channel-alipay/src/main/java/org/dromara/daxpay/channel/alipay/strategy/AlipayIsvProductStrategy.java @@ -18,6 +18,8 @@ import static org.dromara.daxpay.platform.core.enums.pay.channel.PayProviderEnum /// # 支付宝服务商产品策略 /// +/// 支付宝服务商(ISV)模式的支付产品策略,定义支持条码、扫码、JSAPI、小程序、PC、H5和APP等全部支付方式,使用服务商API调用模式。 +/// @Slf4j @Service @RequiredArgsConstructor