Browse Source

采购订单上传修改

chenw 7 years ago
parent
commit
09bcb4a4b5

+ 0 - 28
applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/B2BPurchaseApi.java

@@ -1,28 +0,0 @@
-package com.usoftchina.saas.inquiry.api;
-
-import com.usoftchina.saas.inquiry.po.purchase.SavePurchaseListResp;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-
-@FeignClient(url = "${b2b.baseUrl.uu}", name = "b2b-server")
-@RequestMapping("/erp/purchase")
-public interface B2BPurchaseApi {
-    /**
-     * 上传采购单
-     * @param data
-     * @return
-     */
-    @RequestMapping(method = RequestMethod.POST)
-    SavePurchaseListResp savePurchase(@RequestParam("data") String data);
-
-    /**
-     * 结案、反结案采购单后,传到平台
-     * @param data
-     */
-    @PostMapping("/end")
-    void updatePurchaseDetailEnd(@RequestParam("data") String data);
-
-}

+ 48 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/config/B2BConfig.java

@@ -0,0 +1,48 @@
+package com.usoftchina.saas.transfers.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * @Author chenwei
+ * @Date 2019/01/15
+ */
+@ConfigurationProperties(prefix = "b2b.baseUrl")
+public class B2BConfig {
+
+    private String inquiry;
+    private String Component;
+    private String product;
+    private String common;
+
+    public String getInquiry() {
+        return inquiry;
+    }
+
+    public void setInquiry(String inquiry) {
+        this.inquiry = inquiry;
+    }
+
+    public String getComponent() {
+        return Component;
+    }
+
+    public void setComponent(String component) {
+        Component = component;
+    }
+
+    public String getProduct() {
+        return product;
+    }
+
+    public void setProduct(String product) {
+        this.product = product;
+    }
+
+    public String getCommon() {
+        return common;
+    }
+
+    public void setCommon(String common) {
+        this.common = common;
+    }
+}

+ 1 - 1
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/Executable.java

@@ -20,5 +20,5 @@ public abstract class Executable {
     /**
     /**
      * 执行任务
      * 执行任务
      */
      */
-    public abstract void execute(MessageInfo messageInfo);
+    public abstract void execute(MessageInfo messageInfo) throws Exception;
 }
 }

+ 27 - 5
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/SendPurchaseTask.java

@@ -1,21 +1,26 @@
 package com.usoftchina.saas.transfers.task;
 package com.usoftchina.saas.transfers.task;
 
 
 import com.usoftchina.saas.account.api.CompanyApi;
 import com.usoftchina.saas.account.api.CompanyApi;
-import com.usoftchina.saas.inquiry.api.B2BPurchaseApi;
+import com.usoftchina.saas.account.dto.CompanyDTO;
 import com.usoftchina.saas.inquiry.po.purchase.Purchase;
 import com.usoftchina.saas.inquiry.po.purchase.Purchase;
 import com.usoftchina.saas.inquiry.po.purchase.PurchaseDetail;
 import com.usoftchina.saas.inquiry.po.purchase.PurchaseDetail;
 import com.usoftchina.saas.purchase.api.PurchaseApi;
 import com.usoftchina.saas.purchase.api.PurchaseApi;
 import com.usoftchina.saas.purchase.dto.PurchaseDTO;
 import com.usoftchina.saas.purchase.dto.PurchaseDTO;
 import com.usoftchina.saas.purchase.dto.PurchaseFormDTO;
 import com.usoftchina.saas.purchase.dto.PurchaseFormDTO;
+import com.usoftchina.saas.transfers.config.B2BConfig;
 import com.usoftchina.saas.transfers.dto.MessageInfo;
 import com.usoftchina.saas.transfers.dto.MessageInfo;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.ObjectUtils;
 import com.usoftchina.saas.utils.ObjectUtils;
+import com.usoftchina.saas.utils.http.HttpUtil;
+import com.usoftchina.saas.utils.http.HttpUtil.Response;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @author: guq
  * @author: guq
@@ -28,12 +33,14 @@ public class SendPurchaseTask extends Executable {
     @Autowired
     @Autowired
     private PurchaseApi purchaseApi;
     private PurchaseApi purchaseApi;
     @Autowired
     @Autowired
-    private B2BPurchaseApi b2BPurchaseApi;
+    private B2BConfig b2bConfig;
 
 
     private static final Logger LOGGER = LoggerFactory.getLogger(SendProductTask.class);
     private static final Logger LOGGER = LoggerFactory.getLogger(SendProductTask.class);
+    private final String purchaseUrl = "/erp/purchase";
 
 
     @Override
     @Override
-    public void execute(MessageInfo messageInfo) {
+    public void execute(MessageInfo messageInfo) throws Exception {
+        CompanyDTO companyDTO = companyApi.getCompanyById(messageInfo.getCompanyId()).getData();
         PurchaseFormDTO purchaseFormDTO = purchaseApi.getFormData(Long.parseLong(messageInfo.getBizId())).getData();
         PurchaseFormDTO purchaseFormDTO = purchaseApi.getFormData(Long.parseLong(messageInfo.getBizId())).getData();
         if (!ObjectUtils.isEmpty(purchaseFormDTO)){
         if (!ObjectUtils.isEmpty(purchaseFormDTO)){
             //采购单主表数据
             //采购单主表数据
@@ -44,10 +51,25 @@ public class SendPurchaseTask extends Executable {
             List<PurchaseDetail> b2bPurchaseDetailList = BeanMapper.mapList(purchaseFormDTO.getItems(), PurchaseDetail.class);
             List<PurchaseDetail> b2bPurchaseDetailList = BeanMapper.mapList(purchaseFormDTO.getItems(), PurchaseDetail.class);
             b2bPurchase.setPurchaseDetails(b2bPurchaseDetailList);
             b2bPurchase.setPurchaseDetails(b2bPurchaseDetailList);
 
 
-            /*SavePurchaseListResp savePurchaseListResp = */
-            b2BPurchaseApi.savePurchase(JsonUtils.toJsonString(b2bPurchase));
+            sendPurchaseToB2B(b2bConfig.getCommon() + purchaseUrl, Long.parseLong(messageInfo.getBizId()), JsonUtils.toJsonString(b2bPurchase), companyDTO.getAccessKey());
             purchaseApi.updateB2BStatus(Long.parseLong(messageInfo.getBizId()), "已上传");
             purchaseApi.updateB2BStatus(Long.parseLong(messageInfo.getBizId()), "已上传");
         }
         }
 
 
     }
     }
+
+    /**
+     * 发送http请求
+     * @param bizId
+     * @param data
+     * @param accessSecretKey
+     * @throws Exception
+     */
+    private void sendPurchaseToB2B(String url, Long bizId, String data, String accessSecretKey) throws Exception {
+        Map<String, String> params = new HashMap<String, String>();
+        params.put("data", JsonUtils.toJsonString(data));
+        Response response = HttpUtil.sendPostRequest(url, params, true, accessSecretKey);
+        if (response.getStatusCode() == 200){
+            purchaseApi.updateB2BStatus(bizId, "已上传");
+        }
+    }
 }
 }