From 9710740f1672fcaab74510ff5e8044c5fd0dafc8 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期二, 02 七月 2024 15:03:41 +0800 Subject: [PATCH] 电磁锁根据三一车辆主键查询提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java | 129 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 117 insertions(+), 12 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java index f4acfbf..ff8c7f2 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java @@ -1,7 +1,6 @@ package com.ruoyi.sy.service.impl; -import java.util.HashMap; -import java.util.List; +import java.util.*; import com.dtflys.forest.annotation.Var; import com.ruoyi.common.core.domain.entity.SysConfig; @@ -16,8 +15,8 @@ import org.apache.commons.codec.digest.DigestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Map; + +import java.util.stream.Collectors; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -82,10 +81,28 @@ * @return 缁撴灉 */ @Override + public int insertArdTankLock(Map<String,Object> para) { + String carId = (String) para.get("carId"); + List<Map<String,String>> lockList = (List<Map<String,String>>)para.get("lockList"); + List<ArdTankLock> ardTankLocks = new ArrayList(); + for(Map<String,String> map : lockList){ + ArdTankLock ardTankLock = new ArdTankLock(); + ardTankLock.setId(IdUtils.simpleUUID()); + ardTankLock.setLockNum(map.get("lockNum")); + ardTankLock.setLockName(map.get("lockName")); + ardTankLock.setImgPositionTop(map.get("imgPositionTop")); + ardTankLock.setImgPositionLeft(map.get("imgPositionLeft")); + ardTankLock.setCarId(carId); + ardTankLock.setEnable(map.get("enable")); + ardTankLocks.add(ardTankLock); + } + return ardTankLockMapper.insertArdTankLocks(ardTankLocks); + } + /*@Override public int insertArdTankLock(ArdTankLock ardTankLock) { ardTankLock.setId(IdUtils.simpleUUID()); return ardTankLockMapper.insertArdTankLock(ardTankLock); - } + }*/ /** * 淇敼鐢电閿� @@ -126,18 +143,19 @@ } @Override - public Results getAll(String usersId) { + //public Results List<Map<String,Object>> getAll(String usersId) { + public List<Map<String,Object>> getAll(String usersId) { ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId); - if(ardSyUser == null){ + /*if(ardSyUser == null){ return Results.error("娌℃湁鎸傛帴涓変竴杞﹁締鐢ㄦ埛"); - } + }*/ List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT"); String syURL = ""; if(syURLResult.size() != 0){ syURL = syURLResult.get(0).getConfigValue(); - }else{ + }/*else{ return Results.error("涓変竴杞﹁締鍦板潃鏈綍鍏�"); - } + }*/ String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId()); String sessionId = (String) LogInResult.get("sessionId"); @@ -152,7 +170,11 @@ map.put("imgPositionLeft",ardTankLock.getImgPositionLeft()); map.put("carId",ardTankLock.getCarId()); map.put("enable",ardTankLock.getEnable()); - map.put("restartState",ardTankLock.getRestartState()); + if(ardTankLock.getRestartState() == null){ + map.put("restartState",""); + }else{ + map.put("restartState",ardTankLock.getRestartState()); + } if(ardTankLock.getOnlineTime() == null){ map.put("onlineTime",""); }else{ @@ -165,6 +187,89 @@ } result.add(map); } - return Results.succeed(result); + List<Map<String,Object>> result0 = new ArrayList();//鎷兼帴carId鍜宑arPlate + Set<String> carIdSet = new HashSet(); + for(Map<String,Object> map : result){ + if(!carIdSet.contains((String) map.get("carId"))){ + Map<String,Object> mapr = new HashMap(); + mapr.put("carId",map.get("carId")); + mapr.put("carPlate",map.get("carPlate")); + mapr.put("lockList",new ArrayList()); + result0.add(mapr); + } + carIdSet.add((String) map.get("carId")); + } + for(Map<String,Object> map : result0){ + for(Map<String,Object> map0 : result){ + if(((String)map.get("carId")).equals((String)map0.get("carId"))){ + ((List)map.get("lockList")).add(map0); + } + } + } + //return Results.succeed(result0); + return result0; + } + + @Override + public Map<String, Object> getLockByCarId(String carId, String usersId) { + ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId); + /*if(ardSyUser == null){ + return Results.error("娌℃湁鎸傛帴涓変竴杞﹁締鐢ㄦ埛"); + }*/ + List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT"); + String syURL = ""; + if(syURLResult.size() != 0){ + syURL = syURLResult.get(0).getConfigValue(); + }/*else{ + return Results.error("涓変竴杞﹁締鍦板潃鏈綍鍏�"); + }*/ + String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); + Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId()); + String sessionId = (String) LogInResult.get("sessionId"); + List<ArdTankLock> ardTankLockList = ardTankLockMapper.getLockByCarId(carId); + Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId); + + Map<String,Object> resultMap = new HashMap(); + if(ardTankLockList.size() != 0){ + resultMap.put("carId",carId); + if(((String)syResult.get("rspCode")).equals("1")){ + Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0); + resultMap.put("carPlate",carMap.get("carPlate")); + } + }else{ + resultMap.put("carId",carId); + if(((String)syResult.get("rspCode")).equals("1")){ + Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0); + resultMap.put("carPlate",carMap.get("carPlate")); + } + resultMap.put("lockList",new ArrayList()); + } + + List<Map<String,Object>> result = new ArrayList(); + for(ArdTankLock ardTankLock : ardTankLockList){ + Map<String,Object> map = new HashMap(); + map.put("id",ardTankLock.getId()); + map.put("lockNum",ardTankLock.getLockNum()); + map.put("lockName",ardTankLock.getLockName()); + map.put("imgPositionTop",ardTankLock.getImgPositionTop()); + map.put("imgPositionLeft",ardTankLock.getImgPositionLeft()); + map.put("carId",ardTankLock.getCarId()); + map.put("enable",ardTankLock.getEnable()); + if(ardTankLock.getRestartState() == null){ + map.put("restartState",""); + }else{ + map.put("restartState",ardTankLock.getRestartState()); + } + if(ardTankLock.getOnlineTime() == null){ + map.put("onlineTime",""); + }else{ + map.put("onlineTime",ardTankLock.getOnlineTime()); + } + Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0); + map.put("carPlate",carMap.get("carPlate")); + result.add(map); + } + resultMap.put("lockList",result); + return resultMap; } } -- Gitblit v1.9.3