1
This commit is contained in:
@@ -657,7 +657,19 @@ public class InstructionServiceImpl implements IInstructionService {
|
||||
return outputs.isEmpty() ? Collections.singletonList("无数据") : outputs;
|
||||
}
|
||||
if (input.startsWith("单")) {
|
||||
return Collections.singletonList(handleDanWriteDb(input, forceGenerate, isFromConsole));
|
||||
String primary = handleDanWriteDb(input, forceGenerate, isFromConsole);
|
||||
String norm = input.trim().replace("元", "");
|
||||
if (isNewOrderFormInput(norm)) {
|
||||
JDOrder parsedForSummary = parseOrderFromText(norm);
|
||||
String compact = buildNewFormDanCompactSummary(parsedForSummary);
|
||||
if (compact != null) {
|
||||
List<String> two = new ArrayList<>(2);
|
||||
two.add(primary);
|
||||
two.add(compact);
|
||||
return two;
|
||||
}
|
||||
}
|
||||
return Collections.singletonList(primary);
|
||||
}
|
||||
return Collections.singletonList(helpText());
|
||||
}
|
||||
@@ -1284,6 +1296,48 @@ public class InstructionServiceImpl implements IInstructionService {
|
||||
return s.replaceAll("[\\t ]+", " ").replaceAll("\n{3,}", "\n\n").trim();
|
||||
}
|
||||
|
||||
/** 是否与录单表单新模板一致(与 {@link #formatOrderForm} 中判断一致) */
|
||||
private boolean isNewOrderFormInput(String originalInput) {
|
||||
if (originalInput == null) {
|
||||
return false;
|
||||
}
|
||||
return originalInput.contains("—————————")
|
||||
|| originalInput.contains("下单链接(必须用这个):")
|
||||
|| originalInput.contains("下单地址(注意带分机):")
|
||||
|| originalInput.contains("下单人(需填):")
|
||||
|| originalInput.contains("下单付款(注意核对):")
|
||||
|| originalInput.contains("后返金额(注意核对):")
|
||||
|| originalInput.contains("订单号(需填):")
|
||||
|| originalInput.contains("物流链接(需填):")
|
||||
|| originalInput.contains("备注(下单号码有变动/没法带分机号的写这里):");
|
||||
}
|
||||
|
||||
/**
|
||||
* 新模板录单时追加的精简文案:型号、地址、物流(物流为主链接,与解析入库一致)。
|
||||
*/
|
||||
private String buildNewFormDanCompactSummary(JDOrder order) {
|
||||
if (order == null) {
|
||||
return null;
|
||||
}
|
||||
String model = order.getModelNumber();
|
||||
String address = order.getAddress();
|
||||
String logistics = order.getLogisticsLink();
|
||||
if (isEmpty(model) && isEmpty(address) && isEmpty(logistics)) {
|
||||
return null;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (!isEmpty(model)) {
|
||||
sb.append("型号:").append(model.trim()).append('\n');
|
||||
}
|
||||
if (!isEmpty(address)) {
|
||||
sb.append("地址:").append(normalizeWhitespace(address.trim())).append('\n');
|
||||
}
|
||||
if (!isEmpty(logistics)) {
|
||||
sb.append("物流:").append(logistics.trim());
|
||||
}
|
||||
return sb.toString().trim();
|
||||
}
|
||||
|
||||
// ===== "单 …" 写库 =====
|
||||
private String handleDanWriteDb(String input) {
|
||||
return handleDanWriteDb(input, false, false);
|
||||
@@ -1436,19 +1490,8 @@ public class InstructionServiceImpl implements IInstructionService {
|
||||
* @param originalInput 原始输入文本,用于提取完整的物流链接
|
||||
*/
|
||||
private String formatOrderForm(JDOrder order, String originalInput) {
|
||||
// 检测是否是新格式(包含分隔线"—————————"或新格式字段标签)
|
||||
boolean isNewFormat = originalInput != null && (
|
||||
originalInput.contains("—————————") ||
|
||||
originalInput.contains("下单链接(必须用这个):") ||
|
||||
originalInput.contains("下单地址(注意带分机):") ||
|
||||
originalInput.contains("下单人(需填):") ||
|
||||
originalInput.contains("下单付款(注意核对):") ||
|
||||
originalInput.contains("后返金额(注意核对):") ||
|
||||
originalInput.contains("订单号(需填):") ||
|
||||
originalInput.contains("物流链接(需填):") ||
|
||||
originalInput.contains("备注(下单号码有变动/没法带分机号的写这里):")
|
||||
);
|
||||
|
||||
boolean isNewFormat = isNewOrderFormInput(originalInput);
|
||||
|
||||
if (isNewFormat) {
|
||||
return formatOrderFormNew(order, originalInput);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user