From 4ba092b48bb2332f8d9f182813e2dcbdf6d5e7fa Mon Sep 17 00:00:00 2001 From: daxpay Date: Wed, 5 Aug 2026 14:22:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(channel-direct):=20douyin/wechat=20?= =?UTF-8?q?=E7=9B=B4=E8=BF=9E=E5=95=86=E6=88=B7=E5=AE=9E=E4=BD=93/?= =?UTF-8?q?=E5=8F=82=E6=95=B0/=E7=BB=93=E6=9E=9C/=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../douyin/entity/direct/DouyinDirectChannelMerchant.java | 4 ++++ .../param/direct/DouyinDirectChannelMerchantCreateParam.java | 5 +++++ .../result/direct/DouyinDirectChannelMerchantResult.java | 4 ++++ .../service/direct/DouyinDirectChannelMerchantService.java | 2 ++ .../wechat/entity/direct/WechatDirectChannelMerchant.java | 3 +++ .../param/direct/WechatDirectChannelMerchantCreateParam.java | 4 ++++ .../result/direct/WechatDirectChannelMerchantResult.java | 3 +++ .../service/direct/WechatDirectChannelMerchantService.java | 1 + .../merchant/result/channel/ChannelMerchantResult.java | 5 ----- 9 files changed, 26 insertions(+), 5 deletions(-) diff --git a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/entity/direct/DouyinDirectChannelMerchant.java b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/entity/direct/DouyinDirectChannelMerchant.java index 785fbdab6..f85d452b5 100644 --- a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/entity/direct/DouyinDirectChannelMerchant.java +++ b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/entity/direct/DouyinDirectChannelMerchant.java @@ -29,9 +29,13 @@ public class DouyinDirectChannelMerchant extends MchBaseEntity implements ToResu /// 抖音商户号(MCHID) private String dyMchId; + /// 转账场景ID(商家转账 transfer_scene_id, 未配置时发起转账报错) + private String transferScene; + /// 转换 @Override public DouyinDirectChannelMerchantResult toResult() { return DouyinDirectChannelMerchantConvert.CONVERT.toResult(this); } } + diff --git a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/param/direct/DouyinDirectChannelMerchantCreateParam.java b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/param/direct/DouyinDirectChannelMerchantCreateParam.java index f45b2c063..2a2086d24 100644 --- a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/param/direct/DouyinDirectChannelMerchantCreateParam.java +++ b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/param/direct/DouyinDirectChannelMerchantCreateParam.java @@ -31,4 +31,9 @@ public class DouyinDirectChannelMerchantCreateParam { @Schema(description = "抖音商户号(MCHID)") @NotBlank(message = "{validation.field.dyMchId.notBlank}") private String dyMchId; + + /// 转账场景ID(商家转账, 抖音转账时必填) + @Schema(description = "转账场景ID") + private String transferScene; } + diff --git a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/result/direct/DouyinDirectChannelMerchantResult.java b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/result/direct/DouyinDirectChannelMerchantResult.java index b650b52df..2aa0a903a 100644 --- a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/result/direct/DouyinDirectChannelMerchantResult.java +++ b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/result/direct/DouyinDirectChannelMerchantResult.java @@ -22,4 +22,8 @@ public class DouyinDirectChannelMerchantResult extends MchBaseResult { @Schema(description = "抖音商户号(MCHID)") private String dyMchId; + + @Schema(description = "转账场景ID(商家转账)") + private String transferScene; } + diff --git a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/service/direct/DouyinDirectChannelMerchantService.java b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/service/direct/DouyinDirectChannelMerchantService.java index 83e81e2f1..98d609dfe 100644 --- a/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/service/direct/DouyinDirectChannelMerchantService.java +++ b/daxpay-channel/daxpay-channel-douyin/src/main/java/cn/daxpay/open/channel/douyin/service/direct/DouyinDirectChannelMerchantService.java @@ -61,6 +61,7 @@ public class DouyinDirectChannelMerchantService { entity.setChannelMchNo(channelMchNo); entity.setProduct(param.getProduct()); entity.setDyMchId(param.getDyMchId()); + entity.setTransferScene(param.getTransferScene()); douyinDirectChannelMerchantManager.save(entity); } @@ -74,3 +75,4 @@ public class DouyinDirectChannelMerchantService { .orElseThrow(() -> new DataNotExistException("error.payment.channel.channelMerchantNotExist")); } } + diff --git a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/entity/direct/WechatDirectChannelMerchant.java b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/entity/direct/WechatDirectChannelMerchant.java index d113fcb20..266d75cbd 100644 --- a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/entity/direct/WechatDirectChannelMerchant.java +++ b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/entity/direct/WechatDirectChannelMerchant.java @@ -29,6 +29,9 @@ public class WechatDirectChannelMerchant extends MchBaseEntity implements ToResu /// 微信直连商户号 private String wxMchId; + /// 转账场景ID(商家转账到零钱 transfer_scene, 未配置时发起转账报错) + private String transferScene; + /// 转换 @Override public WechatDirectChannelMerchantResult toResult() { diff --git a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/param/direct/WechatDirectChannelMerchantCreateParam.java b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/param/direct/WechatDirectChannelMerchantCreateParam.java index 36bf0a1f6..b2159ce93 100644 --- a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/param/direct/WechatDirectChannelMerchantCreateParam.java +++ b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/param/direct/WechatDirectChannelMerchantCreateParam.java @@ -31,4 +31,8 @@ public class WechatDirectChannelMerchantCreateParam { @Schema(description = "微信直连商户号") @NotBlank(message = "{validation.field.wxMchId.notBlank}") private String wxMchId; + + /// 转账场景ID(商家转账到零钱, 微信转账时必填) + @Schema(description = "转账场景ID") + private String transferScene; } diff --git a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/result/direct/WechatDirectChannelMerchantResult.java b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/result/direct/WechatDirectChannelMerchantResult.java index f97948f4f..991e7d4c4 100644 --- a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/result/direct/WechatDirectChannelMerchantResult.java +++ b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/result/direct/WechatDirectChannelMerchantResult.java @@ -24,4 +24,7 @@ public class WechatDirectChannelMerchantResult extends MchBaseResult { @Schema(description = "微信直连商户号") private String wxMchId; + + @Schema(description = "转账场景ID(商家转账到零钱)") + private String transferScene; } diff --git a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/direct/WechatDirectChannelMerchantService.java b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/direct/WechatDirectChannelMerchantService.java index 7ffcc39d2..6ce901a49 100644 --- a/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/direct/WechatDirectChannelMerchantService.java +++ b/daxpay-channel/daxpay-channel-wechat/src/main/java/cn/daxpay/open/channel/wechat/service/direct/WechatDirectChannelMerchantService.java @@ -62,6 +62,7 @@ public class WechatDirectChannelMerchantService { entity.setChannelMchNo(channelMchNo); entity.setProduct(param.getProduct()); entity.setWxMchId(param.getWxMchId()); + entity.setTransferScene(param.getTransferScene()); wechatDirectChannelMerchantManager.save(entity); } diff --git a/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/merchant/result/channel/ChannelMerchantResult.java b/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/merchant/result/channel/ChannelMerchantResult.java index eeb8a0e48..a5f4ad59b 100644 --- a/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/merchant/result/channel/ChannelMerchantResult.java +++ b/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/merchant/result/channel/ChannelMerchantResult.java @@ -19,11 +19,6 @@ import lombok.experimental.FieldNameConstants; @Schema(title = "通道商户信息") public class ChannelMerchantResult extends MchBaseResult { - /// 商户名称(由 mchNo 翻译, 走系统 @Trans 机制) - @Trans(entity = MerchantInfo.class, source = MchBaseResult.Fields.mchNo, result = MerchantInfo.Fields.mchName) - @Schema(description = "商户名称") - private String mchName; - /// 申请单ID @Schema(description = "申请单ID") private Long applyId;