From 70e428a02ebd913af53c88bc18e794938312c537 Mon Sep 17 00:00:00 2001 From: 艾金辉 <1144154118@qq.com> Date: 星期一, 24 七月 2023 15:21:24 +0800 Subject: [PATCH] 31车辆接口逻辑优化整合 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 138 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 136 insertions(+), 2 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java index bffd911..6e4a04a 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java @@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.common.websocket.util.WebSocketUtils; import com.ruoyi.device.hiksdk.config.MinioClientSingleton; @@ -32,6 +33,7 @@ import io.minio.http.Method; import io.minio.messages.Contents; import io.minio.messages.Item; +import org.apache.commons.codec.digest.DigestUtils; import org.springframework.stereotype.Service; import com.ruoyi.sy.mapper.ArdSyCarMapper; import com.ruoyi.sy.domain.ArdSyCar; @@ -64,6 +66,8 @@ @Resource private SYClient sYClient; + + private Map<Integer,Map<String,String>> logInMap = new HashMap(); /** * 鏌ヨ涓変竴杞﹁締 @@ -384,14 +388,144 @@ } /** + * 鏍规嵁鐢ㄦ埛鑾峰彇涓変竴鍒楄〃 + * @return + */ + @Override + public Map<String,Object> allListByUser(ArdSyUser ardSyUser,String syURL,String usersId){ + Map<String,Object> result0 = new HashMap(); + //鍒ゆ柇鍏宠仈琛ㄦ槸鍚︽湁鏁版嵁 + if(ardSyUser!=null){ + Map<String, String> result = logInMap.get(Integer.parseInt(usersId)); + //31鐢ㄦ埛鍚嶅瘑鐮� + String username31 = ardSyUser.getUserId(); + String password31 = ardSyUser.getPassword(); + String passwordMd5 = DigestUtils.md5Hex(password31); + Map<String, Object> result1 = sYClient.logIn(syURL,passwordMd5, username31); + result = new HashMap(); + result.put("userId", username31); + result.put("sessionId", (String) result1.get("sessionId")); + try { + result0 = sYClient.getTeamList(syURL,result.get("userId"),result.get("sessionId")); + } catch (Exception e) { + Map<String,Object> map = new HashMap(); + map.put("rspCode", 0); + map.put("list", new ArrayList()); + return map; + } + int online = 0; + for(Map<String,Object> map : (List<Map<String,Object>>) result0.get("list")){ + Map<String,Object> resultMap = sYClient.getTeamCarList(syURL,(String)map.get("teamId"),result.get("sessionId")); + List<Map<String,Object>> carList = (List<Map<String, Object>>) resultMap.get("carList"); + for(Map<String,Object> m : carList){ + if(((String) m.get("stateCn")).contains("鍦ㄧ嚎")){ + online = online + 1; + }else{ + continue; + } + } + for(Map<String,Object> m : (List<Map<String,Object>>) result0.get("list")){ + if(((String) m.get("teamId")).equals(((String) map.get("teamId")))){ + map.put("count", Integer.parseInt((String) m.get("carNum"))); + } + } + map.put("online", online); + online = 0; + } + }else { + result0.put("鍒楄〃涓虹┖锛�","鏃犲叧鑱旇处鍙凤紒"); + } + return result0; + } + + @Override + public List<Map<String,String>> getCarList(ArdSyUser ardSyUser, String syURL, String usersId,String teamId){ + List<Map<String,String>> list = new ArrayList<>(); + Map<String, String> result = logInMap.get(Integer.parseInt(usersId)); + //31鐢ㄦ埛鍚嶅瘑鐮� + String username31 = ardSyUser.getUserId(); + String password31 = ardSyUser.getPassword(); + String passwordMd5 = DigestUtils.md5Hex(password31); + Map<String, Object> result1 = sYClient.logIn(syURL,passwordMd5, username31); + result = new HashMap(); + result.put("userId", username31); + result.put("sessionId", (String) result1.get("sessionId")); + //鏌ヨ璇eamId涓嬬殑杞﹁締鏁版嵁 + Map<String,Object> carList31 = new HashMap(); + carList31 = sYClient.getCarList1(syURL,teamId, result.get("userId"),result.get("sessionId")); + //鎷垮埌杞﹁締鏁版嵁 + list= (List) carList31.get("list"); + List<String> carIdList = new ArrayList(); + //鎵�鏈塩arId + for(Map<String,String> m : list){ + carIdList.add(m.get("carId")); + } + if(carIdList.size() == 0){ + Map<String,String> map0 = new HashMap(); + map0.put("list", "{}"); + map0.put("rspCode", "1"); + list.add(map0); + return list; + } + //娣诲姞杞﹁締灞炴�� + for(Map<String,String> m : list){ + switch (m.get("state")) { + case "1": + m.put("carState", "绂荤嚎-浠庢湭鎶ュ畾浣�");break; + case "2": + m.put("carState", "绂荤嚎-娆犺垂");break; + case "3": + m.put("carState", "绂荤嚎");break; + case "4": + m.put("carState", "绂荤嚎-鎶ヨ");break; + case "5": + m.put("carState", "鍦ㄧ嚎-浠庢湭鎶ュ畾浣�");break; + case "6": + m.put("carState", "鍦ㄧ嚎-娆犺垂");break; + case "7": + m.put("carState", "鍦ㄧ嚎-琛岄┒");break; + case "8": + m.put("carState", "鍦ㄧ嚎-琛岄┒-鎶ヨ");break; + case "9": + m.put("carState", "鍦ㄧ嚎-鍋滆溅-ACC鍏�");break; + case "10": + m.put("carState", "鍦ㄧ嚎-鍋滆溅-ACC寮�");break; + case "11": + m.put("carState", "鍦ㄧ嚎-鍋滆溅-ACC鍏�-鎶ヨ");break; + case "12": + m.put("carState", "鍦ㄧ嚎-鍋滆溅-ACC寮�-鎶ヨ");break; + case "13": + m.put("carState", "鍦ㄧ嚎-鏃犳晥瀹氫綅");break; + default: + break; + } + } + return list; + } + + /** * 鏍规嵁dept闆嗗悎鏌ヨ鍑烘墍鏈夊搴旂殑carId * @param deptList * @return */ @Override - public List<ArdSyCar> carIdByDeptList(List<Long> deptList){ + public List<Map<String,String>> carIdByDeptList(List<Long> deptList,List<Map<String,String>> list){ QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>(); queryWrapper.in("dept_id",deptList); - return ardSyCarMapper.selectList(queryWrapper); + List<ArdSyCar> carList = ardSyCarMapper.selectList(queryWrapper); + //瀵规瘮鎶婂尮閰嶅埌鐨勬暟鎹坊鍔犲埌list涓� + for(Map<String,String> m : list){ + String carId = m.get("carId"); + for (int i = 0; i < carList.size(); i++) { + ArdSyCar ardSyCar = carList.get(i); + if(carId.equals(ardSyCar.getCarId())){ + m.put("carModel",ardSyCar.getCarModel()); + m.put("carTypeArd",ardSyCar.getCarType()); + m.put("carBrand",ardSyCar.getCarBrand()); + m.put("carPicture",ardSyCar.getCarPicture()); + } + } + } + return list; } } -- Gitblit v1.9.3