Browse Source

【博思达】【小米库存对接 逻辑修改】

samhoo 3 years ago
parent
commit
5e24b01077

+ 3 - 3
src/main/java/com/uas/eis/task/SyncProductStockTask.java

@@ -3,7 +3,7 @@ package com.uas.eis.task;
 import com.alibaba.fastjson.JSON;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.httpclient.X5JsonHttpClient;
+import com.uas.eis.task.httpclient.X5JsonHttpClient;
 import com.uas.eis.utils.Configuration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,10 +33,10 @@ public class SyncProductStockTask {
 
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-    @Scheduled(cron = "0 0/2 * * * ?")
+    @Scheduled(cron = "0 0/1 * * * ?")
     public void SyncProductStock() {
         System.out.println("13434");
-        X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),"https://mipoq.p.mi.com/HttpAdapter/HttpMessageServlet?interfaceNamespace=http://xiaomi.com/oem/dummy&interface=SI_MI_OEM_IF123_VENDOR_STOCK_S_OUT&senderService=UPSTAR_TECH_QAS&qos=BE");
+        X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),"https://mipoq.p.mi.com/HttpAdapter/HttpMessageServlet?interfaceNamespace=http://xiaomi.com/oem/dummy&interface=SI_MI_OEM_IF123_VENDOR_STOCK_S_OUT&senderService=UPSTAR_TECH_QAS&qos=BE",baseDao);
         Map<String,Object> data = new HashMap<>();
         SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String format = sf.format(new Date());

+ 17 - 1
src/main/java/com/uas/eis/httpclient/X5HttpClient.java → src/main/java/com/uas/eis/task/httpclient/X5HttpClient.java

@@ -1,6 +1,11 @@
-package com.uas.eis.httpclient;
+package com.uas.eis.task.httpclient;
 
+import com.uas.eis.dao.BaseDao;
+import org.springframework.stereotype.Component;
+
+@Component
 public class X5HttpClient {
+
     protected static final int DEFAULT_COMMECT_TIMEOUT = 3000;
     protected static final int DEFAULT_SOCKET_TIMEOUT = 10000;
     /*appid*/
@@ -10,6 +15,8 @@ public class X5HttpClient {
     /*请求的URL*/
     protected String url;
 
+    protected BaseDao baseDao;
+
     public String getAppid() {
         return appid;
     }
@@ -33,4 +40,13 @@ public class X5HttpClient {
     public void setUrl(String url) {
         this.url = url;
     }
+
+    public BaseDao getBaseDao() {
+        return baseDao;
+    }
+
+    public void setBaseDao(BaseDao baseDao) {
+        this.baseDao = baseDao;
+    }
+
 }

+ 7 - 8
src/main/java/com/uas/eis/httpclient/X5JsonHttpClient.java → src/main/java/com/uas/eis/task/httpclient/X5JsonHttpClient.java

@@ -1,11 +1,10 @@
-package com.uas.eis.httpclient;
+package com.uas.eis.task.httpclient;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.eis.beans.x5domain.*;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.utils.X5StringUtils;
 import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.StatusLine;
 import org.apache.http.client.HttpResponseException;
@@ -15,7 +14,6 @@ import org.apache.http.client.fluent.Response;
 import org.apache.http.util.EntityUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.xml.bind.DatatypeConverter;
 import java.io.UnsupportedEncodingException;
@@ -24,19 +22,19 @@ import java.util.Date;
 public class X5JsonHttpClient extends X5HttpClient {
 
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
-    @Autowired
-    private BaseDao baseDao;
 
     /**
      * 构造器
      */
-    public X5JsonHttpClient(String appId, String appKey, String url) {
+    public X5JsonHttpClient(String appId, String appKey, String url,BaseDao baseDao) {
         this.appid = appId;
         this.appkey = appKey;
         this.url = url;
+        this.baseDao = baseDao;
     }
 
     public <T> X5Response<T> post(Object body) {
+
         X5Response<T> x5Response;
         if (X5StringUtils.isEmpty(appid) || X5StringUtils.isEmpty(appkey) || X5StringUtils.isEmpty(url)) {
             throw new X5Exception("1016", "The request at least contains appid appkey and url.");
@@ -79,11 +77,12 @@ public class X5JsonHttpClient extends X5HttpClient {
             if (statusCode == 200) {
                 x5Response = JSON.parseObject(responseContent, X5Response.class);
                 baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT)" +
-                        "values(XIAOMIDOCKINGLOG_seq.next,sysdate,'上传成功!','')");
+                        "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'上传成功!','')");
                 logger.info("时间:"+new Date()+"状态码:"+statusCode);
             } else {
                 baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT)" +
-                        "values(XIAOMIDOCKINGLOG_seq.next,sysdate,'上传失败!','"+statusLine.getStatusCode() + " " + statusLine.getReasonPhrase()+"'");
+                        "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'上传失败!','"+statusLine.getStatusCode() + " " + statusLine.getReasonPhrase()+"')");
+
                 logger.info("时间:"+new Date()+"状态码:"+statusLine.getStatusCode()+"错误:"+statusLine.getReasonPhrase());
                 throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getStatusCode() + " " + statusLine.getReasonPhrase());
             }