From 38f29e38fcc668171dc05c53d40a36b895c86102 Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期四, 10 十月 2024 13:34:28 +0800 Subject: [PATCH] init --- ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java | 772 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 741 insertions(+), 31 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java b/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java index 026c3bd..8720596 100644 --- a/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java +++ b/ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java @@ -1,12 +1,24 @@ package com.ruoyi.device.uav.service; +import com.alibaba.fastjson.JSON; import com.dtflys.forest.exceptions.ForestNetworkException; +import com.dtflys.forest.exceptions.ForestRuntimeException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.ConfigUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.device.uav.websocketclient.UAVWebsocketClient; +import com.ruoyi.sy.controller.ArdSyCarController; import com.ruoyi.utils.forest.UavClient; +import lombok.extern.slf4j.Slf4j; +import okhttp3.*; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.collections4.map.HashedMap; +import org.java_websocket.WebSocket; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpMethod; import org.springframework.beans.factory.annotation.Autowired; @@ -15,28 +27,77 @@ 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; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.*; @Service +@Slf4j(topic = "uav") public class UavService { - public static final String USERNAME = "ardbailu";//鐢ㄦ埛鍚� - public static final String PASSWORD = "ardkj12345";//瀵嗙爜 - public static final String SALT = "0123456789012345";//鐩� + /*uav: + host: http://112.98.126.2:6100/ + username: kaifabailu + password: ardkj@2014 + salt: 0123456789012345 + */ + private String username;//鐢ㄦ埛鍚� - //token 鐧婚檰鍚庢瘡娆¤姹�,鍦╤eader涓惡甯� - private String token;//鐧诲綍鎴愬姛杩斿洖鐨則oken + private String password;//瀵嗙爜 + + private String salt; //鐩� + + private String host;//uav鏈嶅姟鍣�11 + + + private Map uavUser;//鐧诲綍鐨勭敤鎴蜂俊鎭� private ObjectMapper om = new ObjectMapper(); + + private Map<String, UAVWebsocketClient> UAVWebsocketClientMap = new HashedMap(); + + private String token; + + private String workspaceId; + @Autowired private UavClient uavClient; + @Autowired + private RedisCache redisCache; + + @Value("${uav.enabled}") + private Boolean uavEnabled; @PostConstruct public void created() { + if(!uavEnabled){//鏃犱汉鏈哄姞鍏ュ紑鍏� + return; + } + + getUavConfig(); this.login(); + //鍒涘缓鏃犱汉鏈篧ebsocket瀹㈡埛绔� + createWebsocketCients(); + } + + private void getUavConfig() { + this.host = ConfigUtils.getConfigValue("uav_host"); + this.username = ConfigUtils.getConfigValue("uav_username"); + this.password = ConfigUtils.getConfigValue("uav_password"); + this.salt = ConfigUtils.getConfigValue("uav_salt"); + /*this.host = "http://112.98.126.2:6100/"; + this.username = "znstest"; + this.password = "znstest"; + this.salt = "0123456789012345";*/ + if (StringUtils.isEmpty(this.host) || StringUtils.isEmpty(this.username) || StringUtils.isEmpty(this.password) || StringUtils.isEmpty(this.salt)) { + throw new RuntimeException("鏃犱汉鏈哄弬鏁伴厤缃己澶�:"); + } } public String doUavRequest(HttpMethod method, String url, String data) { + + getUavConfig(); String res = null; Method requestMethod = null; //鑾峰彇method @@ -46,44 +107,437 @@ e.printStackTrace(); } //鎵цmethod + // this.getToken();//鑾峰彇token楠岃瘉,楠岃瘉token鏈夋晥鎬� try { - res = (String) requestMethod.invoke(this.uavClient, url, this.token, data); - } catch (InvocationTargetException e) { - ForestNetworkException fe = (ForestNetworkException) e.getCause(); - if (fe.getStatusCode() == 401) {//token澶辨晥,閲嶆柊鐧诲綍 - this.login(); - } - try {//鍐嶆璋冪敤鎺ュ彛 - res = (String) requestMethod.invoke(this.uavClient, url, this.token, data); - } catch (IllegalAccessException ex) { - ex.printStackTrace(); - } catch (InvocationTargetException ex) { - ex.printStackTrace(); - } + String token = this.getToken(); + res = (String) requestMethod.invoke(this.uavClient, this.host + url, token, data); } catch (IllegalAccessException e) { - throw new RuntimeException(e); + System.out.println("doUavRequest 璁块棶澶辫触"); + System.out.println(url); + log.error("doUavRequest 璁块棶澶辫触" + e.getMessage()); + } catch (InvocationTargetException e) { + System.out.println("doUavRequest 鎵ц澶辫触"); + System.out.println(url); + log.error("doUavRequest 鎵ц澶辫触" + e.getMessage()); + e.printStackTrace(); } return res; } - public void login() { - String codedPassword = this.Encrypt(PASSWORD, SALT); - String body = "{\"username\":\"" + USERNAME + "\",\"password\":\"" + codedPassword + "\"}"; + public Map getUavUser() { + return redisCache.getCacheMap("uav:uavUser"); + } + + public String getToken() { + //鑾峰彇uav鐢ㄦ埛淇℃伅 + Map uavUser = redisCache.getCacheMap("uav:uavUser"); + String token = (String) uavUser.get("access_token"); + //楠岃瘉token鏈夋晥鎬� try { - String res = uavClient.POST("login", null, body); - Map resMap = om.readValue(res, Map.class); - Map data = (Map) resMap.get("data"); - if (data != null) { - this.token = (String) data.get("access_token"); + String res = uavClient.GET(this.host+"manage/api/v1/devices", token, "{}"); + res+=""; + //System.out.println(res); + + //token璧嬪�� + this.token = token; + this.workspaceId = (String) uavUser.get("workspace_id"); + } catch (ForestNetworkException fe) { + if (fe.getStatusCode() == 401) {//token澶辨晥,閲嶆柊鐧诲綍 + this.login(); + //鍐嶆鑾峰彇token + uavUser = redisCache.getCacheMap("uav:uavUser"); + token = (String) uavUser.get("access_token"); + //token璧嬪�� + this.token = token; + this.workspaceId = (String) uavUser.get("workspace_id"); + return token; } - } catch (ForestNetworkException e) { - e.printStackTrace(); + } + return token; + } + + public void login() { + + getUavConfig(); + log.debug("鐧诲綍鏃犱汉鏈哄閮ㄦ帴鍙�"); + String codedPassword = this.Encrypt(password, salt); + String body = "{\"username\":\"" + username + "\",\"password\":\"" + codedPassword + "\"}"; + log.debug("body:" + body); + try { + //uavClient.GET("logout", null, "{}"); + String res = uavClient.POST(this.host+"login", null, body); + Map resMap = om.readValue(res, Map.class); + if (resMap != null&& resMap.get("data") instanceof Map) { + redisCache.setCacheMap("uav:uavUser", (Map) resMap.get("data")); + } + } catch (ForestRuntimeException e) { + log.error("鏃犱汉鏈鸿繛鎺ヨ秴鏃�" + e.getMessage()); } catch (JsonMappingException e) { - e.printStackTrace(); } catch (JsonProcessingException e) { + } catch (IOException e) { + } + } + + public void createWebsocketCients(){ + /*String ip = this.host.replace("http://", ""); + if(this.UAVWebsocketClientMap.get("status") != null && this.UAVWebsocketClientMap.get("control") != null){ + //鏃犱汉鏈虹姸鎬佺伃娲� + UAVWebsocketClient uavStatusWebsocketClient = this.UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient.getHeartBeatTimer().cancel(); + uavStatusWebsocketClient.close(); + //鏃犱汉鏈烘帶鍒剁伃娲� + UAVWebsocketClient uavControlWebsocketClient = this.UAVWebsocketClientMap.get("control"); + uavControlWebsocketClient.getHeartBeatTimer().cancel(); + uavControlWebsocketClient.close(); + + this.UAVWebsocketClientMap.remove("status"); + this.UAVWebsocketClientMap.remove("control"); + } + + String uavStatusWsURL = "ws://" + ip + "api/v1/ws?x-auth-token=" + token; + System.out.println(uavStatusWsURL); + UAVWebsocketClient uavStatusWebsocketClient; + try { + uavStatusWebsocketClient = new UAVWebsocketClient(new URI(uavStatusWsURL)); + uavStatusWebsocketClient.connect(); + System.out.println("杩炴帴涓�傘�傘��"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(!uavStatusWebsocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)){ + uavStatusWebsocketClient.close(); + return; + } + Date date = new Date(); + Timer heartBeatTimer = new Timer(); + TimerTask heartBeatTask = new TimerTask(){ + public void run(){ + Map<String,Object> para = new HashMap(); + para.put("biz_code", "user_cmd"); + para.put("version", "1.0"); + Date date = new Date(); + para.put("time_stamp", String.valueOf(date.getTime())); + Map<String,String> payload = new HashMap(); + payload.put("timeStamp", String.valueOf(date.getTime())); + Map<String,Object> data = new HashMap(); + data.put("dataHead", "0x7479"); + data.put("cmdCode", "0x02"); + data.put("payload", payload); + para.put("data", data); + try{ + uavStatusWebsocketClient.send(JSON.toJSONString(para)); + System.out.println("鏃犱汉鏈虹姸鎬佸績璺冲彂閫�"); + }catch(Exception e){ + e.printStackTrace(); + System.out.println(uavStatusWebsocketClient.getServerUri()); + } + } + }; + uavStatusWebsocketClient.setHeartBeatTimer(heartBeatTimer); + heartBeatTimer.scheduleAtFixedRate(heartBeatTask,date,10*1000); + this.UAVWebsocketClientMap.put("status", uavStatusWebsocketClient); + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block e.printStackTrace(); } + + String uavControlWsURL = "ws://" + ip + "api/v1/ws/cmd?x-auth-token=" + token; + System.out.println(uavControlWsURL); + UAVWebsocketClient uavControlWebsocketClient; + try { + uavControlWebsocketClient = new UAVWebsocketClient(new URI(uavControlWsURL)); + uavControlWebsocketClient.connect(); + System.out.println("杩炴帴涓�傘�傘��"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(!uavControlWebsocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)){ + //鏃犱汉鏈虹姸鎬佺伃娲� + UAVWebsocketClient uavStatusWebsocketClient0 = this.UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient0.getHeartBeatTimer().cancel(); + uavStatusWebsocketClient0.close(); + + uavControlWebsocketClient.close(); + return; + } + Date date = new Date(); + Timer heartBeatTimer = new Timer(); + TimerTask heartBeatTask = new TimerTask(){ + public void run(){ + Map<String,Object> para = new HashMap(); + para.put("biz_code", "user_cmd"); + para.put("version", "1.0"); + Date date = new Date(); + para.put("time_stamp", String.valueOf(date.getTime())); + Map<String,String> payload = new HashMap(); + payload.put("timeStamp", String.valueOf(date.getTime())); + Map<String,Object> data = new HashMap(); + data.put("dataHead", "0x7479"); + data.put("cmdCode", "0x02"); + data.put("payload", payload); + para.put("data", data); + try{ + uavControlWebsocketClient.send(JSON.toJSONString(para)); + System.out.println("鏃犱汉鏈烘帶鍒跺績璺冲彂閫�"); + }catch(Exception e){ + e.printStackTrace(); + System.out.println(uavControlWebsocketClient.getServerUri()); + } + } + }; + uavControlWebsocketClient.setHeartBeatTimer(heartBeatTimer); + heartBeatTimer.scheduleAtFixedRate(heartBeatTask,date,10*1000); + this.UAVWebsocketClientMap.put("control", uavControlWebsocketClient); + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + }*/ + String ip = this.host.replace("http://", ""); + Date date = new Date(); + Timer heartBeatTimer = new Timer(); + TimerTask heartBeatTask = new TimerTask(){ + public void run(){ + if(token != null){//鍒ゆ柇鏄惁涓簄ull + if(UAVWebsocketClientMap.get("status") != null && UAVWebsocketClientMap.get("control") != null){ + String oldURL = UAVWebsocketClientMap.get("status").getServerUri().toString(); + String oldToken = oldURL.split("x-auth-token=")[1]; + if(!oldToken.equals(token)){//token鏇存柊浠庢柊鍒涘缓瀹㈡埛绔� + //鍘熷鎴风鐏椿 + UAVWebsocketClientMap.get("status").close();//鏃犱汉鏈虹姸鎬佺伃娲� + UAVWebsocketClientMap.get("control").close();//鏃犱汉鏈烘帶鍒剁伃娲� + UAVWebsocketClientMap.remove("status"); + UAVWebsocketClientMap.remove("control"); + + String uavStatusWsURL = "ws://" + ip + "api/v1/ws?x-auth-token=" + token; + UAVWebsocketClient uavStatusWebsocketClient = null; + try { + uavStatusWebsocketClient = new UAVWebsocketClient(new URI(uavStatusWsURL)); + uavStatusWebsocketClient.connect(); + System.out.println("杩炴帴涓�傘�傘��"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(!uavStatusWebsocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)){ + uavStatusWebsocketClient.close(); + uavStatusWebsocketClient = null; + } + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + String uavControlWsURL = "ws://" + ip + "api/v1/ws/cmd?x-auth-token=" + token; + UAVWebsocketClient uavControlWebsocketClient = null; + try { + uavControlWebsocketClient = new UAVWebsocketClient(new URI(uavControlWsURL)); + uavControlWebsocketClient.connect(); + System.out.println("杩炴帴涓�傘�傘��"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(!uavControlWebsocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)){ + //鏃犱汉鏈虹姸鎬佺伃娲� + UAVWebsocketClient uavStatusWebsocketClient0 = UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient0.close(); + + uavControlWebsocketClient.close(); + uavStatusWebsocketClient0 = null; + uavControlWebsocketClient = null; + //return; + } + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(uavStatusWebsocketClient != null || uavControlWebsocketClient != null){ + UAVWebsocketClientMap.put("status", uavStatusWebsocketClient); + UAVWebsocketClientMap.put("control", uavControlWebsocketClient); + + Map<String,Object> para = new HashMap(); + para.put("biz_code", "user_cmd"); + para.put("version", "1.0"); + Date date = new Date(); + para.put("time_stamp", String.valueOf(date.getTime())); + Map<String,String> payload = new HashMap(); + payload.put("timeStamp", String.valueOf(date.getTime())); + Map<String,Object> data = new HashMap(); + data.put("dataHead", "0x7479"); + data.put("cmdCode", "0x02"); + data.put("payload", payload); + para.put("data", data); + try{ + uavStatusWebsocketClient.send(JSON.toJSONString(para)); + uavControlWebsocketClient.send(JSON.toJSONString(para)); + //System.out.println("鏃犱汉鏈哄績璺冲彂閫�"); + }catch(Exception e){ + e.printStackTrace(); + System.out.println(uavStatusWebsocketClient.getServerUri()); + System.out.println(uavControlWebsocketClient.getServerUri()); + //鏃犱汉鏈虹姸鎬佺伃娲� + uavStatusWebsocketClient = UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient.close(); + //鏃犱汉鏈烘帶鍒剁伃娲� + uavControlWebsocketClient = UAVWebsocketClientMap.get("control"); + uavControlWebsocketClient.close(); + + UAVWebsocketClientMap.remove("status"); + UAVWebsocketClientMap.remove("control"); + } + } + }else{ + Map<String,Object> para = new HashMap(); + para.put("biz_code", "user_cmd"); + para.put("version", "1.0"); + Date date = new Date(); + para.put("time_stamp", String.valueOf(date.getTime())); + Map<String,String> payload = new HashMap(); + payload.put("timeStamp", String.valueOf(date.getTime())); + Map<String,Object> data = new HashMap(); + data.put("dataHead", "0x7479"); + data.put("cmdCode", "0x02"); + data.put("payload", payload); + para.put("data", data); + UAVWebsocketClient uavStatusWebsocketClient = UAVWebsocketClientMap.get("status"); + UAVWebsocketClient uavControlWebsocketClient = UAVWebsocketClientMap.get("control"); + try{ + uavStatusWebsocketClient.send(JSON.toJSONString(para)); + uavControlWebsocketClient.send(JSON.toJSONString(para)); + //System.out.println("鏃犱汉鏈哄績璺冲彂閫�"); + }catch(Exception e){ + e.printStackTrace(); + System.out.println(uavStatusWebsocketClient.getServerUri()); + System.out.println(uavControlWebsocketClient.getServerUri()); + //鏃犱汉鏈虹姸鎬佺伃娲� + uavStatusWebsocketClient = UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient.close(); + //鏃犱汉鏈烘帶鍒剁伃娲� + uavControlWebsocketClient = UAVWebsocketClientMap.get("control"); + uavControlWebsocketClient.close(); + + UAVWebsocketClientMap.remove("status"); + UAVWebsocketClientMap.remove("control"); + } + } + }else{ + String uavStatusWsURL = "ws://" + ip + "api/v1/ws?x-auth-token=" + token; + System.out.println(uavStatusWsURL); + UAVWebsocketClient uavStatusWebsocketClient = null; + try { + uavStatusWebsocketClient = new UAVWebsocketClient(new URI(uavStatusWsURL)); + uavStatusWebsocketClient.connect(); + System.out.println("杩炴帴涓�傘�傘��"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(!uavStatusWebsocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)){ + uavStatusWebsocketClient.close(); + uavStatusWebsocketClient = null; + } + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + String uavControlWsURL = "ws://" + ip + "api/v1/ws/cmd?x-auth-token=" + token; + System.out.println(uavControlWsURL); + UAVWebsocketClient uavControlWebsocketClient = null; + try { + uavControlWebsocketClient = new UAVWebsocketClient(new URI(uavControlWsURL)); + uavControlWebsocketClient.connect(); + System.out.println("杩炴帴涓�傘�傘��"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(!uavControlWebsocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)){ + //鏃犱汉鏈虹姸鎬佺伃娲� + UAVWebsocketClient uavStatusWebsocketClient0 = UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient0.close(); + + uavControlWebsocketClient.close(); + uavStatusWebsocketClient0 = null; + uavControlWebsocketClient = null; + } + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(uavStatusWebsocketClient != null || uavControlWebsocketClient != null){ + UAVWebsocketClientMap.put("status", uavStatusWebsocketClient); + UAVWebsocketClientMap.put("control", uavControlWebsocketClient); + + Map<String,Object> para = new HashMap(); + para.put("biz_code", "user_cmd"); + para.put("version", "1.0"); + Date date = new Date(); + para.put("time_stamp", String.valueOf(date.getTime())); + Map<String,String> payload = new HashMap(); + payload.put("timeStamp", String.valueOf(date.getTime())); + Map<String,Object> data = new HashMap(); + data.put("dataHead", "0x7479"); + data.put("cmdCode", "0x02"); + data.put("payload", payload); + para.put("data", data); + try{ + uavStatusWebsocketClient.send(JSON.toJSONString(para)); + uavControlWebsocketClient.send(JSON.toJSONString(para)); + //System.out.println("鏃犱汉鏈哄績璺冲彂閫�"); + }catch(Exception e){ + e.printStackTrace(); + System.out.println(uavStatusWebsocketClient.getServerUri()); + System.out.println(uavControlWebsocketClient.getServerUri()); + //鏃犱汉鏈虹姸鎬佺伃娲� + uavStatusWebsocketClient = UAVWebsocketClientMap.get("status"); + uavStatusWebsocketClient.close(); + //鏃犱汉鏈烘帶鍒剁伃娲� + uavControlWebsocketClient = UAVWebsocketClientMap.get("control"); + uavControlWebsocketClient.close(); + + UAVWebsocketClientMap.remove("status"); + UAVWebsocketClientMap.remove("control"); + } + } + } + } + } + }; + heartBeatTimer.scheduleAtFixedRate(heartBeatTask,date,10*1000); } @@ -107,4 +561,260 @@ } return new Base64().encodeToString(encrypted);//姝ゅ浣跨敤BASE64鍋氳浆鐮佸姛鑳斤紝鍚屾椂鑳借捣鍒�2娆″姞瀵嗙殑浣滅敤銆� } + + public Object checkPointValid(String url, Map<String,Map<String,Object>> data) { + String token = this.getToken(); + url = this.host + url; + Map<String,Object> resultMap = checkPointValid(url,token, data); + return resultMap; + } + + public Map<String,Object> checkPointValid(String url,String access_token,Map<String,Map<String,Object>> map){ + MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); + OkHttpClient okHttpClient = new OkHttpClient(); + + RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); + + Request request = new Request.Builder().url(url).post(body).addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } + + public Object checkLineValid(String url, Map<String,List<Map<String,String>>> data) { + String token = this.getToken(); + url = this.host + url; + Map<String,Object> resultMap = checkLineValid(url,token, data); + return resultMap; + } + + public Map<String,Object> checkLineValid(String url,String access_token,Map<String,List<Map<String,String>>> map){ + MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); + OkHttpClient okHttpClient = new OkHttpClient(); + + RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); + + Request request = new Request.Builder().url(url).post(body).addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } + + public String getWorkspaceId(){ + String token = this.getToken(); + return this.workspaceId; + } + + public Object addWaylinesPlanning(String url, Map<String,Object> data) { + String token = this.getToken(); + url = this.host + url; + Map<String,Object> resultMap = addWaylinesPlanning(url,token, data); + return resultMap; + } + + public Map<String,Object> addWaylinesPlanning(String url,String access_token,Map<String,Object> map){ + MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); + OkHttpClient okHttpClient = new OkHttpClient(); + + RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); + + Request request = new Request.Builder().url(url).post(body).addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } + + public Object deleteWaylinesPlanning(String url, Map<String,String> data) { + String token = this.getToken(); + String waylineId = data.get("waylineId"); + url = this.host + url + waylineId; + Map<String,Object> resultMap = deleteWaylinesPlanning(url,token); + return resultMap; + } + + public static Map<String,Object> deleteWaylinesPlanning(String url,String access_token){ + OkHttpClient okHttpClient = new OkHttpClient(); + + Request request = new Request.Builder().url(url).delete().addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } + + public Object updateWaylinesPlanning(String url, Map<String,Object> data) { + String token = this.getToken(); + url = this.host + url; + Map<String,Object> resultMap = updateWaylinesPlanning(url,token, data); + return resultMap; + } + + public Map<String,Object> updateWaylinesPlanning(String url,String access_token,Map<String,Object> map){ + MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); + OkHttpClient okHttpClient = new OkHttpClient(); + + RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); + + Request request = new Request.Builder().url(url).post(body).addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } + + public Object addAlarm(String url, Map<String,Object> data) { + String token = this.getToken(); + url = this.host + url; + data.put("userName",this.username); + Map<String,Object> resultMap = addAlarm(url,token, data); + return resultMap; + } + + public Map<String,Object> addAlarm(String url,String access_token,Map<String,Object> map){ + MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); + OkHttpClient okHttpClient = new OkHttpClient(); + + RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); + + Request request = new Request.Builder().url(url).post(body).addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } + + public Object saveCurrentGroup(String url, Map<String,Object> data) { + String token = this.getToken(); + url = this.host + url; + Map<String,Object> resultMap = addWaylinesPlanning(url,token, data); + return resultMap; + } + + public Map<String,Object> saveCurrentGroup(String url,String access_token,Map<String,Object> map){ + MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); + OkHttpClient okHttpClient = new OkHttpClient(); + + RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map)); + + Request request = new Request.Builder().url(url).post(body).addHeader("x-auth-token",access_token).build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + ResponseBody responseBody = response.body(); + + try { + String message = responseBody.string();// 鍝嶅簲浣� + Map<String,Object> map0 = (Map<String, Object>) JSON.parse(message); + return map0; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return new HashMap(); + } + } } -- Gitblit v1.9.3