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); + } }