//package com.sandu.ximon.admin.utils; // //import com.alibaba.fastjson.JSONObject; //import com.google.gson.Gson; //import com.sandu.ximon.admin.config.NginxConfigBean; //import com.sandu.ximon.admin.config.RealtimeServerBean; //import com.sandu.ximon.admin.service.PoleLightemitService; //import com.sandu.ximon.admin.utils.request.*; //import com.sandu.ximon.dao.domain.PoleLightemitEntity; //import com.squareup.okhttp.*; //import org.apache.commons.lang.StringEscapeUtils; //import org.apache.commons.lang.StringUtils; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.context.ApplicationContext; //import org.springframework.stereotype.Component; // //import java.io.IOException; // //@Component //public class LightemitUtils { // @Autowired // RealtimeServerBean realtimeServerBean; // // PoleLightemitService poleLightemitService; // @Autowired // ApplicationContext applicationContext; // @Autowired // NginxConfigBean nginxConfigBean; // //body封装编码 // private final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); // // private OkHttpClient client = new OkHttpClient(); // // // public void init(){ // //重新获取单例 // poleLightemitService = applicationContext.getBean(PoleLightemitService.class); // } // /** // * post请求封装方法 // * @param url url // * @param json body // * @return // */ // public String post(String url, String json){ // RequestBody body = RequestBody.create(JSON, json); // Request request = new Request.Builder() // .url(url) // .post(body) // .build(); // try { // Response response = client.newCall(request).execute(); // return response.body().string(); // } catch (IOException e) { // LogUtils.error(e.getMessage()); // return ""; // } // } // // /** // * 获取led屏宽度 // * @param ledCode led屏编号 // * @return // */ // public String getScreenWidth(String ledCode){ // String postBody = new Gson().toJson(new GetScreenWidth()); // //请求地址 // String url = realtimeServerBean.getCommand() + ledCode; // //请求 // String result = post(url,postBody); // if(StringUtils.isNotBlank(result)){ // try{ // return JSONObject.parseObject(result).get("result").toString(); // }catch (Exception e){ // return "64"; // } // }else{ // return "64"; // } // } // // /** // * 获取led屏高度 // * @param ledCode led屏编号 // * @return // */ // public String getScreenHeight(String ledCode){ // String postBody = new Gson().toJson(new GetScreenHeight()); // //请求地址 // String url = realtimeServerBean.getCommand() + ledCode; // //请求 // String result = post(url,postBody); // if(StringUtils.isNotBlank(result)){ // try{ // return JSONObject.parseObject(result).get("result").toString(); // }catch (Exception e){ // return "64"; // } // }else{ // return "64"; // } // } // // /** // * 清屏操作 // * @param ledCode // */ // public void clear(String ledCode){ // String postBody = new Gson().toJson(new Clear()); // //请求地址 // String url = realtimeServerBean.getCommand() + ledCode; // //请求 //// poleLightemitService.updateRequestBody(ledCode, ""); // String result = post(url,postBody); // } // // /** // * html传输至led屏 // * @param ledCode // * @param username // */ // public void postHtml(String ledCode, String username){ // // PostHtml postHtml = new PostHtml(realtimeServerBean.getUrl() + username + "_" + ledCode + ".html"); // String postBody = new Gson().toJson(postHtml); // // //请求地址 // String url = realtimeServerBean.getCommand() + ledCode; // //保存led数据 // poleLightemitService.updateRequestBody(ledCode, postBody); // //请求 // String result = post(url,postBody); // } // /** // * html传输至led屏, 通过url获取html // * @param ledCode // * @param username // */ // public void postHtmlUseNginx(String ledCode, String username){ // // PostHtml postHtml = new PostHtml(nginxConfigBean.getUrl() + username + "_" + ledCode + ".html"); // String postBody = new Gson().toJson(postHtml); // // //请求地址 // String url = realtimeServerBean.getCommand() + ledCode; // //保存led数据 // poleLightemitService.updateRequestBody(ledCode, postBody); // //请求 // String result = post(url,postBody); // } // // /** // * 视频传输至led屏 // * @param screenWidth // * @param screenHeight // * @param filename // * @param ledCode // */ // public void postVideo(String screenWidth, String screenHeight, String filename, String ledCode) { // // //led开发板下载视频请求body // DownloadFileToLocal downloadFileToLocal = new DownloadFileToLocal(); // downloadFileToLocal.url = realtimeServerBean.getUrl() + filename; // downloadFileToLocal.path += filename; // // //led开发板下载视频请求 // this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(downloadFileToLocal)); // // //led开发板视频列表请求body // SetPlayList setPlayList = new SetPlayList(); // setPlayList.list[0] = "/data/data/com.xixun.xy.conn/files/local/abc/"+filename; //// setPlayList.pathList[0] = ""; // try{ // setPlayList.width = Integer.valueOf(screenWidth); // setPlayList.height = Integer.valueOf(screenHeight); // }catch (Exception e){ // return; // } // String postBody = new Gson().toJson(setPlayList); // //保存led数据 // poleLightemitService.updateRequestBody(ledCode, postBody); // //led开发板视频列表请求 // this.post(realtimeServerBean.getCommand() + ledCode, postBody); // } // // /** // * led屏字幕设置 // * @param subTitleSet // * @param ledCode // */ // public void subTitleSet(SubTitleSet subTitleSet, String ledCode, Boolean isSave){ // String postBody = new Gson().toJson(subTitleSet); // if(isSave == true){ // poleLightemitService.updateRequestBody(ledCode, postBody); // } // this.post(realtimeServerBean.getCommand() + ledCode, postBody); // } // // /** // * 清除播放列表 // * @param ledCode // */ // public void clearVideoPlay(String ledCode) { //// poleLightemitService.updateRequestBody(ledCode, ""); // this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new ClearVideoPlay())); // } // // /** // * 清除节目列表 // * @param ledCode // */ // public void clearPlayerTask(String ledCode) { //// poleLightemitService.updateRequestBody(ledCode, ""); // this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new ClearPlayerTask())); // } // // /** // * 获取led屏画面 // * @param ledCode // */ // public String getPicture(String ledCode) { // String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new GetPicture())); // //获取base64图片数据 // if(StringUtils.isBlank(result)){ // return ""; // } // String re; // // try{ // re = JSONObject.parseObject(result).get("result").toString(); // }catch (Exception e){ // re = "0"; // } // // if(StringUtils.isBlank(re)){ // return ""; // } // //去除换行符 // re.replaceAll("\r|\n*",""); // return re; // } // // /** // * 判断led屏是否开启 // * @param ledCode // * @return // */ // public String getIsScreenOpen(String ledCode){ // String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new IsScreenOpen())); // //获取base64图片数据 // if(StringUtils.isNotBlank(result)){ // String re; // try{ // re = JSONObject.parseObject(result).get("result").toString(); // }catch (Exception e){ // re = "false"; // } // return re; // }else{ // return ""; // } // } // // /* // 启动xwalk // */ // /*public void startActivity(String ledCode){ // String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new StartActivity())); // }*/ // // /* // 使用xwalk加载网页 // */ // /*public void callXwalkFn(String ledCode,String username){ // // CallXwalkFn callXwalkFn = new CallXwalkFn(); // // callXwalkFn.setArgUrl(realtimeServerBean.getUrl() + username + "_" + ledCode + ".html"); // String postBody = new Gson().toJson(callXwalkFn); // // //请求地址 // String url = realtimeServerBean.getCommand() + ledCode; // //请求 // String result = post(url,postBody); // }*/ // // /* // 控制屏幕开关 // */ // public String setScreenOpen(String ledCode, Boolean bool) { // String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new setScreenOpen(bool))); // //获取base64图片数据 // if(StringUtils.isNotBlank(result)){ // String re = ""; // try{ // re = JSONObject.parseObject(result).get("result").toString(); // }catch (Exception e){ // re = "false"; // } // return re; // }else{ // return ""; // } // } // // //发送最新的数据 // public void sendLastCommand(String lightemitControlCode) { // PoleLightemitEntity poleLightemitEntity = poleLightemitService.selectByLightemitControlCode(lightemitControlCode); // if(poleLightemitEntity == null || StringUtils.isBlank(poleLightemitEntity.getRequestBody())){ // return; // } // this.post(realtimeServerBean.getCommand() + lightemitControlCode, poleLightemitEntity.getRequestBody()); // } // // /* // 设置led音量 // */ // public void setVoiume(String ledCode,Integer volume){ // // SetVolume setVolume = new SetVolume(); // setVolume.arg1 = volume; // String postBody = new Gson().toJson(setVolume); // // //请求 // String result = post(realtimeServerBean.getCommand() + ledCode,postBody); // } // // /* // 获取led音量 // */ // /*public String getVoiume(String ledCode){ // GetVolume getVolume = new GetVolume(); // String postBody = new Gson().toJson(getVolume); // // //请求 // String result = post(realtimeServerBean.getCommand() + ledCode,postBody); // //请求 // if(StringUtils.isNotBlank(result)){ // try{ // return JSONObject.parseObject(result).get("result").toString(); // }catch (Exception e){ // return "0"; // } // }else{ // return "0"; // } // } //*/ // /** // * 查询定时 // * @param ledCode // * @return // */ // public String getTimeSchedule(String ledCode) { // String result = this.post(realtimeServerBean.getCommand() + ledCode, new Gson().toJson(new GetTimeSchedule())); // //获取定时json数据 //// Map map = new Gson().fromJson(result,Map.class); //// Gson gson = new Gson(); //// Task task =gson.fromJson((String)gson.fromJson(result,Map.class).get("task"),Task.class); //// Schedules schedules =gson.fromJson((String)gson.fromJson(result,Map.class).get("schedule"),Schedules.class); // if(StringUtils.isBlank(result)){ // return ""; // } // String re; // // //去除字符串中的\ // re = StringEscapeUtils.unescapeJavaScript(result); // //去除字符串中的}" // re = re.replace("}\"","}"); // //去除字符串中"{ // re = re.replace("\"{","{"); // re = re.replace("\"null\"","{}"); // if(StringUtils.isBlank(re)){ // return ""; // } // return re; // } //}