diff --git a/src/main/java/cn/van/business/util/JDUtil.java b/src/main/java/cn/van/business/util/JDUtil.java index 5518933..b552a3d 100644 --- a/src/main/java/cn/van/business/util/JDUtil.java +++ b/src/main/java/cn/van/business/util/JDUtil.java @@ -677,9 +677,12 @@ private void handleGiftMoneyFlow(String fromWxid, String message, UserInteractio } try { + String skuId = ""; + double amount = 0.0; + String owner = "自营"; switch (state.getCurrentStep()) { case STEP_PRODUCT_LINK: - String skuId = parseSkuFromUrl(message); + skuId = parseSkuFromUrl(message); logger.debug("用户 {} 输入商品链接:{}, 解析出SKU: {}", fromWxid, message, skuId); // 新增 if (skuId == null) { wxUtil.sendTextMessage(fromWxid, "❌ 商品链接格式错误,请重新输入", 1, fromWxid); @@ -693,18 +696,13 @@ private void handleGiftMoneyFlow(String fromWxid, String message, UserInteractio // return; //} - //BigFieldGoodsResp productInfo = queryResult.getData()[0]; - //String owner = productInfo.getOwner(); - //state.getCollectedFields().put("skuId", skuId); - //state.getCollectedFields().put("productInfo", productInfo.getBaseBigFieldInfo().getWdis()); - //state.getCollectedFields().put("owner", owner); - // - //logger.debug("商品信息已收集:SKU={}, Owner={}, WDIS={}", skuId, owner, productInfo.getBaseBigFieldInfo().getWdis()); // 新增 - - // 这两行临时代码 - String productInfo = skuId; - String owner = "自营"; + BigFieldGoodsResp productInfo = queryResult.getData()[0]; + owner = productInfo.getOwner(); + state.getCollectedFields().put("skuId", skuId); + state.getCollectedFields().put("productInfo", productInfo.getBaseBigFieldInfo().getWdis()); + state.getCollectedFields().put("owner", owner); + logger.debug("商品信息已收集:SKU={}, Owner={}, WDIS={}", skuId, owner, productInfo.getBaseBigFieldInfo().getWdis()); // 新增 state.setCurrentStep(STEP_AMOUNT); String prompt = String.format("商品信息:\n%s请输入开通金额(元):", productInfo); @@ -718,7 +716,7 @@ private void handleGiftMoneyFlow(String fromWxid, String message, UserInteractio return; } - double amount = Double.parseDouble(message); + amount = Double.parseDouble(message); logger.debug("校验金额:{} 元(商品价格的80%:{})", amount, 0.8 * Double.parseDouble(state.getCollectedFields().get("price"))); // 新增 if (amount < 1 || amount > 0.8 * Double.parseDouble(state.getCollectedFields().get("price"))) { wxUtil.sendTextMessage(fromWxid, "❌ 金额需≥1元且≤商品价格的80%", 1, fromWxid);