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