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