From 72b94a22b0bd9494ac63cd2bc1a2f1df422376bd Mon Sep 17 00:00:00 2001 From: ZiJIe <17738440858@163.com> Date: Wed, 25 Jun 2025 11:53:18 +0800 Subject: [PATCH] 222 --- .../controller/tool/BanmaOrderController.java | 3 +-- .../controller/tool/WebMagicController.java | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/BanmaOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/BanmaOrderController.java index b1233b67..678ee13c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/BanmaOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/BanmaOrderController.java @@ -274,8 +274,7 @@ public class BanmaOrderController extends BaseController { Thread thread = new Thread(() -> { try { - int size = 20; - // 若已超时或已完成则不处理 + int size = 20; if (deferredResult.isSetOrExpired()) return; R>> pageResult = getOrders(page, size); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WebMagicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WebMagicController.java index 36ee578b..b37232fd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WebMagicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/WebMagicController.java @@ -99,7 +99,7 @@ public class WebMagicController extends BaseController implements PageProcessor private void loadProxyConfig() { try { //File configFile = ResourceUtils.getFile("classpath:test_proxy.yml"); - File configFile = new File("/www/java_mall/erp/config/test_proxy.yml"); + File configFile = new File("/www/java_mall/erp/config/test_proxy.yml"); if (configFile.exists()) { Yaml yaml = new Yaml(); try (InputStream inputStream = new FileInputStream(configFile)) { @@ -176,10 +176,8 @@ public class WebMagicController extends BaseController implements PageProcessor if (priceSymbol != null && !priceSymbol.isEmpty() && priceWhole != null && !priceWhole.isEmpty()) { resultMap.put("price", priceSymbol + priceWhole); } - resultMap.put("seller", html.xpath("//a[@id='sellerProfileTriggerId']/text()").toString()); resultMap.put("asin", html.xpath("//input[@id='ASIN']/@value").toString()); - String price = (String) resultMap.get("price"); String seller = (String) resultMap.get("seller"); Object retriesObj = page.getRequest().getExtra("retries"); @@ -268,12 +266,25 @@ public class WebMagicController extends BaseController implements PageProcessor .setDownloader(getProxyDownloader()) .thread(1); spider.run(); + String price = (String) resultMap.get("price"); + String resultAsin = (String) resultMap.get("asin"); + if ((resultAsin == null || resultAsin.isEmpty() || price == null || price.isEmpty())) { + Thread.sleep(1000 + random.nextInt(2000)); + logger.info("ASIN:{} 的价格或ASIN为空,进行一次重试", asin); + + resultMap = new HashMap<>(); + resultMap.put("asin", asin); + + spider = Spider.create(this) + .addUrl(url) + .setDownloader(getProxyDownloader()) + .thread(1); + spider.run(); + } } finally { clearSystemProxy(); } - resultList.add(new HashMap<>(resultMap)); - } deferredResult.setResult(ResponseEntity.ok(R.ok(resultList))); } catch (Exception e) {