优化添加附加费
This commit is contained in:
+2
@@ -31,6 +31,8 @@ public class BatchAddIncomeBillFeeRequest implements Serializable
|
||||
private List<String> productCodes;
|
||||
private String countryCode;
|
||||
private String creditArrearsStatus;
|
||||
/** Same as list filter billing_fail_status IN (...). */
|
||||
private List<Integer> billingFailStatuses;
|
||||
|
||||
/** Billing time range (biz_date), inclusive; format yyyy-MM-dd. */
|
||||
private String beginBizDate;
|
||||
|
||||
@@ -25,6 +25,8 @@ public class RecalcBillPriceRequest implements Serializable
|
||||
private List<String> productCodes;
|
||||
private String countryCode;
|
||||
private String creditArrearsStatus;
|
||||
/** Same as list filter billing_fail_status IN (...). */
|
||||
private List<Integer> billingFailStatuses;
|
||||
private String beginBizDate;
|
||||
private String endBizDate;
|
||||
}
|
||||
|
||||
+26
-3
@@ -666,7 +666,8 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
List<PrcOrderBill> bills = resolveListScopedBills(request.getScopeMode(), request.getBillIds(),
|
||||
request.getOrderNos(), request.getTrackingNos(), request.getTransferNos(), request.getOrderIdentifiers(),
|
||||
request.getCustomerCodes(), request.getProductCodes(), request.getCountryCode(),
|
||||
request.getCreditArrearsStatus(), request.getBeginBizDate(), request.getEndBizDate(),
|
||||
request.getCreditArrearsStatus(), request.getBillingFailStatuses(),
|
||||
request.getBeginBizDate(), request.getEndBizDate(),
|
||||
"price.bill.recalc.filterRequired", "price.bill.recalc.scopeRequired",
|
||||
"price.bill.recalc.selectedRequired");
|
||||
if (bills.isEmpty())
|
||||
@@ -1139,7 +1140,8 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
return resolveListScopedBills(request.getScopeMode(), request.getBillIds(),
|
||||
request.getOrderNos(), request.getTrackingNos(), request.getTransferNos(), request.getOrderIdentifiers(),
|
||||
request.getCustomerCodes(), request.getProductCodes(), request.getCountryCode(),
|
||||
request.getCreditArrearsStatus(), request.getBeginBizDate(), request.getEndBizDate(),
|
||||
request.getCreditArrearsStatus(), request.getBillingFailStatuses(),
|
||||
request.getBeginBizDate(), request.getEndBizDate(),
|
||||
"price.bill.fee.batch.filterRequired", "price.bill.fee.batch.scopeRequired",
|
||||
"price.bill.fee.batch.selectedRequired");
|
||||
}
|
||||
@@ -1151,7 +1153,8 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
private List<PrcOrderBill> resolveListScopedBills(String scopeModeRaw, List<String> billIdsRaw,
|
||||
List<String> orderNosRaw, List<String> trackingNosRaw, List<String> transferNosRaw, List<String> orderIdentifiersRaw,
|
||||
List<String> customerCodesRaw, List<String> productCodesRaw, String countryCodeRaw,
|
||||
String creditArrearsStatusRaw, String beginBizDateRaw, String endBizDateRaw,
|
||||
String creditArrearsStatusRaw, List<Integer> billingFailStatusesRaw,
|
||||
String beginBizDateRaw, String endBizDateRaw,
|
||||
String msgFilter, String msgScope, String msgSelected)
|
||||
{
|
||||
String scopeMode = StringUtils.nvl(scopeModeRaw, "").trim().toUpperCase();
|
||||
@@ -1165,6 +1168,7 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
List<String> orderIdentifiers = normalizeOrderIdentifiers(orderIdentifiersRaw);
|
||||
List<String> customerCodes = normalizeCodeList(customerCodesRaw);
|
||||
List<String> productCodes = normalizeCodeList(productCodesRaw);
|
||||
List<Integer> billingFailStatuses = normalizeIntegerList(billingFailStatusesRaw);
|
||||
String creditArrearsStatus = StringUtils.isEmpty(creditArrearsStatusRaw) ? null
|
||||
: creditArrearsStatusRaw.trim();
|
||||
String countryCode = StringUtils.isEmpty(countryCodeRaw) ? null
|
||||
@@ -1177,6 +1181,7 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
|| (orderIdentifiers != null && !orderIdentifiers.isEmpty())
|
||||
|| (customerCodes != null && !customerCodes.isEmpty())
|
||||
|| (productCodes != null && !productCodes.isEmpty())
|
||||
|| (billingFailStatuses != null && !billingFailStatuses.isEmpty())
|
||||
|| StringUtils.isNotEmpty(creditArrearsStatus)
|
||||
|| StringUtils.isNotEmpty(countryCode)
|
||||
|| StringUtils.isNotEmpty(beginBizDate)
|
||||
@@ -1204,6 +1209,7 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
query.setCustomerCodes(customerCodes);
|
||||
query.setProductCodes(productCodes);
|
||||
query.setCreditArrearsStatus(creditArrearsStatus);
|
||||
query.setBillingFailStatuses(billingFailStatuses);
|
||||
query.setCountryCode(countryCode);
|
||||
if (beginBizDate != null)
|
||||
{
|
||||
@@ -1218,6 +1224,23 @@ public class PrcOrderBillServiceImpl implements IPrcOrderBillService
|
||||
return list == null ? new ArrayList<PrcOrderBill>() : list;
|
||||
}
|
||||
|
||||
private List<Integer> normalizeIntegerList(List<Integer> values)
|
||||
{
|
||||
if (values == null || values.isEmpty())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<Integer> out = new ArrayList<Integer>();
|
||||
for (Integer v : values)
|
||||
{
|
||||
if (v != null)
|
||||
{
|
||||
out.add(v);
|
||||
}
|
||||
}
|
||||
return out.isEmpty() ? null : out;
|
||||
}
|
||||
|
||||
private PrcSurcharge requireActiveSurcharge(Long scId)
|
||||
{
|
||||
PrcSurcharge surcharge = surchargeService.selectPrcSurchargeById(scId);
|
||||
|
||||
@@ -570,7 +570,8 @@ function buildRecalcPayload() {
|
||||
orderIdentifiers: parseOrderIdentifiers(rest.orderIdentifiers),
|
||||
customerCodes: rest.customerCodes || [],
|
||||
productCodes: rest.productCodes || [],
|
||||
creditArrearsStatus: rest.creditArrearsStatus || undefined
|
||||
creditArrearsStatus: rest.creditArrearsStatus || undefined,
|
||||
billingFailStatuses: Array.isArray(rest.billingFailStatuses) ? rest.billingFailStatuses : []
|
||||
}
|
||||
if (Array.isArray(bizDateRange) && (bizDateRange[0] || bizDateRange[1])) {
|
||||
payload.beginBizDate = bizDateRange[0] || null
|
||||
|
||||
@@ -211,12 +211,28 @@ function buildQueryTags(q) {
|
||||
: (q.creditArrearsStatus === 'NORMAL' ? "正常" : q.creditArrearsStatus)
|
||||
tags.push("额度欠费" + ':' + label)
|
||||
}
|
||||
const failStatuses = Array.isArray(q.billingFailStatuses) ? q.billingFailStatuses.filter(v => v != null) : []
|
||||
if (failStatuses.length) {
|
||||
const labels = failStatuses.map(v => billingFailStatusLabel(v))
|
||||
tags.push("计费失败" + ':' + labels.join(', '))
|
||||
}
|
||||
if (q.beginBizDate || q.endBizDate) {
|
||||
tags.push("计费时间:" + (q.beginBizDate || '…') + ' ~ ' + (q.endBizDate || '…'))
|
||||
}
|
||||
return tags
|
||||
}
|
||||
|
||||
function billingFailStatusLabel(code) {
|
||||
const map = {
|
||||
0: '计费成功',
|
||||
1: '未匹配产品',
|
||||
2: '未匹配国家',
|
||||
3: '未匹配重量段'
|
||||
}
|
||||
const key = Number(code)
|
||||
return map[key] != null ? map[key] : String(code)
|
||||
}
|
||||
|
||||
function loadSurcharges() {
|
||||
return listSurchargeOptions({ ssCode: 'on' }).then(res => {
|
||||
surchargeOptions.value = res.data || []
|
||||
@@ -262,6 +278,7 @@ function buildPayload() {
|
||||
customerCodes: q.customerCodes || [],
|
||||
productCodes: q.productCodes || [],
|
||||
creditArrearsStatus: q.creditArrearsStatus || undefined,
|
||||
billingFailStatuses: Array.isArray(q.billingFailStatuses) ? q.billingFailStatuses : [],
|
||||
beginBizDate: q.beginBizDate || undefined,
|
||||
endBizDate: q.endBizDate || undefined
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user