From 1ba79103e0aaa704b70fd9a3e4201a3bcff2a6e0 Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Mon, 20 Jul 2026 15:37:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(masterdata):=20PayProductConfig=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=89=B9=E9=87=8F=20activeEnv=20=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=B8=8E=E6=B2=99=E7=AE=B1=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/product/PayProductConfigManager.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/masterdata/dao/product/PayProductConfigManager.java b/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/masterdata/dao/product/PayProductConfigManager.java index 1d921830f..4667b289d 100644 --- a/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/masterdata/dao/product/PayProductConfigManager.java +++ b/daxpay-payment/daxpay-payment-core/src/main/java/cn/daxpay/open/payment/masterdata/dao/product/PayProductConfigManager.java @@ -2,11 +2,16 @@ package cn.daxpay.open.payment.masterdata.dao.product; import cn.daxpay.open.platform.common.mybatisplus.impl.BaseManager; import cn.daxpay.open.payment.masterdata.entity.product.PayProductConfig; +import cn.daxpay.open.platform.core.enums.pay.config.PayEnvEnum; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; import java.util.Optional; +import java.util.stream.Collectors; /// # 支付产品配置 /// @@ -21,4 +26,24 @@ public class PayProductConfigManager extends BaseManager mapActiveEnvByProducts(Collection products) { + if (products == null || products.isEmpty()) { + return Collections.emptyMap(); + } + return lambdaQuery() + .in(PayProductConfig::getProduct, products) + .list() + .stream() + .collect(Collectors.toMap(PayProductConfig::getProduct, PayProductConfig::getActiveEnv, (a, b) -> a)); + } + + /// 读取产品当前是否沙箱(无配置视为生产) + public boolean isSandboxActive(String product) { + return findByProduct(product) + .map(PayProductConfig::getActiveEnv) + .map(PayEnvEnum.SANDBOX.getCode()::equals) + .orElse(false); + } }