This commit is contained in:
Van0313
2025-05-17 00:07:42 +08:00
parent d54bf5affb
commit 622b8b1a9a
3 changed files with 44 additions and 11 deletions

View File

@@ -7,8 +7,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.loggerger;
import org.slf4j.loggergerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.scheduling.annotation.Async;
@@ -75,12 +74,15 @@ public class OrderUtil {
}
}
// 处理价保逻辑
BigDecimal newProPriceAmount = Optional.ofNullable(orderRow.getProPriceAmount()).map(BigDecimal::new).orElse(BigDecimal.ZERO);
// 处理价保逻辑
BigDecimal newProPriceAmount = Optional.ofNullable(orderRow.getProPriceAmount())
.map(BigDecimal::new)
.orElse(BigDecimal.ZERO);
if (BigDecimal.ZERO.compareTo(newProPriceAmount) < 0) {
String oldProPriceAmountStr = getFromRedis(ORDER_ROW_JB_KEY + orderRow.getId());
BigDecimal oldProPriceAmount = oldProPriceAmountStr == null ? BigDecimal.ZERO : new BigDecimal(oldProPriceAmountStr);
BigDecimal oldProPriceAmount = oldProPriceAmountStr == null ?
BigDecimal.ZERO : new BigDecimal(oldProPriceAmountStr);
if (newProPriceAmount.compareTo(oldProPriceAmount) != 0) {
String wxId = getWxidFromJdid(orderRow.getUnionId().toString());
@@ -89,12 +91,13 @@ public class OrderUtil {
String alertMsg = "[Broken][Broken][Broken] 价保提醒 [Broken][Broken][Broken] " + newProPriceAmount + "\n" + content;
wxUtil.sendTextMessage(wxId, alertMsg, 1, wxId, true);
}
}
// 不管是否变动都写入 Redis用于下次比较
redisTemplate.opsForValue().set(ORDER_ROW_JB_KEY + orderRow.getId(), newProPriceAmount.toString());
// 只有发生变动后才更新 Redis
redisTemplate.opsForValue().set(ORDER_ROW_JB_KEY + orderRow.getId(), newProPriceAmount.toString());
}
}
} catch (Exception e) {
logger.error("处理订单微信通知失败: {}", e.getMessage(), e);
// 可加入重试机制或上报监控

View File

@@ -20,6 +20,7 @@ import org.springframework.stereotype.Component;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.CompletableFuture;
/**
* @author Leo
@@ -81,7 +82,7 @@ public class WXUtil {
private final MessageProducerService messageProducerService;
public int sendTimes = 0;
private Environment env;
private static boolean restartNoticeSent = false;
@Autowired
public WXUtil(Environment env, WxtsUtil wxTsUtil, @Lazy MessageProducerService messageProducerService) {
this.messageProducerService = messageProducerService;
@@ -124,6 +125,9 @@ public class WXUtil {
// 初始化超级管理员
public void initSuperAdmins() {
if (restartNoticeSent) {
return;
}
SuperAdmin admin1 = new SuperAdmin("wxid_ytpc72mdoskt22", "", "2014264913", "98e21c89ae5610240ec3f5f575f86a59", "3dcb6b23a1104639ac433fd07adb6dfb");
super_admins.put(admin1.getWxid() + admin1.getUnionId(), admin1);
jdidToWxidMap.put(admin1.getUnionId(), admin1.getWxid());
@@ -211,11 +215,20 @@ public class WXUtil {
// 舵手群48621589056@chatroom"曲莉亚@河南慧推电子商务有限公司、齐学法@河南慧推电子商务有限公司"为企业微信用户,<_wc_custom_link_ href="https://weixin.qq.com/cgi-bin/newreadtemplate?t=work_wechat/about_group">了解更多</_wc_custom_link_>。
chatRoom_xb.put("48621589056@chatroom", "舵手");
//发送通知到微信
String messageContent = "Jarvis 重启完成 [亲亲][亲亲][亲亲] ";
String fromWxid = default_bot_wxid; // 来源为机器人自身
super_admins.forEach((wxid, superAdmin) -> {
sendTextMessage(wxid, "Jarvis 重启完成 [亲亲][亲亲][亲亲] ", 1, wxid, false);
try {
// 异步发送,不影响启动流程
CompletableFuture.runAsync(() -> sendTextMessage(wxid.substring(0, 19), messageContent, 1, fromWxid, false));
} catch (Exception e) {
logger.warn("发送重启通知失败,目标 wxid: {}", wxid, e);
}
});
restartNoticeSent = true;
}
// 获取微信列表

View File

@@ -0,0 +1,17 @@
package cn.van.business.util;
/**
* @author Leo
* @version 1.0
* @create 2025/5/17 00:05
* @description
*/
public class test {
public static class Main {
public static void main(String[] args) {
String str = "wxid_cfmrk2upjtf322";
int length = str.length();
System.out.println("字符串长度是: " + length); // 输出15
}
}
}