Browse Source

修改 过账bug

chenjx 5 years ago
parent
commit
61d53d9f8e

+ 36 - 4
src/main/java/com/uas/eis/controller/TestController.java

@@ -2,10 +2,7 @@ package com.uas.eis.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.eis.dao.BaseDao;
-import com.uas.eis.utils.BaseUtil;
-import com.uas.eis.utils.HttpUtil;
-import com.uas.eis.utils.JacksonUtil;
-import com.uas.eis.utils.RedisUtil;
+import com.uas.eis.utils.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,8 +12,11 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
+import sun.misc.BASE64Decoder;
+import sun.misc.BASE64Encoder;
 
 import java.net.Socket;
+import java.net.URLEncoder;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -37,6 +37,8 @@ public class TestController {
 
     @Autowired
     BaseDao baseDao;
+    static BASE64Encoder encoder = new BASE64Encoder();
+    static BASE64Decoder decoder = new BASE64Decoder();
 
     @GetMapping(value = "/test/redis")
     public void testJdbc(){
@@ -44,6 +46,36 @@ public class TestController {
         System.out.println("redisResult11:"+redisUtils.get("redisTest").toString());
     }
 
+    @GetMapping(value = "/test/testPostInOut")
+    public void testPostInOut(){
+        try {
+            HashMap<String, String> params = new HashMap<String, String>();
+            HashMap<String, String> headParams = new HashMap<String, String>();
+            String timestamp = String.valueOf(System.currentTimeMillis());
+
+//            String items ="{\n" +
+//                    "    \"items\": [\n" +
+//                    "        {\n" +
+//                    "            \"actualNum\": 19995,\n" +
+//                    "            \"detailNo\": 1\n" +
+//                    "        }\n" +
+//                    "    ]\n" +
+//                    "}";
+            //Base64加密
+//            final byte[] textByte = items.getBytes("UTF-8");
+//            final String encodedText = encoder.encode(textByte);
+            //请求地址+时间戳+dataURL编码+master
+            String urlMessage="http://10.1.80.104:8008/EIS_T/openapi/applicant/postInOutInfo.action?_timestamp="+timestamp+"&inOutId=50735442&master=XX_TEST2&dealDate=2020-06-01&items=";
+            //Hmac加密作为签名
+            String Url=urlMessage+"&_signature="+HmacUtils.encode(urlMessage);
+
+            HttpUtil.Response response = HttpUtil.sendPostRequest(Url,headParams,params,false,null);
+            System.out.println(response.getResponseText());
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+    }
+
     @GetMapping(value = "/test/jdbc")
     public String testJdbc(Integer id){
         String res = "1";

+ 1 - 1
src/main/java/com/uas/eis/service/ProdInOutService.java

@@ -7,5 +7,5 @@ import java.util.Map;
  * @date 2020-5-20
  */
 public interface ProdInOutService {
-    Map<String, Object> postProdInOut(int pi_id, String caller);
+    Map<String, Object> postProdInOut(int pi_id, String caller,String master);
 }

+ 3 - 2
src/main/java/com/uas/eis/serviceImpl/ProdInOutServiceImpl.java

@@ -24,7 +24,7 @@ public class ProdInOutServiceImpl implements ProdInOutService {
     private BaseDao baseDao;
 
     @Override
-    public Map<String, Object> postProdInOut(int pi_id, String caller) {
+    public Map<String, Object> postProdInOut(int pi_id, String caller,String master) {
         Map<String, Object> modelMap = new HashMap<String, Object>();
         String inoutno = baseDao.getFieldValue("prodinout", "pi_inoutno", "pi_id=" + pi_id, String.class);
         String piClass = baseDao.getFieldValue("prodinout", "pi_class", "pi_id=" + pi_id, String.class);
@@ -38,10 +38,11 @@ public class ProdInOutServiceImpl implements ProdInOutService {
         //时间戳
         String timestamp = String.valueOf(System.currentTimeMillis());
         //请求地址+时间戳+dataURL编码+master
-        String urlMessage="https://uas.cicsc.com/ERP/scm/reserve/postProdInOut.action?_timestamp="+timestamp+"&master=ZXGYL_TEST&id="+pi_id+"&caller="+caller;
+        String urlMessage="https://uas.cicsc.com/ERP/scm/reserve/postProdInOut.action?_timestamp="+timestamp+"&master="+master+"&id="+pi_id+"&caller="+caller;
         //Hmac加密作为签名
         String Url=urlMessage+"&_signature="+HmacUtils.encode(urlMessage);
         try {
+            header.put("referer",Url);
             Response response = HttpUtil.sendPostRequest(Url,header,params,false,null);
             String res = response.getResponseText();
             JSONObject jsonObject = JSON.parseObject(res);

+ 2 - 2
src/main/java/com/uas/eis/serviceImpl/XiangXServiceImpl.java

@@ -103,7 +103,7 @@ public class XiangXServiceImpl implements XiangXService {
             try {
                 //更新单据日期为当前时间
                 baseDao.updateByCondition("ProdInOut","pi_date=to_date('"+dealDate+"','yyyy-MM-dd')","pi_id="+inOutId);
-                prodInOutService.postProdInOut(inOutId, caller.toString());
+                prodInOutService.postProdInOut(inOutId, caller.toString(),master);
             }catch (Exception e){
                 UpdateProdinOutLog(inOutId,false);
                 baseDao.execute("insert into ERPSYNC_MESSAGELOG (EL_ID,EL_DATA,EL_TYPE,EL_ERROR,EL_DATE,EL_STATUS,EL_CODE) values " +
@@ -121,7 +121,7 @@ public class XiangXServiceImpl implements XiangXService {
             try {
                 //更新单据日期为当前时间
                 baseDao.updateByCondition("ProdInOut","pi_date=to_date('"+dealDate+"','yyyy-MM-dd')","pi_id="+inOutId);
-                prodInOutService.postProdInOut(inOutId, caller.toString());
+                prodInOutService.postProdInOut(inOutId, caller.toString(),master);
             }catch (Exception e){
                 UpdateProdinOutLog(inOutId,false);
                 baseDao.execute("insert into ERPSYNC_MESSAGELOG (EL_ID,EL_DATA,EL_TYPE,EL_ERROR,EL_DATE,EL_STATUS,EL_CODE) values " +