mirror of
https://gitee.com/dromara/dax-pay
synced 2026-08-08 06:05:33 +08:00
feat(masterdata): PayProductConfig 新增批量 activeEnv 查询与沙箱判断
This commit is contained in:
@@ -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<PayProductConfigMapper,
|
||||
.eq(PayProductConfig::getProduct, product)
|
||||
.oneOpt();
|
||||
}
|
||||
|
||||
/// 批量查询产品 → activeEnv 映射(缺省记录不在 map 中, 调用方按 prod 处理)
|
||||
public Map<String, String> mapActiveEnvByProducts(Collection<String> 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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user