fix: prefer configured h5 pay country
This commit is contained in:
parent
b7f70dbcb9
commit
78cf72f660
@ -1,7 +1,6 @@
|
||||
package com.red.circle.order.app.command.pay.web;
|
||||
|
||||
import com.red.circle.common.business.core.amount.PayAmountArithmeticUtils;
|
||||
import com.red.circle.framework.mybatis.constant.PageConstant;
|
||||
import com.red.circle.framework.core.asserts.ResponseAssert;
|
||||
import com.red.circle.framework.core.response.CommonErrorCode;
|
||||
import com.red.circle.order.app.dto.clientobject.pay.PayCountryCO;
|
||||
@ -127,11 +126,24 @@ public class PayWebH5OptionsQryExe {
|
||||
sysCountryCodeClient.getByCode(cmd.getCountryCode().trim().toUpperCase())
|
||||
);
|
||||
ResponseAssert.notNull(CommonErrorCode.NOT_FOUND_RECORD_INFO, country);
|
||||
return payCountryService.query()
|
||||
List<PayCountry> payCountries = payCountryService.query()
|
||||
.eq(PayCountry::getCountryId, country.getId())
|
||||
.orderByDesc(PayCountry::getSort)
|
||||
.last(PageConstant.LIMIT_ONE)
|
||||
.getOne();
|
||||
.list();
|
||||
if (CollectionUtils.isEmpty(payCountries)) {
|
||||
return null;
|
||||
}
|
||||
// 同一个国家线上可能有多条支付国家记录;优先选当前应用真正配置了商品的记录,避免只按排序命中空配置。
|
||||
return payCountries.stream()
|
||||
.filter(payCountry -> CollectionUtils.isNotEmpty(
|
||||
payApplicationCommodityService.listCommodityByApplicationCountry(
|
||||
cmd.getApplicationId(),
|
||||
payCountry.getId(),
|
||||
cmd.getType(),
|
||||
null
|
||||
)))
|
||||
.findFirst()
|
||||
.orElse(payCountries.get(0));
|
||||
}
|
||||
|
||||
return payCountryService.getShelfSortMax();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user