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