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