From 31ecfa6a2fc3439ccb6efdbc890d7531df3ee9f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=92?= Date: Mon, 3 Nov 2025 19:49:12 +0800 Subject: [PATCH] 1 --- .../controller/jd/JDInnerController.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/java/cn/van/business/controller/jd/JDInnerController.java b/src/main/java/cn/van/business/controller/jd/JDInnerController.java index edc07e9..763b09f 100644 --- a/src/main/java/cn/van/business/controller/jd/JDInnerController.java +++ b/src/main/java/cn/van/business/controller/jd/JDInnerController.java @@ -174,7 +174,7 @@ public class JDInnerController { // 准备候选评论列表 List candidateComments = new ArrayList<>(); List candidateSources = new ArrayList<>(); // 记录来源,用于标识是京东还是淘宝 - + // 添加已使用过的京东评论 if (!usedComments.isEmpty()) { Collections.shuffle(usedComments); @@ -182,7 +182,7 @@ public class JDInnerController { candidateSources.add("JD"); logger.info("已添加已使用过的京东评论到候选列表"); } - + // 添加已使用过的淘宝评论 String taobaoProductIdMap = tbMap.getOrDefault(productId, null); if (taobaoProductIdMap != null && !taobaoProductIdMap.isEmpty()) { @@ -193,14 +193,14 @@ public class JDInnerController { logger.info("已添加已使用过的淘宝评论到候选列表"); } } - + // 如果候选列表不为空,随机选择 if (!candidateComments.isEmpty()) { Random random = new Random(); int selectedIndex = random.nextInt(candidateComments.size()); commentToUse = candidateComments.get(selectedIndex); String selectedSource = candidateSources.get(selectedIndex); - + if ("TB".equals(selectedSource)) { isTb = true; logger.info("随机选择:使用已使用过的淘宝评论"); @@ -301,9 +301,9 @@ public class JDInnerController { // 查询未使用的评论(isUse != 1,即0或null) taobaoComments = taobaoCommentRepository.findByProductIdAndIsUseNotAndPictureUrlsIsNotNull(taobaoProductId, 1); } - + logger.info("taobaoComments.size() {} (includeUsed={})", taobaoComments.size(), includeUsed); - + if (!taobaoComments.isEmpty()) { Collections.shuffle(taobaoComments); TaobaoComment selected = taobaoComments.get(0); @@ -319,7 +319,7 @@ public class JDInnerController { comment.setProductId(product_id); comment.setUserName(selected.getUserName()); comment.setCreatedAt(selected.getCreatedAt()); - + // 只在获取未使用的评论时才标记为已使用 if (!includeUsed) { selected.setIsUse(1); @@ -376,19 +376,19 @@ public class JDInnerController { try { String giftKey = jdProductService.createGiftCoupon(idOrUrl, amount, quantity, owner, skuName); - + // 如果giftKey为null,返回错误而不是成功响应 if (giftKey == null || giftKey.trim().isEmpty()) { - String errorDetail = String.format("礼金创建失败,giftCouponKey为null。参数: idOrUrl=%s, amount=%.2f, quantity=%d, owner=%s, skuName=%s。可能原因:商品不支持创建礼金、商品类型错误、京东API调用失败。请查看JD项目日志获取详细信息。", + String errorDetail = String.format("礼金创建失败,giftCouponKey为null。参数: idOrUrl=%s, amount=%.2f, quantity=%d, owner=%s, skuName=%s。可能原因:商品不支持创建礼金、商品类型错误、京东API调用失败。请查看JD项目日志获取详细信息。", idOrUrl, amount, quantity, owner, skuName); logger.error("礼金创建失败 - giftKey为null, {}", errorDetail); return error(errorDetail); } - + // 创建成功,保存到Redis jdProductService.saveGiftCouponToRedis(idOrUrl, giftKey, skuName, owner); logger.info("礼金创建成功 - giftKey={}, idOrUrl={}, owner={}, amount={}, quantity={}", giftKey, idOrUrl, owner, amount, quantity); - + JSONObject resp = new JSONObject(); resp.put("giftCouponKey", giftKey); return resp; @@ -431,14 +431,14 @@ public class JDInnerController { if (checkSkey(skey)) { return error("invalid skey"); } - + String skuId = body.get("skuId") != null ? String.valueOf(body.get("skuId")) : null; String materialUrl = body.get("materialUrl") != null ? String.valueOf(body.get("materialUrl")) : null; String owner = body.get("owner") != null ? String.valueOf(body.get("owner")) : "g"; String skuName = body.get("skuName") != null ? String.valueOf(body.get("skuName")) : ""; - double amount = parseDouble(body.get("amount"), 1.0); + double amount = parseDouble(body.get("amount"), 1.8); int quantity = parseInt(body.get("quantity"), 1); - int batchSize = parseInt(body.get("batchSize"), 20); + int batchSize = parseInt(body.get("batchSize"), 15); String idOrUrl = skuId != null && !skuId.trim().isEmpty() ? skuId : materialUrl; if (idOrUrl == null || idOrUrl.trim().isEmpty()) { @@ -451,13 +451,13 @@ public class JDInnerController { return error("batchSize must be between 1 and 100"); } - logger.info("批量创建礼金券请求 - idOrUrl={}, amount={}, quantity={}, batchSize={}, owner={}, skuName={}", + logger.info("批量创建礼金券请求 - idOrUrl={}, amount={}, quantity={}, batchSize={}, owner={}, skuName={}", idOrUrl, amount, quantity, batchSize, owner, skuName); try { List> results = jdProductService.batchCreateGiftCouponsWithLinks( idOrUrl, amount, quantity, batchSize, owner, skuName); - + int successCount = 0; int failCount = 0; for (Map result : results) { @@ -467,13 +467,13 @@ public class JDInnerController { failCount++; } } - + JSONObject resp = new JSONObject(); resp.put("results", results); resp.put("total", batchSize); resp.put("successCount", successCount); resp.put("failCount", failCount); - + logger.info("批量创建礼金券完成 - 总数={}, 成功={}, 失败={}", batchSize, successCount, failCount); return resp; } catch (Exception e) { @@ -497,7 +497,7 @@ public class JDInnerController { tips.put("tip", "请在Postman的Body标签中选择raw/JSON格式,并输入: {\"skey\": \"your_skey_here\"}"); return tips; } - + String skey = body.get("skey") != null ? String.valueOf(body.get("skey")) : null; if (checkSkey(skey)) { return error("invalid skey");