Procházet zdrojové kódy

开门的https接口调用

wutt před 5 roky
rodič
revize
644e877599

+ 1 - 0
pcbms/src/main/java/com/hssx/pcbms/service/impl/GoodsNoServiceImpl.java

@@ -44,6 +44,7 @@ public class GoodsNoServiceImpl extends ServiceImpl<GoodsNoMapper, GoodsNo> impl
             racksEquipmentMapper.insert(rackId);
             GoodsNo goodsNo = goodsNoMapper.selectOne(new QueryWrapper<GoodsNo>().eq("goods_id", goods.getId()));
             goodsNo.setGroundingTime(LocalDateTime.now());
+            goodsNo.setFirstUseTime(LocalDateTime.now());
             goodsNo.setIsRack(1);
             goodsNoMapper.updateById(goodsNo);
         }else{

+ 28 - 4
pcbms/src/main/java/com/hssx/pcbms/service/impl/RackDataServiceImpl.java

@@ -1,31 +1,55 @@
 package com.hssx.pcbms.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.hssx.pcbms.entity.RackData;
 import com.hssx.pcbms.mapper.RackDataMapper;
 import com.hssx.pcbms.service.RackDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.pcbms.util.HttpKit;
 import com.hssx.pcbms.util.HttpRespMsg;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
 
 /**
- * <p>
- *  服务实现类
- * </p>
- *
  * @author 吴涛涛
  * @since 2019-11-14
  */
 @Service
+@EnableTransactionManagement
+@Transactional
 public class RackDataServiceImpl extends ServiceImpl<RackDataMapper, RackData> implements RackDataService {
     @Resource
     private RackDataMapper rackDataMapper;
+    @Value("${open.door.url}")
+    private String url;
     @Override
     public HttpRespMsg updateInfo(RackData rackData) {
         HttpRespMsg msg = new HttpRespMsg();
         rackDataMapper.update(rackData,new QueryWrapper<RackData>().eq("goods_id",rackData.getGoodsId()));
+        //调用远程开门接口
+        try {
+            String s = HttpKit.get(url+"?"+rackData.getGoodsId(), true);
+            //取出多余的\
+            s = StringEscapeUtils.unescapeJava(s);
+            JSONObject json = (JSONObject) JSON.parse(s);
+            if(!json.containsValue("ok")){
+                msg.setError("开门失败");
+                return msg;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return msg;
     }
 }

+ 18 - 3
pcbms/src/main/java/com/hssx/pcbms/util/HttpKit.java

@@ -3,8 +3,16 @@ package com.hssx.pcbms.util;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 
-import javax.net.ssl.*;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLEncoder;
@@ -15,11 +23,19 @@ import java.security.cert.CertificateException;
 import java.security.cert.X509Certificate;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.logging.Logger;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
 
 @Slf4j
 public class HttpKit {
     
     private static final String DEFAULT_CHARSET = "UTF-8";
+//    private static final Logger LOGGER = Logger.getLogger(HttpKit.class);
     /**
      * 发送Get请求
      * @param url
@@ -274,7 +290,6 @@ public class HttpKit {
   System.out.println(f);
  }
 }
-
 /**
  * 证书管理
  */

+ 1 - 0
pcbms/src/main/resources/application-prod.properties

@@ -55,4 +55,5 @@ spring.datasource.hikari.connection-test-query=SELECT 1
 ########################################################################################################
 # ÈÕÖ¾
 logging.path=E:/staticproject/cloudmodel/
+open.door.url=https://118.190.47.230:8080/racksystem/openDoor.do
 

+ 2 - 0
pcbms/src/main/resources/application.properties

@@ -62,4 +62,6 @@ spring.datasource.hikari.maximum-pool-size=10
 spring.datasource.hikari.max-lifetime =30000
 spring.datasource.hikari.connection-test-query=SELECT 1
 logging.path=E:/
+##################¿ªÃŽӿڵĵØÖ·####################################################
+open.door.url=https://118.190.47.230:8080/racksystem/openDoor.do