| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | * @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); |
| | | } |
| | | }*/ |
| | | |
| | | /** |
| | | * 修改电磁锁 |
| | |
| | | } |
| | | |
| | | @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"); |
| | |
| | | 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{ |
| | |
| | | } |
| | | result.add(map); |
| | | } |
| | | return Results.succeed(result); |
| | | List<Map<String,Object>> result0 = new ArrayList();//拼接carId和carPlate |
| | | 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; |
| | | } |
| | | |
| | | @Override |
| | | public int deleteLockByCarId(String carId) { |
| | | int result = ardTankLockMapper.deleteLockByCarId(carId); |
| | | return result; |
| | | } |
| | | } |