This commit is contained in:
Leo
2025-04-04 01:50:27 +08:00
parent 3be388f8e8
commit 78865292a9

View File

@@ -44,7 +44,8 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import static cn.van.business.util.JDUtil.UserInteractionState.GiftMoneyStep.*;
import static cn.van.business.util.JDUtil.UserInteractionState.ProcessState.*;
import static cn.van.business.util.JDUtil.UserInteractionState.ProcessState.DISINFECTANT_CABINET;
import static cn.van.business.util.JDUtil.UserInteractionState.ProcessState.INIT;
import static cn.van.business.util.JDUtil.UserInteractionState.ProductOrderStep.*;
import static cn.van.business.util.WXUtil.super_admins;
@@ -606,7 +607,7 @@ public class JDUtil {
// return response;
//}
private void handleUserInteraction(String fromWxid, String message) {
private void handleUserInteraction(String fromWxid, String message) {
String key = INTERACTION_STATE_PREFIX + fromWxid;
String stateJson = redisTemplate.opsForValue().get(key);
UserInteractionState state;
@@ -659,7 +660,7 @@ private void handleUserInteraction(String fromWxid, String message) {
// 第一次输入文案,直接生成内容
List<String> messages = generatePromotionContent(message); // 不需要图片和SKU名称
for (String s : messages) {
wxUtil.sendTextMessage(fromWxid, s , 1, fromWxid);
wxUtil.sendTextMessage(fromWxid, s, 1, fromWxid);
}
// 询问是否需要继续转链
@@ -702,7 +703,8 @@ private void handleUserInteraction(String fromWxid, String message) {
} catch (Exception e) {
logger.error("Error saving interaction state: {}", e.getMessage());
}
}
}
// 新增方法:处理文案中的链接并进行转链
private String transferContentWithLinks(String message) {
List<String> urls = extractUJDUrls(message);
@@ -1126,26 +1128,31 @@ private void handleUserInteraction(String fromWxid, String message) {
StringBuilder images = new StringBuilder();
if (productInfo.getData()[0].getImageInfo() != null) {
images.append(" ").append("图片信息:\n");
int index = 1;
for (UrlInfo image : productInfo.getData()[0].getImageInfo().getImageList()) {
images.append(" ").append(image.getUrl()).append("\n");
images.append("图片 ").append(index++).append("\n").append(image.getUrl()).append("\n");
}
}
results.add(String.valueOf(images));
resultList.add(itemMap);
}
results.add(String.valueOf(couponInfo));
} catch (Exception e) {
logger.error("处理商品链接时发生异常:{}", url, e);
couponInfo.append(" 处理商品链接时发生异常:").append(url).append("\n");
couponInfo.append(" 处理商品链接时发生异常:").append(url).append("\n");
}
}
StringBuilder wenan = new StringBuilder().append("文案生成: \n");
// 完成转链后替换链接为u.jd.com链接文案不修改就返回
for (String s : urls) {
String transferUrl = transfer(s);
wenan = new StringBuilder(message.replace(s, transferUrl));
for (HashMap<String, String> stringStringHashMap : resultList) {
String transferUrl = transfer(stringStringHashMap.get("materialUrl"));
wenan = new StringBuilder(message.replace(stringStringHashMap.get("url"), transferUrl));
}
results.add(String.valueOf(wenan));
return results;
@@ -1493,7 +1500,7 @@ private void handleUserInteraction(String fromWxid, String message) {
// 推荐使用枚举管理状态
public enum ProcessState {
INIT, GIFT_MONEY_FLOW, DISINFECTANT_CABINET, PRODUCT_ORDER_REGISTRATION,PRODUCT_PROMOTION
INIT, GIFT_MONEY_FLOW, DISINFECTANT_CABINET, PRODUCT_ORDER_REGISTRATION, PRODUCT_PROMOTION
}
public enum GiftMoneyStep {