1
This commit is contained in:
@@ -1427,6 +1427,70 @@ 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("备注(下单号码有变动/没法带分机号的写这里):")
|
||||
);
|
||||
|
||||
if (isNewFormat) {
|
||||
return formatOrderFormNew(order, originalInput);
|
||||
} else {
|
||||
return formatOrderFormOld(order, originalInput);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化订单为新模板格式
|
||||
*/
|
||||
private String formatOrderFormNew(JDOrder order, String originalInput) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
// 从原始输入中提取完整的物流链接
|
||||
String originalLogisticsLink = extractOriginalLogisticsLinkNew(originalInput);
|
||||
|
||||
sb.append("单:\n");
|
||||
sb.append(order.getRemark() != null ? order.getRemark() : "").append(" \n");
|
||||
sb.append("分销标记:").append(order.getDistributionMark() != null ? order.getDistributionMark() : "").append("\n");
|
||||
sb.append("第三方单号:").append(order.getThirdPartyOrderNo() != null ? order.getThirdPartyOrderNo() : "").append("\n");
|
||||
sb.append("—————————\n");
|
||||
sb.append("下单链接(必须用这个):\n");
|
||||
sb.append(order.getLink() != null ? order.getLink() : "").append("\n");
|
||||
sb.append("下单地址(注意带分机):\n");
|
||||
sb.append(order.getAddress() != null ? order.getAddress() : "").append("\n");
|
||||
sb.append("—————————\n");
|
||||
sb.append("型号:").append(order.getModelNumber() != null ? order.getModelNumber() : "").append("\n");
|
||||
sb.append("\n");
|
||||
sb.append("下单人(需填):\n");
|
||||
sb.append(order.getBuyer() != null ? order.getBuyer() : "").append("\n");
|
||||
sb.append("下单付款(注意核对):\n");
|
||||
sb.append(order.getPaymentAmount() != null ? order.getPaymentAmount().toString() : "").append("\n");
|
||||
sb.append("后返金额(注意核对):\n");
|
||||
sb.append(order.getRebateAmount() != null ? order.getRebateAmount().toString() : "").append("\n");
|
||||
sb.append("订单号(需填):\n");
|
||||
sb.append(order.getOrderId() != null ? order.getOrderId() : "").append("\n");
|
||||
sb.append("物流链接(需填):\n");
|
||||
// 使用原始输入的完整物流链接,如果没有则使用数据库中的值
|
||||
sb.append(originalLogisticsLink != null ? originalLogisticsLink : (order.getLogisticsLink() != null ? order.getLogisticsLink() : "")).append("\n");
|
||||
sb.append("备注(下单号码有变动/没法带分机号的写这里):\n");
|
||||
sb.append(order.getStatus() != null ? order.getStatus() : "").append("\n");
|
||||
sb.append("—————————\n");
|
||||
sb.append("京粉实际价格:不用填");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化订单为旧模板格式(保持向后兼容)
|
||||
*/
|
||||
private String formatOrderFormOld(JDOrder order, String originalInput) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
// 从原始输入中提取完整的物流链接
|
||||
@@ -1459,6 +1523,24 @@ public class InstructionServiceImpl implements IInstructionService {
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 从原始输入中提取完整的物流链接文本(新格式)
|
||||
*/
|
||||
private String extractOriginalLogisticsLinkNew(String input) {
|
||||
if (input == null || input.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
// 提取"物流链接(需填):"到"备注(下单号码有变动/没法带分机号的写这里):"之间的完整内容
|
||||
java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("物流链接(需填):\\s*(.*?)\\s*(?=备注(下单号码有变动/没法带分机号的写这里):|\\Z)", java.util.regex.Pattern.DOTALL);
|
||||
java.util.regex.Matcher matcher = pattern.matcher(input);
|
||||
if (matcher.find()) {
|
||||
String logisticsLink = matcher.group(1).trim();
|
||||
// 如果为空,返回null
|
||||
return logisticsLink.isEmpty() ? null : logisticsLink;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 从原始输入中提取完整的物流链接文本(不做清理)
|
||||
|
||||
Reference in New Issue
Block a user