From 651186d7fce51274500b66d7ed8a53bedc6a1339 Mon Sep 17 00:00:00 2001 From: 艾金辉 <1144154118@qq.com> Date: 星期一, 24 七月 2023 12:47:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java | 1 ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml | 75 +++++++++--- ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 7 + ard-work/src/main/java/com/ruoyi/utils/forest/UavClient.java | 1 ard-work/src/main/java/com/ruoyi/utils/forest/SYClient.java | 14 ++ ard-work/src/main/java/com/ruoyi/utils/forest/UavAuthLifeCircle.java | 1 ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 19 +++ ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 2 ard-work/pom.xml | 4 ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java | 6 ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplAlarm.java | 128 +++++++++++++++++++++ ard-work/src/main/java/com/ruoyi/client/ARDCarGPSLogInClient.java | 7 ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java | 14 - ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 6 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 2 ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java | 5 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 39 +++--- 17 files changed, 268 insertions(+), 63 deletions(-) diff --git a/ard-work/pom.xml b/ard-work/pom.xml index 3a793aa..403665f 100644 --- a/ard-work/pom.xml +++ b/ard-work/pom.xml @@ -98,10 +98,6 @@ <artifactId>forest-spring-boot-starter</artifactId> <version>1.5.28</version> </dependency> - <dependency> - <groupId>com.ruoyi</groupId> - <artifactId>ruoyi-common</artifactId> - </dependency> <!--lombok渚濊禆--> <dependency> <groupId>org.projectlombok</groupId> diff --git a/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java b/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java index 0adc204..dba3030 100644 --- a/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java +++ b/ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java @@ -3,18 +3,13 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -23,6 +18,7 @@ import com.ruoyi.app.task.service.IArdAppTaskService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * app浠诲姟绠$悊Controller @@ -67,7 +63,7 @@ /** * 鑾峰彇app浠诲姟绠$悊璇︾粏淇℃伅 */ - @ApiOperation("鑾峰彇app浠诲姟绠$悊璇︾粏淇℃伅(鍥剧墖)") + @ApiOperation("鑾峰彇app浠诲姟绠$悊璇︾粏淇℃伅") @PreAuthorize("@ss.hasPermi('app:task:query')") @GetMapping(value = "/{id}") public AjaxResult getInfoWithPic(@PathVariable("id") String id) diff --git a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java index 8d48079..e341813 100644 --- a/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java +++ b/ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java @@ -19,6 +19,7 @@ * @param id app浠诲姟绠$悊涓婚敭 * @return app浠诲姟绠$悊 */ + public ArdAppTask selectArdAppTaskById(String id); public ArdAppTask selectArdAppTaskByIdWithPic(String id); public ArdAppTask selectArdAppTaskByIdWithDetail(String id); /** diff --git a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java index 0a3fc0c..b5cd85b 100644 --- a/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java @@ -46,10 +46,7 @@ */ @Override public ArdAppTask selectArdAppTaskById(String id) { - ArdAppTask task = ardAppTaskMapper.selectArdAppTaskByIdWithPic(id); - ArdAppTask temp = ardAppTaskMapper.selectArdAppTaskByIdWithDetail(id); - task.setArdAppTaskDetailList(temp.getArdAppTaskDetailList()); - return task; + return ardAppTaskMapper.selectArdAppTaskById(id); } /** @@ -112,6 +109,7 @@ @Override public int deleteArdAppTaskByIds(String[] ids) { ardAppTaskMapper.deleteArdAppTaskPicByTaskIds(ids); + ardAppTaskMapper.deleteArdAppTaskDetailByTaskIds(ids); return ardAppTaskMapper.deleteArdAppTaskByIds(ids); } diff --git a/ard-work/src/main/java/com/ruoyi/client/ARDCarGPSLogInClient.java b/ard-work/src/main/java/com/ruoyi/client/ARDCarGPSLogInClient.java index afe65a5..0eaf286 100644 --- a/ard-work/src/main/java/com/ruoyi/client/ARDCarGPSLogInClient.java +++ b/ard-work/src/main/java/com/ruoyi/client/ARDCarGPSLogInClient.java @@ -6,13 +6,14 @@ import okhttp3.Response; import okhttp3.ResponseBody; import org.apache.commons.codec.digest.DigestUtils; + import java.io.IOException; import java.util.HashMap; import java.util.Map; public class ARDCarGPSLogInClient { - public static Map<String,Object> loginIn(String syURL,String userId,String password){ + public static Map<String, Object> loginIn(String syURL, String userId, String password) { OkHttpClient okHttpClient = new OkHttpClient(); String passwordMd5 = DigestUtils.md5Hex(password); @@ -21,7 +22,7 @@ .url("http://116.182.15.14:9999/gps-web/api/login.jsp?"+"password="+passwordMd5+"&userId="+userId+"&loginType=user&loginWay=interface&loginLang=zh_CN") .build();*/ Request request = new Request.Builder() - .url(syURL + "/gps-web/api/login.jsp?"+"password="+passwordMd5+"&userId="+userId+"&loginType=user&loginWay=interface&loginLang=zh_CN") + .url(syURL + "/gps-web/api/login.jsp?" + "password=" + passwordMd5 + "&userId=" + userId + "&loginType=user&loginWay=interface&loginLang=zh_CN") .build(); Response response = null; try { @@ -37,7 +38,7 @@ try { String message = responseBody.string();// 鍝嶅簲浣� - Map<String,Object> map = (Map<String, Object>) JSON.parse(message); + Map<String, Object> map = (Map<String, Object>) JSON.parse(message); map.put("passwordMd5", passwordMd5); //System.out.println(message); return map; diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java index c6a6492..6f092b0 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java +++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java @@ -1,7 +1,11 @@ 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; @@ -12,16 +16,20 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdSyUser; +import com.ruoyi.sy.gps31.PushClientImplAlarm; import com.ruoyi.sy.gps31.PushClientImplPosition; import com.ruoyi.sy.service.IArdSyUserService; import com.ruoyi.system.domain.SysConfig; 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; +import org.apache.commons.codec.digest.DigestUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -66,6 +74,8 @@ @Autowired private ISysDeptService sysDeptService; + @Resource + private SYClient sYClient; private ArdSyCarController ardSyCarController; @@ -100,6 +110,11 @@ } }; carPositionTimer.scheduleAtFixedRate(carPositionTask,date,3*1000);//鍚敤 + + //杞﹁締瀹炴椂浣嶇疆绾跨▼ + PushClientImplAlarm pushClientImplAlarm = new PushClientImplAlarm(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword()); + Thread pushClientImplAlarmThread = new Thread(pushClientImplAlarm); + pushClientImplAlarmThread.start(); } /** @@ -193,7 +208,9 @@ return error("涓変竴杞﹁締url娌℃湁褰曞叆"); }else{ syURL = sysConfigResult.get(0).getConfigValue(); - Map<String,Object> result = SYCarClient.logIn(syURL,userId, password); + //Map<String,Object> result = SYCarClient.logIn(syURL,userId, password); + String passwordMd5 = DigestUtils.md5Hex(password); + Map<String,Object> result = sYClient.logIn(syURL,passwordMd5,userId); return success(result); } } diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplAlarm.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplAlarm.java new file mode 100644 index 0000000..4e20729 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplAlarm.java @@ -0,0 +1,128 @@ +/** + * <p>Description: </p> + * <p>Copyright: Copyright (c) 2020</p> + * <p>Company: www.31gps.net</p> + * @author chencq + * @version 1.0 + */ +package com.ruoyi.sy.gps31; + +import com.alibaba.fastjson2.JSON; +import com.gps31.push.netty.PushClient; +import com.gps31.push.netty.PushMsg; +import com.gps31.push.netty.client.TcpClient; +import com.gps31.push.util.MapUtil; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.sy.service.impl.ArdSyCarServiceImpl; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * <p>Description: </p> + * <p>Copyright: Copyright (c) 2020</p> + * <p>Company: www.31gps.net</p> + * @author chencq + * @version 1.0 + */ +public class PushClientImplAlarm extends PushClient implements Runnable { + + private static final Log log = LogFactory.getLog(PushClientImplAlarm.class); + + private String ip; + + private String userId; + + private String password; + + public PushClientImplAlarm(String ip, String userId, String password) { + this.ip = ip; + this.userId = userId; + this.password = password; + } + + public PushClientImplAlarm() { + + } + + @Override + public void messageReceived(TcpClient tcpClient, PushMsg pushMsg) + throws Exception { + if("8001".equals(pushMsg.getCmd())) {//鐧诲綍搴旂瓟 + String rspResult = MapUtil.getStrVal(pushMsg.getJsonMap(),"rspResult","1"); + if("0".equals(rspResult)) {//鐧诲綍鎴愬姛锛屽畾闃呭姩鎬佹秷鎭� + Map<String,Object> map = new HashMap<String,Object>(); + map.put("seq", "1"); + map.put("action", "add"); + map.put("msgIds", JSON.toJSONString(getSubCmdSet())); + PushMsg subMsg = getInstance("0003",map); + sendMsg(subMsg); + } + }else if("8002".equals(pushMsg.getCmd())){//蹇冭烦搴旂瓟 + + }else if("8003".equals(pushMsg.getCmd())){//璁㈤槄鍔ㄦ�佹秷鎭簲绛� + String rspResult = MapUtil.getStrVal(pushMsg.getJsonMap(),"rspResult","1"); + //log.error(String.format(" 璁㈤槄搴旂瓟:%s", "0".equals(rspResult)?"鎴愬姛":"澶辫触")); + }else if("0200".equals(pushMsg.getCmd())) {//瀹氫綅淇℃伅 + Map<String,Object> gpsMap = pushMsg.getJsonMap(); + String carName = MapUtil.getStrVal(gpsMap, "carName","");//鑾峰彇杞︾墝鍙� + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + System.out.println(sdf.format(new Date())); + //log.error(String.format(" ---->鏀跺埌瀹氫綅鏁版嵁:%s",JSON.toJSONString(gpsMap))); + /** + * + * 璇峰姞鍏ヤ笁鏂归泦鎴愭柟鐨勪笟鍔¢�昏緫 + * + */ + }else if("0300".equals(pushMsg.getCmd())) {//鎶ヨ娑堟伅 + Map<String,Object> alarmMap = pushMsg.getJsonMap(); + /*String carName = MapUtil.getStrVal(alarmMap, "carName","");//鑾峰彇杞︾墝鍙� + log.error(String.format(" ---->鏀跺埌鎶ヨ鏁版嵁:%s",JSON.toJSONString(alarmMap)));*/ + String carId = (String)alarmMap.get("carId"); + Map<String,Object> result = ((ArdSyCarServiceImpl) SpringUtils.getBean("ardSyCarServiceImpl")).getArdSyCarAndDeptByCarId(carId);//鏌ヨ杞﹁締鍙婇儴闂� + if(result != null){ + alarmMap.putAll(result); + } + Map<Integer,Object> data = new HashMap(); + data.put(40000, alarmMap); + ((ArdSyCarServiceImpl) SpringUtils.getBean("ardSyCarServiceImpl")).sendArdSyCarAlarmByCarId(carId,data);//鏌ヨ杞﹁締鍙婇儴闂� + }else if("0401".equals(pushMsg.getCmd())) {//閫忎紶娑堟伅 + Map<String,Object> dataMap = pushMsg.getJsonMap(); + String carName = MapUtil.getStrVal(dataMap, "carName","");//鑾峰彇杞︾墝鍙� + //log.error(String.format(" ---->鏀跺埌閫忎紶鏁版嵁:%s",JSON.toJSONString(dataMap))); + /** + * + * 璇峰姞鍏ヤ笁鏂归泦鎴愭柟鐨勪笟鍔¢�昏緫 + * + */ + } + } + + public void sendMassage() { + try { + PushClientImplPosition client = new PushClientImplPosition(); + client.setLog(false);//鏄惁鎵撳嵃鏄庢枃 + client.setHost(this.ip);//鏈嶅姟鍣↖P + client.setPort(10100);//鏈嶅姟鍣ㄧ鍙� + client.setUserName(this.userId);//绯荤粺鐢ㄦ埛鍚� + client.setPwd(this.password);//绯荤粺鐢ㄦ埛瀵嗙爜 + client.setSubMsgIds("0300");//璁㈤槄鐨勫姩鎬佹秷鎭紝澶氫釜鍔ㄦ�佹秷鎭娇鐢▅杈熷垎锛屽綋鍓嶇ず渚嬫槸璁㈤槄 瀹氫綅娑堟伅(0x0200)鍜屾姤璀︽秷鎭�(0x0300) + client.setDesc("娴嬭瘯瀹㈡埛绔�");//瀹㈡埛绔殑鎻忚堪锛� + client.start(); + while(true) { + Thread.sleep(1000); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void run() { + sendMassage(); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java index bb667de..aa2e1b2 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java +++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java @@ -143,7 +143,7 @@ public void sendMassage() { try { PushClientImplPosition client = new PushClientImplPosition(); - client.setLog(true);//鏄惁鎵撳嵃鏄庢枃 + client.setLog(false);//鏄惁鎵撳嵃鏄庢枃 client.setHost(this.ip);//鏈嶅姟鍣↖P client.setPort(10100);//鏈嶅姟鍣ㄧ鍙� client.setUserName(this.userId);//绯荤粺鐢ㄦ埛鍚� diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java index 6ef3b32..8ab902e 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java @@ -92,6 +92,11 @@ * 鏍规嵁閮ㄩ棬鍙戦�佽溅杈嗗疄鏃朵綅缃� */ public void sendArdSyCarPosition(); + + /** + * 鏍规嵁閮ㄩ棬鍙戦�佽溅杈嗗疄鏃舵姤璀� + */ + public void sendArdSyCarAlarmByCarId(String carId, Map<Integer,Object> data); // List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList); Results carListById(String id); 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 79ac29f..bffd911 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 @@ -21,6 +21,7 @@ import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.utils.forest.SYClient; import com.ruoyi.utils.httpclient.SYCarClient; import com.ruoyi.utils.result.Constants; import com.ruoyi.utils.result.Results; @@ -61,6 +62,8 @@ @Resource private SysUserMapper userMapper; + @Resource + private SYClient sYClient; /** * 鏌ヨ涓変竴杞﹁締 @@ -161,9 +164,12 @@ return result; }else{ ArdSyUser ardSyUser = ardSyUserList.get(0); - Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + //Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); + Map<String,Object> LogInResult = sYClient.logIn(syURL,passwordMd5,ardSyUser.getUserId()); String sessionId = (String) LogInResult.get("sessionId"); - Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + //Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + Map<String,Object> carListMap = sYClient.getCarList(syURL,sessionId); if(((String)carListMap.get("rspCode")).equals("1")){ List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list"); ArdSyCar ardSyCar = new ArdSyCar(); @@ -213,25 +219,14 @@ return result; }else{ ArdSyUser ardSyUser = ardSyUserList.get(0); - Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + //Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); + Map<String,Object> LogInResult = sYClient.logIn(syURL,passwordMd5,ardSyUser.getUserId()); String sessionId = (String) LogInResult.get("sessionId"); - Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + //Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + Map<String,Object> carListMap = sYClient.getCarList(syURL,sessionId); if(((String)carListMap.get("rspCode")).equals("1")){ List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list"); - /*ArdSyCar ardSyCar = new ArdSyCar(); - List<ArdSyCar> ardSyCarList = ardSyCarMapper.selectArdSyCarList(ardSyCar); - List<String> carIdList = new ArrayList(); - for(ArdSyCar innerArdSyCar : ardSyCarList){ - carIdList.add(innerArdSyCar.getCarId()); - } - - List<Map<String,Object>> carList = list.stream().filter(new Predicate<Map<String,Object>>(){ - @Override - public boolean test(Map<String,Object> map) { - return !carIdList.contains((String)map.get("carId")); - } - }).collect(Collectors.toList()); - result.put("data",carList);*/ result.put("data",list); result.put("code","200"); return result; @@ -380,6 +375,14 @@ } } + @Override + public void sendArdSyCarAlarmByCarId(String carId, Map<Integer,Object> data) { + List<SysUser> result = userMapper.getSysUserByCarId(carId); + for(SysUser sysUser : result){ + WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sysUser.getUserId()), JSON.toJSONString(data)); + } + } + /** * 鏍规嵁dept闆嗗悎鏌ヨ鍑烘墍鏈夊搴旂殑carId * @param deptList diff --git a/ard-work/src/main/java/com/ruoyi/utils/forest/SYClient.java b/ard-work/src/main/java/com/ruoyi/utils/forest/SYClient.java new file mode 100644 index 0000000..7d1380a --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/utils/forest/SYClient.java @@ -0,0 +1,14 @@ +package com.ruoyi.utils.forest; + +import com.dtflys.forest.annotation.Get; +import com.dtflys.forest.annotation.Var; + +import java.util.Map; + +public interface SYClient { + @Get(url = "${syURL}/gps-web/api/login.jsp?password=${password}&userId=${userId}&loginType=user&loginWay=interface&loginLang=zh_CN") + Map<String,Object> logIn(@Var("syURL") String syURL, @Var("password") String password, @Var("userId") String userId); + + @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); +} diff --git a/ard-work/src/main/java/com/ruoyi/utils/forest/UavAuthLifeCircle.java b/ard-work/src/main/java/com/ruoyi/utils/forest/UavAuthLifeCircle.java index f010584..db6338f 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/forest/UavAuthLifeCircle.java +++ b/ard-work/src/main/java/com/ruoyi/utils/forest/UavAuthLifeCircle.java @@ -7,7 +7,6 @@ public class UavAuthLifeCircle implements MethodAnnotationLifeCycle<UavAuth, Object> { - /** * 鍙戦�佽姹傚墠鎵ц姝ゆ柟娉� */ diff --git a/ard-work/src/main/java/com/ruoyi/utils/forest/UavClient.java b/ard-work/src/main/java/com/ruoyi/utils/forest/UavClient.java index c90ce14..67558fe 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/forest/UavClient.java +++ b/ard-work/src/main/java/com/ruoyi/utils/forest/UavClient.java @@ -14,7 +14,6 @@ public static String IP = "http://112.98.126.2:6100/"; - @UavAuth(token = "${token}") @Get(IP + "${url}") String GET(@DataVariable("url") String url, @DataVariable("token") String token, @JSONBody String body); diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml index c4a8f50..b3c7423 100644 --- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml +++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml @@ -16,7 +16,28 @@ <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> </resultMap> - + <resultMap id="ArdAppTaskSubResult" type="ArdAppTask" extends="ArdAppTaskResult"> + <collection property="ardAppTaskPicList" notNullColumn="sub2_id" javaType="java.util.List" + resultMap="ArdAppTaskPicResult"/> + <collection property="ardAppTaskDetailList" notNullColumn="sub1_id" javaType="java.util.List" + resultMap="ArdAppTaskDetailResult"/> + </resultMap> + <resultMap type="ArdAppTaskDetail" id="ArdAppTaskDetailResult"> + <result property="id" column="sub1_id"/> + <result property="name" column="sub1_name"/> + <result property="longitude" column="sub1_longitude"/> + <result property="latitude" column="sub1_latitude"/> + <result property="altitude" column="sub1_altitude"/> + <result property="userId" column="sub1_user_id"/> + <result property="text" column="sub1_text"/> + <result property="voice" column="sub1_voice"/> + <result property="taskId" column="sub1_task_id"/> + </resultMap> + <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult"> + <result property="id" column="sub2_id"/> + <result property="taskId" column="sub2_task_id"/> + <result property="picUrl" column="sub2_pic_url"/> + </resultMap> <resultMap id="ArdAppTaskArdAppTaskPicResult" type="ArdAppTask" extends="ArdAppTaskResult"> <collection property="ardAppTaskPicList" notNullColumn="sub_id" javaType="java.util.List" resultMap="ArdAppTaskPicResult"/> @@ -24,23 +45,6 @@ <resultMap id="ArdAppTaskArdAppTaskDetailResult" type="ArdAppTask" extends="ArdAppTaskResult"> <collection property="ardAppTaskDetailList" notNullColumn="sub_id" javaType="java.util.List" resultMap="ArdAppTaskDetailResult"/> - </resultMap> - - <resultMap type="ArdAppTaskDetail" id="ArdAppTaskDetailResult"> - <result property="id" column="sub_id"/> - <result property="name" column="sub_name"/> - <result property="longitude" column="sub_longitude"/> - <result property="latitude" column="sub_latitude"/> - <result property="altitude" column="sub_altitude"/> - <result property="userId" column="sub_user_id"/> - <result property="text" column="sub_text"/> - <result property="voice" column="sub_voice"/> - <result property="taskId" column="sub_task_id"/> - </resultMap> - <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult"> - <result property="id" column="sub_id"/> - <result property="taskId" column="sub_task_id"/> - <result property="picUrl" column="sub_pic_url"/> </resultMap> <sql id="selectArdAppTaskVo"> @@ -65,15 +69,43 @@ <if test="name != null and name != ''">and name like '%'||#{name}||'%'</if> <if test="text != null and text != ''">and text = #{text}</if> <if test="voice != null and voice != ''">and voice = #{voice}</if> - <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t + <if test="deptId != null and deptId != 0 "> + and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) )) </if> <if test="userId != null and userId != ''">and user_id = #{userId}</if> - <!-- 鏁版嵁鑼冨洿杩囨护 --> - ${params.dataScope} </where> + <!-- 鏁版嵁鑼冨洿杩囨护 --> + ${params.dataScope} </select> + <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult"> + select a.id, + a.name, + a.text, + a.voice, + a.dept_id, + a.user_id, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + b.id as sub2_id, + b.task_id as sub2_task_id, + b.pic_url as sub2_pic_url, + c.id as sub1_id, + c.name as sub1_name, + c.longitude as sub1_longitude, + c.latitude as sub1_latitde, + c.altitude as sub1_altitude, + c.user_id as sub1_user_id, + c.text as sub1_text, + c.voice as sub1_voice + from ard_app_task a + left join ard_app_task_pic b on b.task_id = a.id + left join ard_app_task_detail c on c.task_id = a.id + where a.id = #{id} + </select> <select id="selectArdAppTaskByIdWithPic" parameterType="String" resultMap="ArdAppTaskArdAppTaskPicResult"> select a.id, a.name, @@ -115,6 +147,7 @@ left join ard_app_task_detail c on c.task_id = a.id where a.id = #{id} </select> + <insert id="insertArdAppTask" parameterType="ArdAppTask"> insert into ard_app_task <trim prefix="(" suffix=")" suffixOverrides=","> diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 0e20c09..b0bbc08 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -61,6 +61,7 @@ /** * 鑾峰彇鐢ㄦ埛鍒楄〃 */ + @ApiOperation("鑾峰彇鐢ㄦ埛鍒楄〃") @PreAuthorize("@ss.hasPermi('system:user:list')") @GetMapping("/list") public TableDataInfo list(SysUser user) { @@ -98,6 +99,7 @@ /** * 鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇璇︾粏淇℃伅 */ + @ApiOperation("鏍规嵁鐢ㄦ埛缂栧彿鑾峰彇璇︾粏淇℃伅") @PreAuthorize("@ss.hasPermi('system:user:query')") @GetMapping(value = {"/", "/{userId}"}) public AjaxResult getInfo(@PathVariable(value = "userId", required = false) String userId) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 2d6fe03..0c7859e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -132,4 +132,10 @@ * @return 缁撴灉 */ public SysUser checkEmailUnique(String email); + + /** + * 鏍规嵁杞﹁締涓婚敭鏌ヨ鐩村睘鍙婁笂绾х敤鎴� + * + */ + public List<SysUser> getSysUserByCarId(String carId); } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 08396d0..5f916c9 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -283,4 +283,11 @@ </foreach> </delete> + <select id="getSysUserByCarId" parameterType="java.lang.String" resultMap="SysUserResult"> + select * from sys_user su where su.dept_id in ( + select cast(unnest(array_append(string_to_array(sd.ancestors,','), + cast(sd.dept_id as text))) as int) from ard_sy_car asy + inner join sys_dept sd on asy.dept_id = sd.dept_id + where asy.car_id = #{carId}) + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3