From 93cecfaf0fae080ebd0212adea714726290d0d4a Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 01 八月 2024 20:36:54 +0800
Subject: [PATCH] 电磁锁串口协议发送加入线程排队提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
index f912eaf..e39bf04 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
@@ -12,6 +12,7 @@
 import com.ruoyi.sy.domain.ArdSyUser;
 import com.ruoyi.sy.domain.ArdTankLock;
 import com.ruoyi.sy.domain.ArdTankWall;
+import com.ruoyi.sy.gps31.PositionContainer;
 import com.ruoyi.sy.mapper.ArdSyUserMapper;
 import com.ruoyi.sy.mapper.ArdTankLockMapper;
 import com.ruoyi.sy.mapper.ArdTankWallMapper;
@@ -60,6 +61,8 @@
     private SYClient sYClient;
 
     private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    private Map<String,Timer> timerMap = new HashMap();
 
     /**
      * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇�
@@ -206,7 +209,9 @@
 
                 String paramsStr = lockNum + "02" + process + checkNum;
                 paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
+                PositionContainer.getCarLockProcessThreadMap().get(carId).get(lockNum).put("lockProcess",new Thread());//鍔犲叆瀹瑰櫒
                 Map<String,Object> result = sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
+                PositionContainer.getCarLockProcessThreadMap().get(carId).get(lockNum).remove("lockProcess");//绉婚櫎瀹瑰櫒
                 if(((String)result.get("rspCode")).equals("0")){
                     ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
                     ardTankLockProcessLog.setId(IdUtils.simpleUUID());
@@ -227,12 +232,31 @@
                     ardTankLockProcessLog.setProcessTime(this.sdf.format(new Date()));
                     ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
                     return AjaxResult.success("鍙戦�佹垚鍔�");
-                }else{
+                }else if(((String)result.get("rspCode")).equals("-6")){
+                    return AjaxResult.error("鎵句笉鍒拌溅杈�");
+                }else if(((String)result.get("rspCode")).equals("-5")){
+                    return AjaxResult.error("鎵句笉鍒扮敤鎴�");
+                }else if(((String)result.get("rspCode")).equals("-4")){
+                    return AjaxResult.error("鎵句笉鍒版寚浠�");
+                }else if(((String)result.get("rspCode")).equals("-3")){
+                    return AjaxResult.error("鎸囦护鍙戦�佽秴鏃�");
+                }else if(((String)result.get("rspCode")).equals("-2")){
+                    return AjaxResult.error("绂荤嚎寰呭彂");
+                }else if(((String)result.get("rspCode")).equals("-1")){
+                    return AjaxResult.error("杞﹁締绂荤嚎");
+                }else if(((String)result.get("rspCode")).equals("1")){
                     return AjaxResult.error("鍙戦�佸け璐�");
+                }else if(((String)result.get("rspCode")).equals("2")){
+                    return AjaxResult.error("娑堟伅鏈夎");
+                }else if(((String)result.get("rspCode")).equals("3")){
+                    return AjaxResult.error("涓嶆敮鎸�");
+                }else{
+                    return AjaxResult.error("鍏朵粬鍘熷洜鍙戦�佸け璐�");
                 }
             }catch(Exception e){
                 e.printStackTrace();
-                return AjaxResult.error("鍙戦�佸け璐�");
+                PositionContainer.getCarLockProcessThreadMap().get(carId).get(lockNum).remove("lockProcess");//绉婚櫎瀹瑰櫒
+                return AjaxResult.error("鍙戦�佸け璐�" + e.toString());
             }
         }
     }

--
Gitblit v1.9.3