1
This commit is contained in:
@@ -443,9 +443,8 @@ private String handleTF(String input) {
|
|||||||
* 10.10 腾锋 JY202510093195 ZQD180F-EB200 1 石**[7796] 13243039070 上海市 上海市 普陀区 水泉南路58弄3-12-502[阿15783543077转7796] 1650 有货 2
|
* 10.10 腾锋 JY202510093195 ZQD180F-EB200 1 石**[7796] 13243039070 上海市 上海市 普陀区 水泉南路58弄3-12-502[阿15783543077转7796] 1650 有货 2
|
||||||
* 型号,地址,电话的处理逻辑不变,将10.10 腾锋 JY202510093195 设置成分销标识这个字段,比如之前是H-TF,现在改成H-TF(10.10 腾锋 JY202510093195)
|
* 型号,地址,电话的处理逻辑不变,将10.10 腾锋 JY202510093195 设置成分销标识这个字段,比如之前是H-TF,现在改成H-TF(10.10 腾锋 JY202510093195)
|
||||||
* */
|
* */
|
||||||
if (parts.length >= 3) {
|
if (parts.length >= 7) { // 至少需要分销信息(3) + 型号(1) + 数量(1) + 姓名(1) + 电话(1) = 7个字段
|
||||||
// 新增部分:处理分销标记
|
// 处理分销标记: 取前3个字段作为分销信息
|
||||||
String fenxiaoInfo = "";
|
|
||||||
StringBuilder fenxiaoBuilder = new StringBuilder("H-TF");
|
StringBuilder fenxiaoBuilder = new StringBuilder("H-TF");
|
||||||
StringBuilder extraInfo = new StringBuilder();
|
StringBuilder extraInfo = new StringBuilder();
|
||||||
for (int i = 0; i < Math.min(3, parts.length); i++) {
|
for (int i = 0; i < Math.min(3, parts.length); i++) {
|
||||||
@@ -459,41 +458,59 @@ private String handleTF(String input) {
|
|||||||
if (extraInfo.length() > 0) {
|
if (extraInfo.length() > 0) {
|
||||||
fenxiaoBuilder.append("(").append(extraInfo).append(")");
|
fenxiaoBuilder.append("(").append(extraInfo).append(")");
|
||||||
}
|
}
|
||||||
fenxiaoInfo = fenxiaoBuilder.toString();
|
String fenxiaoInfo = fenxiaoBuilder.toString();
|
||||||
|
|
||||||
String modelNumber = parts[Math.max(0, parts.length - 5)].replace("\\n", ""); // 型号
|
// 提取型号(第4个字段)
|
||||||
String quantityStr = parts[Math.max(0, parts.length - 4)]; // 数量
|
String modelNumber = parts[3].replace("\\n", "");
|
||||||
StringBuilder address = new StringBuilder();
|
|
||||||
// 使用正则表达式提取中文字符(常用于姓名开头)
|
// 提取数量(第5个字段)
|
||||||
Pattern pattern = Pattern.compile("[\\u4E00-\\u9FA5]+");
|
String quantityStr = parts[4];
|
||||||
String namePart = parts[Math.max(0, parts.length - 3)];
|
|
||||||
Matcher matcher = pattern.matcher(namePart);
|
// 提取姓名部分(第6个字段)
|
||||||
if (matcher.find()) {
|
String namePart = parts[5];
|
||||||
address = new StringBuilder(matcher.group());
|
|
||||||
}
|
// 提取电话(第7个字段)
|
||||||
String phone = parts[Math.max(0, parts.length - 2)];
|
String phone = parts[6];
|
||||||
//从phoneWithTF随机拿一个出来
|
//从phoneWithTF随机拿一个出来
|
||||||
if ("13243039070".equals(phone)) {
|
if ("13243039070".equals(phone)) {
|
||||||
phone = phoneWithTF.get(new Random().nextInt(phoneWithTF.size()));
|
phone = phoneWithTF.get(new Random().nextInt(phoneWithTF.size()));
|
||||||
}
|
}
|
||||||
address.append(phone);
|
|
||||||
System.out.println(address);
|
// 构建地址:姓名+电话+地址信息
|
||||||
for (int i = Math.max(0, parts.length - 1); i < parts.length; i++) {
|
StringBuilder address = new StringBuilder();
|
||||||
address.append(parts[i]);
|
|
||||||
|
// 使用正则表达式提取中文字符(常用于姓名开头)
|
||||||
|
Pattern pattern = Pattern.compile("[\\u4E00-\\u9FA5]+");
|
||||||
|
Matcher matcher = pattern.matcher(namePart);
|
||||||
|
if (matcher.find()) {
|
||||||
|
address = new StringBuilder(matcher.group());
|
||||||
}
|
}
|
||||||
|
address.append(phone);
|
||||||
|
|
||||||
|
// 添加地址信息(从第8个字段开始的所有剩余内容)
|
||||||
|
for (int i = 7; i < parts.length; i++) {
|
||||||
|
if (!parts[i].trim().isEmpty()) {
|
||||||
|
// 过滤掉纯数字的价格信息
|
||||||
|
if (!parts[i].matches("^\\d+$") && !parts[i].matches("^[有无缺]货$")) {
|
||||||
|
address.append(parts[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String jf = productJdConfigService.getJdUrlByProductModel(modelNumber);
|
String jf = productJdConfigService.getJdUrlByProductModel(modelNumber);
|
||||||
|
|
||||||
StringBuilder order = new StringBuilder();
|
StringBuilder order = new StringBuilder();
|
||||||
order.append("生").append("\n").append(fenxiaoInfo).append("\n").append(modelNumber).append("\n").append(jf).append("\n").append(quantityStr).append("\n").append(address);
|
order.append("生").append("\n").append(fenxiaoInfo).append("\n").append(modelNumber).append("\n").append(jf).append("\n").append(quantityStr).append("\n").append(address);
|
||||||
outputs.add(generateOrderText(order.toString()));
|
outputs.add(generateOrderText(order.toString()));
|
||||||
} else {
|
} else {
|
||||||
outputs.add("TF 指令格式:TF\t分销信息\t分销信息\t分销信息\t型号\t数量\t地址(可含其它字段) ;也支持多行,每行一条数据");
|
outputs.add("TF 指令格式:TF\t分销信息\t分销信息\t分销信息\t型号\t数量\t姓名\t电话\t地址 ;也支持多行,每行一条数据");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return String.join("\n\n", outputs);
|
return String.join("\n\n", outputs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String handleH(String input) {
|
private String handleH(String input) {
|
||||||
String[] lines = input.replaceFirst("^H", "").split("\n");
|
String[] lines = input.replaceFirst("^H", "").split("\n");
|
||||||
if (lines.length < 3) return "H 指令需三行:姓名[后缀]\n电话\n地址 … [后缀] 型号";
|
if (lines.length < 3) return "H 指令需三行:姓名[后缀]\n电话\n地址 … [后缀] 型号";
|
||||||
|
|||||||
Reference in New Issue
Block a user