ard-work/pom.xml
@@ -161,6 +161,11 @@ <artifactId>netty-all</artifactId> <version>4.1.63.Final</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> </dependencies> <build> ard-work/src/main/java/com/ruoyi/client/ARDCarGPSLogInClient.java
ÎļþÒÑɾ³ý ard-work/src/main/java/com/ruoyi/client/ARDCarSYGPSClient.java
ÎļþÒÑɾ³ý ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
@@ -15,6 +15,7 @@ import javax.annotation.PostConstruct; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; @@ -83,6 +84,8 @@ e.printStackTrace(); } catch (JsonProcessingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -1,17 +1,10 @@ package com.ruoyi.sy.controller; import java.text.Collator; import java.util.*; import java.util.*; import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.client.ARDCarGPSLogInClient; import com.ruoyi.client.ARDCarSYGPSClient; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; @@ -23,9 +16,7 @@ import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.utils.forest.RongCloudClient; import com.ruoyi.utils.forest.SYClient; import com.ruoyi.utils.httpclient.SYCarClient; import com.ruoyi.utils.result.Results; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -42,8 +33,6 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * ä¸ä¸è½¦è¾Controller @@ -287,50 +276,8 @@ public Map<String,Object> allListByUser(){ String usersId = SecurityUtils.getUserId(); ArdSyUser ardSyUser = iArdSyUserService.userById(usersId); Map<String,Object> result0 = new HashMap(); //å¤æå ³è表æ¯å¦ææ°æ® if(ardSyUser!=null){ //31ç¨æ·åå¯ç String username31 = ardSyUser.getUserId(); String password31 = ardSyUser.getPassword(); //æ¥è¯¢å°å Map<String, String> result = logInMap.get(Integer.parseInt(usersId)); String syURL = sysConfigService.getSYURL(); Map<String, Object> result1 = ARDCarGPSLogInClient.loginIn(syURL,username31, password31); result = new HashMap(); result.put("userId", username31); result.put("sessionId", (String) result1.get("sessionId")); try { result0 = ARDCarSYGPSClient.getCarGPSTeamList(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 = (Map<String, Object>) ARDCarSYGPSClient.getCarListByTeamId(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; String syURL = sysConfigService.getSYURL(); return ardSyCarService.allListByUser(ardSyUser,syURL,usersId); } @PreAuthorize("@ss.hasPermi('sy:syCar:carList')") @@ -338,111 +285,22 @@ @ApiOperation("æ ¹æ®teamIdè·å车è¾å表") public Results getCarList(@RequestBody Map<String,String> map){ String usersId = SecurityUtils.getUserId(); Map<String, String> result = logInMap.get(Integer.parseInt(usersId)); String teamId = map.get("teamId"); String syURL = sysConfigService.getSYURL(); ArdSyUser ardSyUser = iArdSyUserService.userById(usersId); String syURL = sysConfigService.getSYURL(); String teamId = map.get("teamId"); //å¤æå ³è表æ¯å¦ææ°æ® if(ardSyUser!=null) { //31ç¨æ·åå¯ç String username31 = ardSyUser.getUserId(); String password31 = ardSyUser.getPassword(); Map<String, Object> userMap = ARDCarGPSLogInClient.loginIn(syURL,username31, password31); result = new HashMap(); result.put("userId", username31); result.put("sessionId", (String) userMap.get("sessionId")); //æ¥è¯¢åº31çè½¦è¾æ°æ® List<Map<String,String>> list = ardSyCarService.getCarList(ardSyUser,syURL,usersId,teamId); //æ ¹æ®userIdæ¥è¯¢é¨é¨Id SysUser sysUser = sysUserService.selectUserById(usersId); //æ ¹æ®å½ådeptIdæè å½ååæå±ä¸çº§çæædeptId List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId()); //æ ¹æ®deptéåæ¥è¯¢åºææå¯¹åºç车è¾å表并èµå¼ return Results.succeed(ardSyCarService.carIdByDeptList(deptList,list)); }else { return Results.error("åè¡¨ä¸ºç©ºï¼æ å ³èè´¦å·ï¼"); } //æ¥è¯¢è¯¥teamIdä¸çè½¦è¾æ°æ® Map<String,Object> carList31 = new HashMap(); try { carList31 = ARDCarSYGPSClient.getCarListByTeamId(syURL,teamId, result.get("userId"),result.get("sessionId")); } catch (Exception e) { Map<String,Object> m = iArdSyUserService.selectArdSyUserByUsersId(Integer.parseInt(usersId)); if(m == null){ Results.error("å½åç»å½ç¨æ·æªææ¥è½¦è¾æé"); } Map<String,Object> map0 = ARDCarGPSLogInClient.loginIn(syURL,(String) m.get("userId"), (String) m.get("password")); carList31 = ARDCarSYGPSClient.getCarListByTeamId(syURL,teamId, (String) m.get("userId"),(String) map0.get("sessionId")); } //æ¿å°è½¦è¾æ°æ® List<Map<String,String>> list = (List) carList31.get("list"); List<String> carIdList = new ArrayList(); //ææcarId for(Map<String,String> m : list){ carIdList.add(m.get("carId")); } if(carIdList.size() == 0){ Map<String,Object> map0 = new HashMap(); map0.put("list", new ArrayList()); map0.put("rspCode", "1"); return Results.succeed(); } //æ·»å 车è¾å±æ§ 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; } } //æ ¹æ®userIdæ¥è¯¢é¨é¨Id SysUser sysUser = sysUserService.selectUserById(usersId); Long deptId = sysUser.getDeptId(); //æ ¹æ®å½ådeptIdæè å½ååæå±ä¸çº§çæædeptId List<Long> deptList = sysDeptService.deptIdBySub(deptId); //æ ¹æ®deptéåæ¥è¯¢åºææå¯¹åºç车è¾å表 List<ArdSyCar> carList = ardSyCarService.carIdByDeptList(deptList); //å¯¹æ¯æå¹é å°çæ°æ®æ·»å å°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()); } } // for(Map<String,String> ma :){ // if(m.get("carId").equals(ma.get("carId"))){ // m.put("stateCn", ma.get("carState")); // } // } } // Collections.sort((List)result0.get("list"),new Comparator<Map<String, Object>>() { // @Override // public int compare(Map<String, Object> o1, Map<String, Object> o2) { // Comparator<Object> com = Collator.getInstance(java.util.Locale.CHINA); // return com.compare(o2.get("stateCn"), o1.get("stateCn")); // } // }); return Results.succeed(list); } @PreAuthorize("@ss.hasPermi('sy:syCar:carListById')") ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCar.java
@@ -1,5 +1,6 @@ package com.ruoyi.sy.domain; import com.baomidou.mybatisplus.annotation.TableField; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -44,14 +45,18 @@ /** é¢ç1 */ @Excel(name = "é¢ç1") @TableField("reserved_1") private String reserved1; /** é¢ç2 */ @Excel(name = "é¢ç2") @TableField("reserved_2") private String reserved2; /** é¢ç3 */ @Excel(name = "é¢ç3") @TableField("reserved_3") private String reserved3; public void setId(String id) ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyUserMapper.java
@@ -77,9 +77,6 @@ */ public List<SysUser> getSysUserNoSY(); @MapKey("id") Map<String,Object> selectArdSyUserByUsersId(Integer usersId); ArdSyUser userById(String id); public List<ArdSyUser> selectSyUser(); ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
@@ -4,6 +4,7 @@ import java.util.Map; import com.ruoyi.sy.domain.ArdSyCar; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.utils.result.Results; import org.springframework.web.multipart.MultipartFile; @@ -98,6 +99,19 @@ */ public void sendArdSyCarAlarmByCarId(String carId, Map<Integer,Object> data); // List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList); /** * æ ¹æ®ç¨æ·è·åä¸ä¸å表 * @param ardSyUser * @param syURL * @param usersId * @return */ Map<String,Object> allListByUser(ArdSyUser ardSyUser, String syURL,String usersId); List<Map<String,String>> getCarList(ArdSyUser ardSyUser, String syURL,String usersId,String teamId); Results carListById(String id); /** @@ -105,6 +119,6 @@ * @param deptList * @return */ List<ArdSyCar> carIdByDeptList(List<Long> deptList); List<Map<String,String>> carIdByDeptList(List<Long> deptList,List<Map<String,String>> list); } ard-work/src/main/java/com/ruoyi/sy/service/IArdSyUserService.java
@@ -74,8 +74,6 @@ */ public List<SysUser> getSysUserNoSY(); Map<String,Object> selectArdSyUserByUsersId(Integer usersId); ArdSyUser userById(String id); /** 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")); //æ¥è¯¢è¯¥teamIdä¸çè½¦è¾æ°æ® 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(); //ææcarId 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; } } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyUserServiceImpl.java
@@ -117,12 +117,6 @@ } @Override public Map<String,Object> selectArdSyUserByUsersId(Integer usersId) { Map<String,Object> result = ardSyUserMapper.selectArdSyUserByUsersId(usersId); return result; } @Override public ArdSyUser userById(String id) { return ardSyUserMapper.userById(id); } ard-work/src/main/java/com/ruoyi/utils/forest/SYClient.java
@@ -11,4 +11,13 @@ @Get(url = "${syURL}/gps-web/api/get_car_list.jsp?teamId=&detail=false&sessionId=${sessionId}") Map<String,Object> getCarList(@Var("syURL") String syURL, @Var("sessionId") String sessionId); @Get(url = "${syURL}/gps-web/api/get_team_list.jsp?teamId=&userId=${userId}&loginType=user&loginWay=interface&loginLang=zh_CN&appDevId=&appId=android&sessionId=${sessionId}") Map<String,Object> getTeamList(@Var("syURL") String syURL, @Var("userId") String userId, @Var("sessionId") String sessionId); @Get(url = "${syURL}/gps-web/api/get_team_car_list.jsp?teamId=${teamId}&video=false&sessionId=${sessionId}") Map<String,Object> getTeamCarList(@Var("syURL") String syURL, @Var("teamId") String teamId, @Var("sessionId") String sessionId); @Get(url = "${syURL}/gps-web/api/get_car_list.jsp?teamId=${teamId}&detail=true&userId=${userId}&loginType=user&loginWay=interface&loginLang=zh_CN&appDevId=&appId=android&sessionId=${sessionId}") Map<String,Object> getCarList1(@Var("syURL") String syURL, @Var("teamId") String teamId, @Var("userId") String userId, @Var("sessionId") String sessionId); } ard-work/src/main/resources/mapper/sy/ArdSyUserMapper.xml
@@ -125,14 +125,6 @@ and su.user_id not in (select asu.sys_user_id from ard_sy_user asu) </select> <select id="selectArdSyUserByUsersId" resultType="java.util.Map" parameterType="java.lang.Integer" > select asu.id,asu.user_id as userId,asu.password, aus.users_id as usersId,au.name from ard_sy_user asu inner join ard_users_sy aus on asu.id = aus.sy_user_id inner join ard_users au on aus.users_id = au.id where aus.users_id = #{usersId} </select> <select id="userById" parameterType="String" resultMap="ArdSyUserResult"> <include refid="selectArdSyUserVo"/> where sys_user_id = #{id} ruoyi-common/pom.xml
@@ -164,6 +164,12 @@ <version>1.1.3</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-annotation</artifactId> <version>3.4.2</version> <scope>compile</scope> </dependency> </dependencies> </project> ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
@@ -4,6 +4,8 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; @@ -22,36 +24,45 @@ /** æç´¢å¼ */ @JsonIgnore @ApiModelProperty(hidden = true) @TableField(exist = false) private String searchValue; /** å建è */ @ApiModelProperty(hidden = true) @TableField(exist = false) private String createBy; /** å建æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(hidden = true) @TableField(exist = false) private Date createTime; /** æ´æ°è */ @ApiModelProperty(hidden = true) @TableField(exist = false) private String updateBy; /** æ´æ°æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(hidden = true) @TableField(exist = false) private Date updateTime; /** 夿³¨ */ @ApiModelProperty(hidden = true) @TableField(exist = false) private String remark; /** 请æ±åæ° */ @JsonInclude(JsonInclude.Include.NON_EMPTY) @TableField(exist = false) private Map<String, Object> params; @TableField(exist = false) private Integer pageNum; @TableField(exist = false) private Integer pageSize; public Integer getPageNum() {