diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppBaseEntity.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppBaseEntity.java deleted file mode 100644 index 8ee84452f..000000000 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppBaseEntity.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.dromara.daxpay.payment.common.entity.merchant; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import lombok.experimental.FieldNameConstants; - -/// # 商户基础实体类 -/// -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@FieldNameConstants -public class MchAppBaseEntity extends MchBaseEntity { - - /// 应用号 - @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) - private String appId; - -} - diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppEditEntity.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppEditEntity.java deleted file mode 100644 index 1e57ac32d..000000000 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppEditEntity.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.dromara.daxpay.payment.common.entity.merchant; - -import org.dromara.daxpay.platform.common.mybatisplus.base.MpBaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import lombok.experimental.FieldNameConstants; - -/// # 商户基础实体类 应用/商户/服务商号可以更新 -/// -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@FieldNameConstants -public class MchAppEditEntity extends MpBaseEntity { - - /// 商户号 - private String mchNo; - - /// 应用号 - private String appId; - -} diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppRecordEntity.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppRecordEntity.java deleted file mode 100644 index 975391581..000000000 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/entity/merchant/MchAppRecordEntity.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.dromara.daxpay.payment.common.entity.merchant; - -import org.dromara.daxpay.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import lombok.Getter; -import lombok.Setter; -import lombok.experimental.FieldNameConstants; - -/// # 商户记录实体类, 只有创建人和时间 -/// -@Getter -@Setter -@FieldNameConstants(innerTypeName = "MchRecord") -public class MchAppRecordEntity extends MpCreateEntity { - - /// 商户号 - @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) - private String mchNo; - - /// 应用号 - @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) - private String appId; - -} diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/handler/CustomTenantLineHandler.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/handler/CustomTenantLineHandler.java index 6b384966d..8c002cd35 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/handler/CustomTenantLineHandler.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/handler/CustomTenantLineHandler.java @@ -4,9 +4,6 @@ import org.dromara.daxpay.platform.common.mybatisplus.util.MpUtil; import org.dromara.daxpay.platform.iam.service.client.ClientCodeService; import org.dromara.daxpay.payment.common.context.PaymentContext; import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppEditEntity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; import cn.hutool.core.util.ClassUtil; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; @@ -71,8 +68,8 @@ public class CustomTenantLineHandler implements TenantLineHandler { if (tableInfo == null){ return true; } - // 如果为 MchAppBaseEntity、MchAppEditEntity、MchAppRecordEntity 子类, MchBaseEntity, 不可以忽略过滤 - boolean anyMatch = Stream.of(MchAppBaseEntity.class, MchAppEditEntity.class, MchAppRecordEntity.class, MchBaseEntity.class) + // 如果为 MchBaseEntity 子类, 不可以忽略过滤 + boolean anyMatch = Stream.of(MchBaseEntity.class) .anyMatch(entityClass -> ClassUtil.isAssignable(entityClass, tableInfo.getEntityType())); return !anyMatch; } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/service/MchAppInfoAssistQueryService.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/service/MchAppInfoAssistQueryService.java index dcd9b77de..8a38a1c60 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/service/MchAppInfoAssistQueryService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/common/service/MchAppInfoAssistQueryService.java @@ -9,4 +9,7 @@ import java.util.List; public interface MchAppInfoAssistQueryService { List dropdown(String mchNo); List dropdownByEnable(String mchNo); + + /// 查询商户默认应用号 + String findDefaultAppId(String mchNo); } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/config/entity/ChannelConfig.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/config/entity/ChannelConfig.java index ae2319f87..1c03c48fa 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/config/entity/ChannelConfig.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/config/entity/ChannelConfig.java @@ -2,9 +2,12 @@ package org.dromara.daxpay.payment.masterdata.config.entity; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.masterdata.config.convert.ChannelConfigConvert; import org.dromara.daxpay.payment.masterdata.config.result.ChannelConfigResult; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,7 +19,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @TableName("pay_channel_config" ) -public class ChannelConfig extends MchAppBaseEntity implements ToResult { +public class ChannelConfig extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 支付通道 /// @see ChannelEnum diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackRecord.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackRecord.java index 27936bb48..67595de26 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackRecord.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackRecord.java @@ -1,10 +1,13 @@ package org.dromara.daxpay.payment.old.pay.entity.notice.callback; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.notice.MerchantCallbackConvert; import org.dromara.daxpay.platform.core.enums.pay.notice.NoticeSendTypeEnum; import org.dromara.daxpay.payment.old.pay.result.notice.callback.MerchantCallbackRecordResult; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,7 +19,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @TableName("pay_merchant_callback_record") -public class MerchantCallbackRecord extends MchAppRecordEntity implements ToResult { +public class MerchantCallbackRecord extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 任务ID private Long taskId; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackTask.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackTask.java index 1dca1c29f..56aa3a0ad 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackTask.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/notice/callback/MerchantCallbackTask.java @@ -1,11 +1,12 @@ package org.dromara.daxpay.payment.old.pay.entity.notice.callback; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.notice.MerchantCallbackConvert; import org.dromara.daxpay.platform.core.enums.pay.notice.CallbackNoticeTypeEnum; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeTypeEnum; import org.dromara.daxpay.payment.old.pay.result.notice.callback.MerchantCallbackTaskResult; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -21,7 +22,11 @@ import java.time.OffsetDateTime; @Data @Accessors(chain = true) @TableName("pay_merchant_callback_task") -public class MerchantCallbackTask extends MchAppBaseEntity implements ToResult { +public class MerchantCallbackTask extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 本地交易ID private Long tradeId; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrder.java index 5fd80ac65..69a080ab8 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrder.java @@ -1,7 +1,7 @@ package org.dromara.daxpay.payment.old.pay.entity.order.pay; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.order.pay.PayOrderConvert; import org.dromara.daxpay.platform.core.enums.pay.channel.*; import org.dromara.daxpay.platform.core.enums.pay.pay.*; @@ -9,6 +9,7 @@ import org.dromara.daxpay.platform.core.enums.pay.trade.*; import org.dromara.daxpay.payment.old.pay.result.order.pay.PayOrderVo; import org.dromara.daxpay.platform.core.enums.unipay.PayLimitPayEnum; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,7 +27,11 @@ import java.util.Objects; @Data @Accessors(chain = true) @TableName("pay_order") -public class PayOrder extends MchAppBaseEntity implements ToResult { +public class PayOrder extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 商户订单号 private String bizOrderNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrderExpand.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrderExpand.java index d9bd0f0c3..5a50ea02d 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrderExpand.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/pay/PayOrderExpand.java @@ -1,9 +1,12 @@ package org.dromara.daxpay.payment.old.pay.entity.order.pay; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.order.pay.PayOrderConvert; import org.dromara.daxpay.payment.old.pay.result.order.pay.PayOrderExpandResult; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,7 +21,11 @@ import java.time.OffsetDateTime; @Data @Accessors(chain = true) @TableName(value = "pay_order_expand",autoResultMap = true) -public class PayOrderExpand extends MchAppBaseEntity implements ToResult{ +public class PayOrderExpand extends MchBaseEntity implements ToResult{ + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 同步跳转地址 private String returnUrl; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/refund/RefundOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/refund/RefundOrder.java index 436d746ab..760489e0f 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/refund/RefundOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/refund/RefundOrder.java @@ -6,9 +6,10 @@ import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.PayProviderEnum; import org.dromara.daxpay.platform.core.enums.pay.refund.RefundStatusEnum; import org.dromara.daxpay.platform.core.enums.pay.trade.SettleStatusEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.order.refund.RefundOrderConvert; import org.dromara.daxpay.payment.old.pay.result.order.refund.RefundOrderVo; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -25,7 +26,11 @@ import java.time.OffsetDateTime; @Data @Accessors(chain = true) @TableName("pay_refund_order") -public class RefundOrder extends MchAppBaseEntity implements ToResult { +public class RefundOrder extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 支付订单ID private Long orderId; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/transfer/TransferOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/transfer/TransferOrder.java index eb339a73e..ea0122a1b 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/transfer/TransferOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/order/transfer/TransferOrder.java @@ -5,9 +5,10 @@ import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; import org.dromara.daxpay.platform.core.enums.pay.transfer.TransferPayeeTypeEnum; import org.dromara.daxpay.platform.core.enums.pay.transfer.TransferStatusEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.order.transfer.TransferOrderConvert; import org.dromara.daxpay.payment.old.pay.result.order.transfer.TransferOrderVo; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -24,7 +25,12 @@ import java.time.OffsetDateTime; @Data @Accessors(chain = true) @TableName("pay_transfer_order") -public class TransferOrder extends MchAppBaseEntity implements ToResult { +public class TransferOrder extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; + /// 商户转账号 private String bizTransferNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ChannelReconcileTrade.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ChannelReconcileTrade.java index faa8889aa..2ddabd5ff 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ChannelReconcileTrade.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ChannelReconcileTrade.java @@ -2,7 +2,10 @@ package org.dromara.daxpay.payment.old.pay.entity.reconcile; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeStatusEnum; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeTypeEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +20,11 @@ import java.time.OffsetDateTime; @Data @Accessors(chain = true) @TableName("pay_channel_reconcile_trade") -public class ChannelReconcileTrade extends MchAppRecordEntity { +public class ChannelReconcileTrade extends MchBaseEntity { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 关联对账单ID private Long reconcileId; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileDiscrepancy.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileDiscrepancy.java index 9915dbc6b..7f7ebf511 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileDiscrepancy.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileDiscrepancy.java @@ -2,10 +2,13 @@ package org.dromara.daxpay.payment.old.pay.entity.reconcile; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeTypeEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.reconcile.ReconcileConvert; import org.dromara.daxpay.platform.core.enums.pay.reconcile.ReconcileDiscrepancyTypeEnum; import org.dromara.daxpay.payment.old.pay.result.reconcile.ReconcileDiscrepancyResult; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -21,7 +24,11 @@ import java.time.OffsetDateTime; @Data @Accessors(chain = true) @TableName("pay_reconcile_discrepancy") -public class ReconcileDiscrepancy extends MchAppRecordEntity implements ToResult { +public class ReconcileDiscrepancy extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 对账单ID private Long reconcileId; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileStatement.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileStatement.java index e3b361e22..d24cdb3f0 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileStatement.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/reconcile/ReconcileStatement.java @@ -3,10 +3,11 @@ package org.dromara.daxpay.payment.old.pay.entity.reconcile; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.reconcile.ReconcileConvert; import org.dromara.daxpay.platform.core.enums.pay.reconcile.ReconcileResultEnum; import org.dromara.daxpay.payment.old.pay.result.reconcile.ReconcileStatementResult; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -25,7 +26,11 @@ import java.time.LocalDate; @Data @Accessors(chain = true) @TableName(value = "pay_reconcile_statement") -public class ReconcileStatement extends MchAppBaseEntity implements ToResult { +public class ReconcileStatement extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 名称 private String name; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/callback/TradeCallbackRecord.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/callback/TradeCallbackRecord.java index 0f81cf5c7..e921417b2 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/callback/TradeCallbackRecord.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/callback/TradeCallbackRecord.java @@ -5,10 +5,13 @@ import org.dromara.daxpay.platform.core.enums.pay.notice.CallbackStatusEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeTypeEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.record.TradeCallbackRecordConvert; import org.dromara.daxpay.payment.old.pay.result.record.callback.TradeCallbackRecordResult; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -20,7 +23,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @TableName("pay_trade_callback_record") -public class TradeCallbackRecord extends MchAppRecordEntity implements ToResult { +public class TradeCallbackRecord extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 平台交易号 private String tradeNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/close/PayCloseRecord.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/close/PayCloseRecord.java index f4a565ea2..596e01a81 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/close/PayCloseRecord.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/close/PayCloseRecord.java @@ -4,10 +4,13 @@ import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; import org.dromara.daxpay.platform.core.enums.pay.pay.CloseTypeEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.record.PayCloseRecordConvert; import org.dromara.daxpay.payment.old.pay.result.record.close.PayCloseRecordResult; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,7 +22,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @TableName("pay_close_record") -public class PayCloseRecord extends MchAppRecordEntity implements ToResult { +public class PayCloseRecord extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 订单号 private String orderNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/flow/TradeFlowRecord.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/flow/TradeFlowRecord.java index e99a8dee8..ddcd02893 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/flow/TradeFlowRecord.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/flow/TradeFlowRecord.java @@ -4,9 +4,12 @@ import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeTypeEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.record.TradeFlowRecordConvert; import org.dromara.daxpay.payment.old.pay.result.record.flow.TradeFlowRecordResult; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -20,7 +23,11 @@ import java.math.BigDecimal; @Data @Accessors(chain = true) @TableName("pay_trade_flow_record") -public class TradeFlowRecord extends MchAppRecordEntity implements ToResult { +public class TradeFlowRecord extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 订单标题 private String title; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/sync/TradeSyncRecord.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/sync/TradeSyncRecord.java index 14028f5c2..5fcf7752a 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/sync/TradeSyncRecord.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/old/pay/entity/record/sync/TradeSyncRecord.java @@ -4,10 +4,13 @@ import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.channel.ChannelEnum; import org.dromara.daxpay.platform.core.enums.pay.channel.ProductEnum; import org.dromara.daxpay.platform.core.enums.pay.trade.TradeTypeEnum; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppRecordEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.old.pay.convert.record.TradeSyncRecordConvert; import org.dromara.daxpay.payment.old.pay.result.record.sync.TradeSyncRecordResult; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,7 +22,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @TableName("pay_trade_sync_record") -public class TradeSyncRecord extends MchAppRecordEntity implements ToResult { +public class TradeSyncRecord extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 平台交易号 private String tradeNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayNormalOrderManager.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayNormalOrderManager.java index 520edfe98..1fa92fbbf 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayNormalOrderManager.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayNormalOrderManager.java @@ -11,11 +11,10 @@ import java.util.Optional; @Repository public class PayNormalOrderManager extends BaseManager { - /// 根据业务单号查询 - public Optional findByBizOrderNo(String bizOrderNo, String appId) { + /// 根据业务单号查询(按商户号自动租户隔离) + public Optional findByBizOrderNo(String bizOrderNo) { return lambdaQuery() .eq(PayNormalOrder::getBizOrderNo, bizOrderNo) - .eq(PayNormalOrder::getAppId, appId) .oneOpt(); } } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayTradeManager.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayTradeManager.java index 91be72612..f05c9cdcb 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayTradeManager.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/dao/PayTradeManager.java @@ -25,27 +25,17 @@ public class PayTradeManager extends BaseManager { return findByField(PayTrade::getTradeNo, tradeNo); } - /// 根据交易号+应用ID查询 - public Optional findByTradeNo(String tradeNo, String appId) { - return lambdaQuery() - .eq(PayTrade::getTradeNo, tradeNo) - .eq(PayTrade::getAppId, appId) - .oneOpt(); - } - - /// 根据通道订单号+应用ID查询 - public Optional findByOutOrderNo(String outOrderNo, String appId) { + /// 根据通道订单号查询(按商户号自动租户隔离) + public Optional findByOutOrderNo(String outOrderNo) { return lambdaQuery() .eq(PayTrade::getOutOrderNo, outOrderNo) - .eq(PayTrade::getAppId, appId) .oneOpt(); } - /// 根据容器ID查询 - public Optional findByContainerId(Long containerId, String appId) { + /// 根据容器ID查询(按商户号自动租户隔离) + public Optional findByContainerId(Long containerId) { return lambdaQuery() .eq(PayTrade::getContainerId, containerId) - .eq(PayTrade::getAppId, appId) .oneOpt(); } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayAuthOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayAuthOrder.java index 1887119fb..daae37679 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayAuthOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayAuthOrder.java @@ -1,6 +1,9 @@ package org.dromara.daxpay.payment.pay.order.entity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +20,11 @@ import java.time.OffsetDateTime; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @TableName("pay_auth") -public class PayAuthOrder extends MchAppBaseEntity { +public class PayAuthOrder extends MchBaseEntity { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 商户业务单号 private String bizOrderNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayCombineOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayCombineOrder.java index 09be89a7e..ada8bf778 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayCombineOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayCombineOrder.java @@ -1,6 +1,9 @@ package org.dromara.daxpay.payment.pay.order.entity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -15,7 +18,11 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @TableName("pay_combine") -public class PayCombineOrder extends MchAppBaseEntity { +public class PayCombineOrder extends MchBaseEntity { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 商户合单业务号 private String bizOrderNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayNormalOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayNormalOrder.java index 0d6bfc721..ed2b0db69 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayNormalOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayNormalOrder.java @@ -1,6 +1,9 @@ package org.dromara.daxpay.payment.pay.order.entity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -21,7 +24,11 @@ import java.time.OffsetDateTime; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @TableName("pay_normal_order") -public class PayNormalOrder extends MchAppBaseEntity { +public class PayNormalOrder extends MchBaseEntity { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 商户业务单号 private String bizOrderNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayRecurringOrder.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayRecurringOrder.java index 15ab227b7..c73ee6e8b 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayRecurringOrder.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayRecurringOrder.java @@ -1,6 +1,9 @@ package org.dromara.daxpay.payment.pay.order.entity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,7 +19,11 @@ import java.time.OffsetDateTime; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @TableName("pay_recurring") -public class PayRecurringOrder extends MchAppBaseEntity { +public class PayRecurringOrder extends MchBaseEntity { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 商户签约业务号 private String bizOrderNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayTrade.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayTrade.java index 3b93c82cb..71e037eab 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayTrade.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/order/entity/PayTrade.java @@ -1,6 +1,7 @@ package org.dromara.daxpay.payment.pay.order.entity; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -20,7 +21,11 @@ import java.time.OffsetDateTime; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @TableName("pay_trade") -public class PayTrade extends MchAppBaseEntity { +public class PayTrade extends MchBaseEntity { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 支付交易号(统一雪花,无形态前缀) private String tradeNo; diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayAssistService.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayAssistService.java index e2a3c9b7b..352588a2e 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayAssistService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayAssistService.java @@ -9,6 +9,7 @@ import org.dromara.daxpay.platform.core.util.TradeNoGenerateUtil; import org.dromara.daxpay.payment.common.enums.NormalOrderStatusEnum; import org.dromara.daxpay.payment.common.enums.PayFundStatusEnum; import org.dromara.daxpay.payment.common.enums.PayTradeTypeEnum; +import org.dromara.daxpay.payment.common.service.MchAppInfoAssistQueryService; import org.dromara.daxpay.payment.common.util.PayUtil; import cn.hutool.core.util.StrUtil; import org.dromara.daxpay.payment.pay.convert.PayTradeConvert; @@ -37,10 +38,16 @@ public class PayAssistService { private final PayNormalOrderManager payNormalOrderManager; private final PayTradeManager payTradeManager; + private final MchAppInfoAssistQueryService mchAppInfoAssistQueryService; /// 创建支付订单(容器 + 资金交易) @Transactional(rollbackFor = Exception.class) public PayTrade createOrder(PayParam payParam) { + // 解析应用号:有传输则使用,无则取商户默认应用 + String appId = payParam.getAppId(); + if (StrUtil.isBlank(appId)) { + appId = mchAppInfoAssistQueryService.findDefaultAppId(payParam.getMchNo()); + } OffsetDateTime expiredTime = this.getExpiredTime(payParam.getExpiredTime()); Long amount = Long.valueOf(PayUtil.convertCentAmount(payParam.getAmount())); // 从产品编码派生通道编码 @@ -70,9 +77,11 @@ public class PayAssistService { normalOrder.setProduct(payParam.getProduct()); normalOrder.setExtraParam(payParam.getExtraParam()); normalOrder.setTerminalNo(terminalNo); + normalOrder.setAppId(appId); payNormalOrderManager.save(normalOrder); // 创建资金交易 PayTrade PayTrade trade = new PayTrade(); + trade.setAppId(appId); trade.setTradeNo(TradeNoGenerateUtil.pay()); trade.setTradeType(PayTradeTypeEnum.NORMAL.getCode()); trade.setContainerId(normalOrder.getId()); @@ -93,14 +102,14 @@ public class PayAssistService { return trade; } - /// 根据业务单号查询并检查支付状态 - public PayTrade getOrderAndCheck(String bizOrderNo, String appId) { - Optional normalOrderOpt = payNormalOrderManager.findByBizOrderNo(bizOrderNo, appId); + /// 根据业务单号查询并检查支付状态(按商户号自动租户隔离) + public PayTrade getOrderAndCheck(String bizOrderNo) { + Optional normalOrderOpt = payNormalOrderManager.findByBizOrderNo(bizOrderNo); if (normalOrderOpt.isEmpty()) { return null; } PayNormalOrder normalOrder = normalOrderOpt.get(); - PayTrade trade = payTradeManager.findByContainerId(normalOrder.getId(), appId).orElse(null); + PayTrade trade = payTradeManager.findByContainerId(normalOrder.getId()).orElse(null); if (trade == null) { return null; } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCallbackService.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCallbackService.java index 4e2371f06..4e1dfc45d 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCallbackService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCallbackService.java @@ -43,10 +43,10 @@ public class PayCallbackService { return null; } try { - PayTrade trade = payTradeManager.findByTradeNo(callbackInfo.getTradeNo(), apiContext.getTradeInfo().getAppId()) + PayTrade trade = payTradeManager.findByTradeNo(callbackInfo.getTradeNo()) .orElse(null); if (Objects.isNull(trade)) { - trade = payTradeManager.findByOutOrderNo(callbackInfo.getOutTradeNo(), apiContext.getTradeInfo().getAppId()) + trade = payTradeManager.findByOutOrderNo(callbackInfo.getOutTradeNo()) .orElse(null); } if (Objects.isNull(trade)) { diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCloseService.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCloseService.java index befe46004..4d04ea879 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCloseService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayCloseService.java @@ -42,13 +42,13 @@ public class PayCloseService { if (StrUtil.isBlank(param.getOrderNo()) && Objects.isNull(param.getBizOrderNo())) { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "pay.error.orderNoRequired"); } - PayTrade trade = payTradeManager.findByTradeNo(param.getOrderNo(), param.getAppId()) + PayTrade trade = payTradeManager.findByTradeNo(param.getOrderNo()) .orElse(null); if (Objects.isNull(trade) && Objects.nonNull(param.getBizOrderNo())) { - PayNormalOrder normalOrder = payNormalOrderManager.findByBizOrderNo(param.getBizOrderNo(), param.getAppId()) + PayNormalOrder normalOrder = payNormalOrderManager.findByBizOrderNo(param.getBizOrderNo()) .orElse(null); if (Objects.nonNull(normalOrder)) { - trade = payTradeManager.findByContainerId(normalOrder.getId(), param.getAppId()) + trade = payTradeManager.findByContainerId(normalOrder.getId()) .orElse(null); } } diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayService.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayService.java index aa1c67873..183694b3a 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PayService.java @@ -43,7 +43,7 @@ public class PayService { throw new BizInfoException(CommonErrorCode.VALIDATE_PARAMETERS_ERROR, "pay.error.pay.processing"); } try { - PayTrade trade = payAssistService.getOrderAndCheck(bizOrderNo, payParam.getAppId()); + PayTrade trade = payAssistService.getOrderAndCheck(bizOrderNo); return this.payHandle(payParam, trade); } finally { lockTemplate.releaseLock(lock); diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PaySyncService.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PaySyncService.java index 1bdba716c..c2cae1fcb 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PaySyncService.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/pay/service/PaySyncService.java @@ -52,18 +52,18 @@ public class PaySyncService { } PayTrade trade = null; if (StrUtil.isNotBlank(param.getOrderNo())) { - trade = payTradeManager.findByTradeNo(param.getOrderNo(), param.getAppId()).orElse(null); + trade = payTradeManager.findByTradeNo(param.getOrderNo()).orElse(null); } if (Objects.isNull(trade) && Objects.nonNull(param.getBizOrderNo())) { PayNormalOrder normalOrder = payNormalOrderManager.findByBizOrderNo( - param.getBizOrderNo(), param.getAppId()).orElse(null); + param.getBizOrderNo()).orElse(null); if (Objects.nonNull(normalOrder)) { - trade = payTradeManager.findByContainerId(normalOrder.getId(), param.getAppId()) + trade = payTradeManager.findByContainerId(normalOrder.getId()) .orElse(null); } } if (Objects.isNull(trade) && StrUtil.isNotBlank(param.getOutOrderNo())) { - trade = payTradeManager.findByOutOrderNo(param.getOutOrderNo(), param.getAppId()) + trade = payTradeManager.findByOutOrderNo(param.getOutOrderNo()) .orElse(null); } if (Objects.isNull(trade)) { diff --git a/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/appinfo/MchAppInfo.java b/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/appinfo/MchAppInfo.java index e27ffee21..cf631ce03 100644 --- a/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/appinfo/MchAppInfo.java +++ b/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/appinfo/MchAppInfo.java @@ -1,10 +1,13 @@ package org.dromara.daxpay.payment.merchant.entity.appinfo; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.merchant.convert.appinfo.MchAppInfoConvert; import org.dromara.daxpay.platform.core.enums.merchant.MchAppStatusEnum; import org.dromara.daxpay.payment.merchant.result.appinfo.MchAppInfoResult; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,7 +21,11 @@ import lombok.experimental.FieldNameConstants; @FieldNameConstants @Accessors(chain = true) @TableName("mch_app_info") -public class MchAppInfo extends MchAppBaseEntity implements ToResult { +public class MchAppInfo extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 应用名称 private String appName; diff --git a/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/route/strategy/PayRouteStrategy.java b/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/route/strategy/PayRouteStrategy.java index bb3729e3d..11b8554fa 100644 --- a/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/route/strategy/PayRouteStrategy.java +++ b/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/entity/route/strategy/PayRouteStrategy.java @@ -1,10 +1,13 @@ package org.dromara.daxpay.payment.merchant.entity.route.strategy; -import org.dromara.daxpay.payment.common.entity.merchant.MchAppBaseEntity; +import org.dromara.daxpay.payment.common.entity.merchant.MchBaseEntity; import org.dromara.daxpay.payment.merchant.convert.route.strategy.PayRouteStrategyConvert; import org.dromara.daxpay.payment.merchant.result.route.strategy.PayRouteStrategyResult; import org.dromara.daxpay.platform.common.mybatisplus.function.ToResult; import org.dromara.daxpay.platform.core.enums.pay.route.PayRouteModeEnum; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,7 +19,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @TableName("pay_route_strategy") -public class PayRouteStrategy extends MchAppBaseEntity implements ToResult { +public class PayRouteStrategy extends MchBaseEntity implements ToResult { + + /// 应用号 + @TableField(updateStrategy = FieldStrategy.NEVER, fill = FieldFill.INSERT) + private String appId; /// 路由模式:basic / scene /// @see PayRouteModeEnum diff --git a/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/service/appinfo/MchAppInfoService.java b/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/service/appinfo/MchAppInfoService.java index 67658f6d0..8844a3270 100644 --- a/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/service/appinfo/MchAppInfoService.java +++ b/daxpay-payment/daxpay-payment-merchant/src/main/java/org/dromara/daxpay/payment/merchant/service/appinfo/MchAppInfoService.java @@ -173,6 +173,14 @@ public class MchAppInfoService implements MchAppInfoAssistQueryService { .collect(Collectors.toList()); } + /// 查询商户默认应用号 + @Override + public String findDefaultAppId(String mchNo) { + return mchAppInfoManager.findDefaultByMchNo(mchNo) + .map(MchAppInfo::getAppId) + .orElseThrow(() -> new DataNotExistException("error.payment.merchant.defaultAppNotConfigured")); + } + /// 下拉列表, 不判断应用和商户的状态 public List dropdown(String mchNo) { if (clientCodeService.getClientCode().equals(ClientEnum.MERCHANT.getCode())) {