抽离礼金
This commit is contained in:
@@ -182,30 +182,44 @@ public class JDUtil {
|
||||
return "地址格式不匹配";
|
||||
}
|
||||
|
||||
public void sendOrderToWxByOrderDefault(String order, String fromWxid) {
|
||||
logger.info("执行 sendOrderToWxByOrderDefault 方法,order: {}, fromWxid: {}", order, fromWxid);
|
||||
public void sendOrderToWxByOrderDefault(String order, String fromWxid) {
|
||||
logger.info("执行 sendOrderToWxByOrderDefault 方法,order: {}, fromWxid: {}", order, fromWxid);
|
||||
|
||||
if ("礼".equals(order)) {
|
||||
// 确保缓存中有消息内容
|
||||
String cachedMessage = cacheMap.get("giftMessage" + fromWxid);
|
||||
if (cachedMessage == null || cachedMessage.trim().isEmpty()) {
|
||||
wxUtil.sendTextMessage(fromWxid, "未找到商品链接,请重新输入包含商品链接的消息。", 1, fromWxid, false);
|
||||
return;
|
||||
}
|
||||
handleGiftCommand(fromWxid);
|
||||
} else {
|
||||
handleUserInteraction(fromWxid, order);
|
||||
}
|
||||
}
|
||||
|
||||
if ("礼".equals(order)) {
|
||||
handleGiftCommand(fromWxid, cacheMap.get("giftMessage" + fromWxid));
|
||||
} else {
|
||||
handleUserInteraction(fromWxid, order);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理“礼”指令,直接进入礼金创建流程
|
||||
*/
|
||||
private void handleGiftCommand(String fromWxid, String message) {
|
||||
private void handleGiftCommand(String fromWxid) {
|
||||
try {
|
||||
// 1. 提取 u.jd.com 链接
|
||||
List<String> urls = extractUJDUrls(message);
|
||||
// 从缓存中获取消息内容
|
||||
String cachedMessage = cacheMap.get("giftMessage" + fromWxid);
|
||||
if (cachedMessage == null || cachedMessage.trim().isEmpty()) {
|
||||
wxUtil.sendTextMessage(fromWxid, "未找到商品链接,请重新输入包含商品链接的消息。", 1, fromWxid, false);
|
||||
return;
|
||||
}
|
||||
|
||||
// 提取 u.jd.com 链接
|
||||
List<String> urls = extractUJDUrls(cachedMessage);
|
||||
if (urls.isEmpty()) {
|
||||
wxUtil.sendTextMessage(fromWxid, "未找到有效的商品链接,请检查输入格式。", 1, fromWxid, false);
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. 查询商品信息,筛选有效商品
|
||||
// 查询商品信息,筛选有效商品
|
||||
List<GoodsQueryResult> validProducts = new ArrayList<>();
|
||||
for (String url : urls) {
|
||||
try {
|
||||
@@ -223,7 +237,7 @@ private void handleGiftCommand(String fromWxid, String message) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 3. 缓存商品信息
|
||||
// 缓存商品信息
|
||||
String key = INTERACTION_STATE_PREFIX + fromWxid;
|
||||
UserInteractionState state = loadOrCreateState(key);
|
||||
|
||||
@@ -236,7 +250,7 @@ private void handleGiftCommand(String fromWxid, String message) {
|
||||
|
||||
saveState(key, state);
|
||||
|
||||
// 4. 提示用户输入金额
|
||||
// 提示用户输入金额
|
||||
wxUtil.sendTextMessage(fromWxid, "请输入开通金额(1-50元,支持小数点后两位):", 1, fromWxid, false);
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
Reference in New Issue
Block a user