This commit is contained in:
2025-12-13 13:48:42 +08:00
parent 9a8c7b1039
commit b86c4bea88

View File

@@ -60,12 +60,12 @@ public class InstructionServiceImpl implements IInstructionService {
public List<String> execute(String command) {
return execute(command, false);
}
@Override
public List<String> execute(String command, boolean forceGenerate) {
return execute(command, forceGenerate, false);
}
@Override
public List<String> execute(String command, boolean forceGenerate, boolean isFromConsole) {
// 存储接收的消息到Redis队列
@@ -228,11 +228,11 @@ public class InstructionServiceImpl implements IInstructionService {
private List<String> handleRecordLikeMulti(String input) {
return handleRecordLikeMulti(input, false, false);
}
private List<String> handleRecordLikeMulti(String input, boolean forceGenerate) {
return handleRecordLikeMulti(input, forceGenerate, false);
}
private List<String> handleRecordLikeMulti(String input, boolean forceGenerate, boolean isFromConsole) {
// 仅实现“慢搜/慢查 关键词”与“录单/慢单 日期范围”的只读输出,避免侵入写库
if (input.startsWith("慢搜") || input.startsWith("慢查")) {
@@ -644,14 +644,14 @@ public class InstructionServiceImpl implements IInstructionService {
static {
/*
13723151190
18839187854
15639125541
留着三个
13243039070
15639125541
15514786055
*/
phoneWithTF.add("15639125541");
phoneWithTF.add("13243039070");
phoneWithTF.add("15514786055");
}
@@ -667,7 +667,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handleTF(String input) {
return handleTF(input, false);
}
private String handleTF(String input, boolean forceGenerate) {
String body = input.replaceFirst("^TF\\s*", "");
body = body.replaceAll("[啊阿]", "");
@@ -703,7 +703,7 @@ public class InstructionServiceImpl implements IInstructionService {
// 提取电话第7个字段
String phone = parts[6];
// 将触发号码替换为 phoneWithTF 列表中的号码,按顺序循环
if (("13243039070".equals(phone) || "17530176250".equals(phone)) && !phoneWithTF.isEmpty()) {
if (("13243039070".equals(phone) ) && !phoneWithTF.isEmpty()) {
String originalPhone = phone;
if (stringRedisTemplate != null) {
try {
@@ -765,7 +765,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handleH(String input) {
return handleH(input, false);
}
private String handleH(String input, boolean forceGenerate) {
return handleHLike(input, "H", "H", forceGenerate);
}
@@ -773,7 +773,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handleW(String input) {
return handleW(input, false);
}
private String handleW(String input, boolean forceGenerate) {
return handleHLike(input, "W", "W", forceGenerate);
}
@@ -781,7 +781,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handleHLike(String input, String commandKeyword, String distributionMark) {
return handleHLike(input, commandKeyword, distributionMark, false);
}
private String handleHLike(String input, String commandKeyword, String distributionMark, boolean forceGenerate) {
String cleaned = input.replaceFirst("^" + Pattern.quote(commandKeyword), "");
if (cleaned.startsWith("\n")) {
@@ -815,7 +815,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handleSheng(String input) {
return handleSheng(input, false);
}
private String handleSheng(String input, boolean forceGenerate) {
// 输入格式:
// 生\n分销标记\n型号\n转链链接\n数量\n地址
@@ -876,7 +876,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handlePDD(String input) {
return handlePDD(input, false);
}
private String handlePDD(String input, boolean forceGenerate) {
return handlePDDWithMark(input, "拼多多", "PDD", forceGenerate);
}
@@ -884,7 +884,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handlePDDW(String input) {
return handlePDDW(input, false);
}
private String handlePDDW(String input, boolean forceGenerate) {
return handlePDDWithMark(input, "拼多多 W", "PDD-W", forceGenerate);
}
@@ -892,7 +892,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String handlePDDWithMark(String input, String commandKeyword, String distributionMark) {
return handlePDDWithMark(input, commandKeyword, distributionMark, false);
}
private String handlePDDWithMark(String input, String commandKeyword, String distributionMark, boolean forceGenerate) {
// 拼多多新格式:
// <指令>251102-457567158704072
@@ -1087,7 +1087,7 @@ public class InstructionServiceImpl implements IInstructionService {
private String generateOrderText(String shengInput, String providedThirdPartyOrderNo) {
return generateOrderText(shengInput, providedThirdPartyOrderNo, false);
}
private String generateOrderText(String shengInput, String providedThirdPartyOrderNo, boolean forceGenerate) {
String[] split = shengInput.split("\n");
// 第一行可能是 生 或 生{备注}
@@ -1279,11 +1279,11 @@ public class InstructionServiceImpl implements IInstructionService {
private String handleDanWriteDb(String input) {
return handleDanWriteDb(input, false, false);
}
private String handleDanWriteDb(String input, boolean forceGenerate) {
return handleDanWriteDb(input, forceGenerate, false);
}
private String handleDanWriteDb(String input, boolean forceGenerate, boolean isFromConsole) {
// 保存原始输入,用于返回前端时保留完整物流链接
String originalInput = input.trim().replace("", "");
@@ -1376,7 +1376,7 @@ public class InstructionServiceImpl implements IInstructionService {
// 判断新增/更新:所有入口都优先根据订单号更新(用于刷新数据)
JDOrder exists = null;
// 如果订单号不为空,优先根据订单号查找已存在的订单(用于刷新数据)
if (!isEmpty(order.getOrderId())) {
exists = jdOrderService.selectJDOrderByOrderId(order.getOrderId());
@@ -1386,7 +1386,7 @@ public class InstructionServiceImpl implements IInstructionService {
jdOrderService.updateJDOrder(order);
}
}
// 如果没有通过订单号找到,则按 remark 判断新增/更新
if (exists == null) {
exists = jdOrderService.selectJDOrderByRemark(order.getRemark());
@@ -1908,17 +1908,17 @@ public class InstructionServiceImpl implements IInstructionService {
// 提取订单号订单343216308806
Pattern orderPattern = Pattern.compile("订单[:]\\s*(\\d+)");
Matcher matcher = orderPattern.matcher(message);
if (matcher.find()) {
String orderId = matcher.group(1);
// 查找订单
JDOrder order = jdOrderService.selectJDOrderByOrderId(orderId);
if (order != null) {
// 设置后返到账状态为1并设置到账日期为当前时间
order.setIsRebateReceived(1);
order.setRebateReceivedDate(new Date());
// 更新订单
int updateResult = jdOrderService.updateJDOrder(order);
if (updateResult > 0) {
@@ -1947,18 +1947,18 @@ public class InstructionServiceImpl implements IInstructionService {
public void batchMarkRebateReceivedForCompensation() {
try {
System.out.println("开始批量标记后返到账(赔付金额>0的订单...");
// 查询所有订单
List<JDOrder> allOrders = jdOrderService.selectJDOrderList(new JDOrder());
// 查询所有订单的赔付金额从OrderRows表
int updatedCount = 0;
int skippedCount = 0;
for (JDOrder order : allOrders) {
// 查询订单的赔付金额
OrderRows orderRows = orderRowsService.selectOrderRowsByOrderId(order.getOrderId());
if (orderRows != null && orderRows.getProPriceAmount() != null && orderRows.getProPriceAmount() > 0) {
// 如果赔付金额大于0且后返到账状态不是1则更新
if (order.getIsRebateReceived() == null || order.getIsRebateReceived() != 1) {
@@ -1967,11 +1967,11 @@ public class InstructionServiceImpl implements IInstructionService {
if (order.getRebateReceivedDate() == null) {
order.setRebateReceivedDate(new Date());
}
int updateResult = jdOrderService.updateJDOrder(order);
if (updateResult > 0) {
updatedCount++;
System.out.println("✓ 标记后返到账 - 订单号: " + order.getOrderId() +
System.out.println("✓ 标记后返到账 - 订单号: " + order.getOrderId() +
", 赔付金额: " + orderRows.getProPriceAmount());
} else {
System.err.println("✗ 更新失败 - 订单号: " + order.getOrderId());
@@ -1983,12 +1983,12 @@ public class InstructionServiceImpl implements IInstructionService {
skippedCount++;
}
}
System.out.println("批量标记完成!");
System.out.println("更新数量: " + updatedCount);
System.out.println("跳过数量: " + skippedCount);
System.out.println("总计: " + allOrders.size());
} catch (Exception e) {
System.err.println("✗ 批量标记后返到账时发生异常: " + e.getMessage());
e.printStackTrace();