From 9aac460a313ac8284e0fd633183c93815f95e0de Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期三, 24 七月 2024 17:21:57 +0800 Subject: [PATCH] 实时状态预提交修改提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 98 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 c708f40..f3eeefd 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 @@ -2,12 +2,13 @@ import java.util.*; +import com.github.pagehelper.PageHelper; import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.sy.domain.ArdSyCar; import com.ruoyi.sy.domain.ArdSyUser; -import com.ruoyi.sy.mapper.ArdSyUserMapper; -import com.ruoyi.sy.mapper.ArdTankWallLockMapper; -import com.ruoyi.sy.mapper.ArdTankWallLockTemporaryMapper; +import com.ruoyi.sy.domain.ArdTankLockState; +import com.ruoyi.sy.mapper.*; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.utils.forest.SYClient; import org.apache.commons.codec.digest.DigestUtils; @@ -15,7 +16,6 @@ import java.util.stream.Collectors; -import com.ruoyi.sy.mapper.ArdTankLockMapper; import com.ruoyi.sy.domain.ArdTankLock; import com.ruoyi.sy.service.IArdTankLockService; @@ -43,6 +43,12 @@ @Resource private SysConfigMapper sysConfigMapper; + + @Resource + private ArdSyCarMapper ardSyCarMapper; + + @Resource + private ArdTankLockStateMapper ardTankLockStateMapper; @Resource private SYClient sYClient; @@ -263,6 +269,24 @@ }else{ map.put("onlineTime",ardTankLock.getOnlineTime()); } + if(ardTankLock.getArdTankLockState() != null){//鐢电閿佺姸鎬� + map.put("ardTankLockState",ardTankLock.getArdTankLockState()); + }else{ + ArdTankLockState ardTankLockState = new ArdTankLockState(); + ardTankLockState.setId(""); + ardTankLockState.setLockId(""); + ardTankLockState.setLockNum(""); + ardTankLockState.setLockState(""); + ardTankLockState.setLockPositionState(""); + ardTankLockState.setLockShellState(""); + ardTankLockState.setRestartState(""); + ardTankLockState.setBatterVoltage(""); + ardTankLockState.setPowerVoltage(""); + ardTankLockState.setUploadTime(""); + ardTankLockState.setUniqueMark(""); + ardTankLockState.setLockStateMark(false); + map.put("ardTankLockState",ardTankLockState); + } Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0); map.put("carPlate",carMap.get("carPlate")); result.add(map); @@ -288,6 +312,14 @@ } //Set<String> newIdSet = new HashSet();//浼犲弬鐨勪富閿� List<Map<String,Object>> lockList = (List<Map<String, Object>>) para.get("lockList"); + if(lockList.isEmpty()){//鏁扮粍涓虹┖锛屽仛鍒犻櫎鎿嶄綔 + if(ardTankLockOldList.isEmpty()){//鑻ユ病鏈夋寕鎺ワ紝涓嶅仛鎿嶄綔 + return 1; + } + result = ardTankLockMapper.deleteLockByCarId(carId); + return result; + } + List<ArdTankLock> ardTankLocks = new ArrayList(); for(Map<String,Object> map : lockList){ if(map.get("id") != null){//鏈変富閿紝鍋氫慨鏀规搷浣� @@ -302,7 +334,7 @@ ardTankLock.setCarId((String) map.get("carId")); ardTankLock.setEnable((String) map.get("enable")); result = result + ardTankLockMapper.updateArdTankLock(ardTankLock); - }else{//鏃犱富閿紝鍋氫慨鏀规搷浣� + }else{//鏃犱富閿紝鍋氭柊澧炴搷浣� ArdTankLock ardTankLock = new ArdTankLock(); ardTankLock.setId(IdUtils.simpleUUID()); ardTankLock.setLockNum((String) map.get("lockNum")); @@ -324,36 +356,38 @@ } @Override - public List<Map<String, Object>> getLockByCarPlate(String usersId, String carPlate) { - List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll(); + public Map<String,Object> getLockByCarPlate(String usersId, String carPlate, Integer pageNum, Integer pageSize) { ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId); if(ardSyUser == null){ - return new ArrayList(); + return new HashMap(); } List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT"); String syURL = ""; if(syURLResult.size() != 0){ syURL = syURLResult.get(0).getConfigValue(); }else{ - return new ArrayList(); + return new HashMap(); } 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.getAll(); + List<ArdTankLock> ardTankLockList = new ArrayList(); List<Map<String,Object>> result = new ArrayList(); + List<String> carIdList = new ArrayList();//璁板綍涓変竴杞﹁締涓婚敭 if(!carPlate.equals("")){ Map<String,Object> carMap = sYClient.getCarListByPlate(syURL,carPlate,ardSyUser.getUserId(),sessionId);//杞︾墝鍙锋ā绯婃悳绱㈣溅杈� List<Map<String,Object>> carList = new ArrayList(); if(((String)carMap.get("rspCode")).equals("1")){ carList = (List<Map<String, Object>>) carMap.get("list"); }else{ - return new ArrayList(); + return new HashMap(); } - List<String> carIdList = new ArrayList();//璁板綍涓変竴杞﹁締涓婚敭 + //List<String> carIdList = new ArrayList();//璁板綍涓変竴杞﹁締涓婚敭 for(Map<String,Object> map : carList){ carIdList.add((String) map.get("carId")); } + PageHelper.startPage(pageNum, pageSize);//鍒嗛〉 + ardTankLockList = ardTankLockMapper.getLockByCarIdList(carIdList); for(ArdTankLock ardTankLock : ardTankLockList){ if(carIdList.contains(ardTankLock.getCarId())){//杩斿洖鐨勮溅杈嗗寘鍚暟鎹簱褰曞叆鐨勮溅杈� Map<String,Object> map = new HashMap(); @@ -382,6 +416,8 @@ } } }else{ + PageHelper.startPage(pageNum, pageSize);//鍒嗛〉 + ardTankLockList = ardTankLockMapper.getAll(); for(ArdTankLock ardTankLock : ardTankLockList){ Map<String,Object> map = new HashMap(); map.put("id",ardTankLock.getId()); @@ -409,6 +445,56 @@ result.add(map); } } + Long total = Long.valueOf(0); + if(!carPlate.equals("")){ + total = ardTankLockMapper.selectArdTankLockTotalByCarIdList(carIdList); + }else{ + total = ardTankLockMapper.selectArdTankLockAllTotal(); + } + Map<String,Object> mapResult = new HashMap(); + mapResult.put("list",result); + mapResult.put("total",total); + return mapResult; + } + + @Override + public List<ArdTankLock> getArdTankLockAll() { + List<ArdTankLock> result = ardTankLockMapper.getAll(); return result; } + + @Override + public void sendLockState(String userId, String syUserId, String syPassword) { + /*List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT"); + String syURL = ""; + if(syURLResult.size() != 0){ + syURL = syURLResult.get(0).getConfigValue(); + }else{ + return; + } + String passwordMd5 = DigestUtils.md5Hex(syPassword); + Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, syUserId); + String sessionId = (String) LogInResult.get("sessionId"); + Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, syUserId, sessionId); + + List<Map<String,Object>> result = new ArrayList(); + List<ArdSyCar> ardSyCarResult = ardSyCarMapper.selectArdSyCarAndTankLockByUserId(userId); + for(ArdSyCar ardSyCar : ardSyCarResult){ + Map<String,Object> map = new HashMap(); + map.put("id",ardSyCar.getId()); + map.put("carId",ardSyCar.getCarId()); + map.put("carModel",ardSyCar.getCarModel()); + map.put("carType",ardSyCar.getCarType()); + map.put("carBrand",ardSyCar.getCarBrand()); + map.put("deptId",ardSyCar.getDeptId()); + + + + + List<ArdTankLock> ardTankLockList = ardSyCar.getArdTankLockList(); + for(ArdTankLock ardTankLock : ardTankLockList){ + ArdTankLockState ardTankLockStateResult = ardTankLockStateMapper.selectArdTankLockStateByLockIdLimitOne(ardTankLock.getId()); + } + }*/ + } } -- Gitblit v1.9.3