瀏覽代碼

增加爬虫库图片、规格书更新接口

wangyc 8 年之前
父節點
當前提交
366d099648

+ 1 - 1
src/main/java/com/uas/platform/b2c/external/erp/order/service/impl/OrderServiceImpl.java

@@ -44,7 +44,7 @@ public class OrderServiceImpl implements OrderService {
 	}
 
 	@Override
-	public List<Order> findAllUnReceived() {
+	public List<Order> findUnReceived(String test) {
 		// 要获取的采购的状态
 		SimpleExpression status1 = PredicateUtils.eq("status", Status.TOBECONFIRMED.value(), true);
 		SimpleExpression status2 = PredicateUtils.eq("status", Status.CONFIRMED.value(), true);

+ 62 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/api/ComponentCrawlController.java

@@ -0,0 +1,62 @@
+package com.uas.platform.b2c.prod.product.component.api;
+
+import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.prod.product.component.service.ComponentCrawlService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 用于操作爬虫表
+ *
+ * @version 2017/11/17 16:06 wangyc
+ */
+@RestController("api.ComponentCrawlController")
+@RequestMapping("/api/product/componentCrawl")
+public class ComponentCrawlController {
+
+    @Autowired
+    private ComponentCrawlService componentCrawlService;
+
+    /**
+     * 通过taskid获取下载图片路径
+     * @param taskId
+     * @return
+     */
+    @RequestMapping(value = "/download/img/{taskId}", method = RequestMethod.GET)
+    public List<String> downloadImg(@PathVariable("taskId") String taskId) {
+        return componentCrawlService.downloadImg(taskId);
+    }
+
+    /**
+     * 通过taskid获取下载规格书路径
+     * @param taskId
+     * @return
+     */
+    @RequestMapping(value = "/download/attach/{taskId}", method = RequestMethod.GET)
+    public List<String> downloadAttach(@PathVariable("taskId") String taskId) {
+        return componentCrawlService.downloadAttach(taskId);
+    }
+
+    /**
+     * 上传图片
+     * @param json
+     */
+    @RequestMapping(value = "/upload/img", method = RequestMethod.POST)
+    public String uploadImg(@RequestBody String json) {
+        JSONObject jsonObject = FastjsonUtils.parseObject(json);
+        return componentCrawlService.uploadImg(jsonObject);
+    }
+
+    /**
+     * 上传pdf
+     * @param json
+     */
+    @RequestMapping(value = "/upload/attach", method = RequestMethod.POST)
+    public String uploadAttach(@RequestBody String json) {
+        JSONObject jsonObject = FastjsonUtils.parseObject(json);
+        return componentCrawlService.uploadAttach(jsonObject);
+    }
+}

+ 16 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentCrawlDao.java

@@ -29,4 +29,20 @@ public interface ComponentCrawlDao extends JpaSpecificationExecutor<ComponentCra
 	 * @return 爬虫库器件
 	 */
 	public List<ComponentCrawl> findByTask(Long task);
+
+	/**
+	 * 通过任务id获取去重后的爬取图片路径
+	 * @param task
+	 * @return
+	 */
+	@Query("select distinct c.img from ComponentCrawl c where c.task = :taskId")
+	public List<String> findImgByTask(@Param("taskId") Long task);
+
+	/**
+	 * 通过任务id获取去重后的爬取图片路径
+	 * @param task
+	 * @return
+	 */
+	@Query("select distinct c.attach from ComponentCrawl c where c.task = :taskId")
+	public List<String> findAttachByTask(@Param("taskId") Long task);
 }

+ 40 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/service/ComponentCrawlService.java

@@ -0,0 +1,40 @@
+package com.uas.platform.b2c.prod.product.component.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+
+/**
+ * Created by wangyc on 2017/11/17.
+ *
+ * @version 2017/11/17 16:08 wangyc
+ */
+public interface ComponentCrawlService {
+
+    /**
+     * 通过任务号下载爬虫表图片地址
+     * @param taskId
+     * @return
+     */
+    List<String> downloadImg(String taskId);
+
+    /**
+     * 通过任务号下载爬虫表规格书地址
+     * @param taskId
+     * @return
+     */
+    List<String> downloadAttach(String taskId);
+
+    /**
+     * 上传更新图片
+     * @param jsonObject
+     */
+    String uploadImg(JSONObject jsonObject);
+
+    /**
+     * 上传更新pdf
+     *
+     * @param jsonObject
+     */
+    String uploadAttach(JSONObject jsonObject);
+}

+ 77 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentCrawlServiceImpl.java

@@ -0,0 +1,77 @@
+package com.uas.platform.b2c.prod.product.component.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2c.prod.product.component.dao.ComponentCrawlDao;
+import com.uas.platform.b2c.prod.product.component.dao.ComponentCrawlTaskDao;
+import com.uas.platform.b2c.prod.product.component.modal.ComponentCrawlTask;
+import com.uas.platform.b2c.prod.product.component.service.ComponentCrawlService;
+import com.uas.platform.core.exception.IllegalOperatorException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Created by wangyc on 2017/11/17.
+ *
+ * @version 2017/11/17 16:10 wangyc
+ */
+@Service
+public class ComponentCrawlServiceImpl implements ComponentCrawlService {
+
+    @Autowired
+    private ComponentCrawlTaskDao componentCrawlTaskDao;
+
+    @Autowired
+    private ComponentCrawlDao componentCrawlDao;
+
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public List<String> downloadImg(String taskId) {
+        ComponentCrawlTask task = componentCrawlTaskDao.findByTaskId(taskId);
+        if (task == null) {
+            throw new IllegalOperatorException("任务不存在");
+        }
+        List<String> imgs = componentCrawlDao.findImgByTask(task.getId());
+        return imgs;
+    }
+
+    @Override
+    public List<String> downloadAttach(String taskId) {
+        ComponentCrawlTask task = componentCrawlTaskDao.findByTaskId(taskId);
+        if (task == null) {
+            throw new IllegalOperatorException("任务不存在");
+        }
+        List<String> attachs = componentCrawlDao.findAttachByTask(task.getId());
+        return attachs;
+    }
+
+    @Override
+    public String uploadImg(JSONObject jsonObject) {
+        String taskId = jsonObject.getString("taskId");
+        String oldUrl = jsonObject.getString("oldUrl");
+        String newUrl = jsonObject.getString("newUrl");
+        ComponentCrawlTask task = componentCrawlTaskDao.findByTaskId(taskId);
+        if (task == null) {
+            throw new IllegalOperatorException("任务不存在");
+        }
+        jdbcTemplate.update("update product$component_crawl set cc_b2c_img = \'" + newUrl + "\' where cc_task = " + task.getId() + " and cc_img = \'" + oldUrl + "' and cc_b2c_img is null" );
+        return "success";
+    }
+
+    @Override
+    public String uploadAttach(JSONObject jsonObject) {
+        String taskId = jsonObject.getString("taskId");
+        String oldUrl = jsonObject.getString("oldUrl");
+        String newUrl = jsonObject.getString("newUrl");
+        ComponentCrawlTask task = componentCrawlTaskDao.findByTaskId(taskId);
+        if (task == null) {
+            throw new IllegalOperatorException("任务不存在");
+        }
+        jdbcTemplate.update("update product$component_crawl set cc_b2c_attach = \'" + newUrl + "\' where cc_task = " + task.getId() + " and cc_attach = \'" + oldUrl + "' and cc_b2c_attach is null" );
+        return "success";
+    }
+}