This commit is contained in:
hy001 2026-06-25 22:52:50 +08:00
parent 18b49c9db4
commit 9de0155d7e

View File

@ -69,33 +69,38 @@ public class PayWebApplicationCommodityV2QueryExe {
.toPayApplicationCO(payApplicationService.getById(cmd.getApplicationId())); .toPayApplicationCO(payApplicationService.getById(cmd.getApplicationId()));
ResponseAssert.notNull(CommonErrorCode.NOT_FOUND_RECORD_INFO, application); ResponseAssert.notNull(CommonErrorCode.NOT_FOUND_RECORD_INFO, application);
List<PayApplicationCommodity> payApplicationCommodities = getPayApplicationCommodities(cmd); List<PayApplicationCommodity> payApplicationCommodities = getPayApplicationCommodities(cmd);
if (CollectionUtils.isEmpty(payApplicationCommodities)) { if (CollectionUtils.isEmpty(payApplicationCommodities)) {
return new ApplicationCommodityCardV2CO() return new ApplicationCommodityCardV2CO()
.setApplication(application); .setApplication(application);
} }
// 所有支持的渠道 // LIKEI/Yumi H5 支付方式由本地 JSON 控制商品接口只负责按后台商品配置返回商品
List<PayCountryChannelDetails> countryChannelDetails = payCountryChannelDetailsService // 如果这里继续依赖支付国家渠道详情JSON 已配置但后端渠道未上架时会把商品误过滤为空
.listChannelCode(cmd.getPayCountryId()); List<PayApplicationCommodityCO> commodity = toCommodityCO(payCountry,
payApplicationCommodities);
if (CollectionUtils.isEmpty(commodity)) {
return new ApplicationCommodityCardV2CO()
.setApplication(application);
}
if (isJsonControlledPayment(cmd)) {
return new ApplicationCommodityCardV2CO()
.setApplication(application)
.setCommodity(commodity);
}
// 所有支持的渠道
List<PayCountryChannelDetails> countryChannelDetails = payCountryChannelDetailsService
.listChannelCode(cmd.getPayCountryId());
if (CollectionUtils.isEmpty(countryChannelDetails)) { if (CollectionUtils.isEmpty(countryChannelDetails)) {
return new ApplicationCommodityCardV2CO() return new ApplicationCommodityCardV2CO()
.setApplication(application); .setApplication(application);
} }
// 商品 // 过滤渠道限额范围
List<PayApplicationCommodityCO> commodity = toCommodityCO(payCountry, countryChannelDetails = filterCountryChannelLimit(countryChannelDetails, commodity);
payApplicationCommodities);
if (CollectionUtils.isEmpty(commodity)) {
return new ApplicationCommodityCardV2CO()
.setApplication(application);
}
// 过滤渠道限额范围
countryChannelDetails = filterCountryChannelLimit(countryChannelDetails, commodity);
if (CollectionUtils.isEmpty(countryChannelDetails)) { if (CollectionUtils.isEmpty(countryChannelDetails)) {
return new ApplicationCommodityCardV2CO() return new ApplicationCommodityCardV2CO()
@ -117,8 +122,8 @@ public class PayWebApplicationCommodityV2QueryExe {
.setChannels(getPayChannels(payChannels, countryChannelDetails)); .setChannels(getPayChannels(payChannels, countryChannelDetails));
} }
private List<PayApplicationCommodity> getPayApplicationCommodities( private List<PayApplicationCommodity> getPayApplicationCommodities(
PayWebApplicationCommodityCmd cmd) { PayWebApplicationCommodityCmd cmd) {
// Yumi/LIKEI H5 已经先按用户资料拿到国家商品应按国家查regionId 只保留给旧的区域商品链路. // Yumi/LIKEI H5 已经先按用户资料拿到国家商品应按国家查regionId 只保留给旧的区域商品链路.
if (Objects.equals(cmd.requireReqSysOriginChildEnum(), SysOriginPlatformEnum.YOLO) if (Objects.equals(cmd.requireReqSysOriginChildEnum(), SysOriginPlatformEnum.YOLO)
@ -133,12 +138,16 @@ public class PayWebApplicationCommodityV2QueryExe {
cmd.getType(), cmd.getRegionId()); cmd.getType(), cmd.getRegionId());
} }
return payApplicationCommodityService return payApplicationCommodityService
.listCommodityByApplicationCountry(cmd.getApplicationId(), cmd.getPayCountryId(), .listCommodityByApplicationCountry(cmd.getApplicationId(), cmd.getPayCountryId(),
cmd.getType(), null); cmd.getType(), null);
} }
private List<PayCountryChannelDetails> filterCountryChannelLimit( private boolean isJsonControlledPayment(PayWebApplicationCommodityCmd cmd) {
return Objects.equals(cmd.requireReqSysOriginChildEnum(), SysOriginPlatformEnum.LIKEI);
}
private List<PayCountryChannelDetails> filterCountryChannelLimit(
List<PayCountryChannelDetails> countryChannelDetails, List<PayCountryChannelDetails> countryChannelDetails,
List<PayApplicationCommodityCO> commodity) { List<PayApplicationCommodityCO> commodity) {
Map<Long, PayCountryChannelDetails> countryChannelMaps = Maps.newHashMap(); Map<Long, PayCountryChannelDetails> countryChannelMaps = Maps.newHashMap();