//package com.sandu.ximon.admin.service; // //import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; //import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //import com.google.gson.Gson; //import com.sandu.common.service.impl.BaseServiceImpl; //import com.sandu.ximon.admin.config.NginxConfigBean; //import com.sandu.ximon.admin.config.RealtimeServerBean; //import com.sandu.ximon.admin.entity.*; //import com.sandu.ximon.admin.utils.Constant; //import com.sandu.ximon.admin.utils.FileUtil; //import com.sandu.ximon.admin.utils.HtmlTemplateUtils; //import com.sandu.ximon.admin.utils.LightemitUtils; //import com.sandu.ximon.admin.utils.request.SubTitleSet; //import com.sandu.ximon.dao.domain.PoleLightemitEntity; //import org.apache.commons.lang3.StringUtils; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Value; //import org.springframework.cache.annotation.EnableCaching; //import org.springframework.context.ApplicationContext; //import org.springframework.scheduling.annotation.Async; //import org.springframework.stereotype.Service; // //import javax.annotation.PostConstruct; //import java.io.File; //import java.io.IOException; //import java.util.*; // // //@Service //@EnableCaching //public class PoleLightemitService extends BaseServiceImpl { // // @Autowired // PoleStreetlightLightemitService poleStreetlightLightemitService; // LightemitUtils lightemitUtils; // @Autowired // RealtimeServerBean realtimeServerBean; // @Value("${server.port}") // private String port; // @Autowired // ApplicationContext applicationContext; // @Autowired // FfmpegUtils ffmpegUtils; // @Autowired // FileUploadPathBean fileUploadPathBean; // @Autowired // NginxConfigBean nginxConfigBean; // @Autowired // PoleLightemitDao poleLightemitDao; // // @PostConstruct // public void init(){ // //重新获取单例 // lightemitUtils = applicationContext.getBean(LightemitUtils.class); // } // // /*@Override // public PageUtils queryPage(Map params, Long userId) { // // String key = (String)params.get("key"); // // Long groupId = StringUtils.isNotBlank((String)params.get("group"))? Long.valueOf((String)params.get("group")): null; // // String order = (String)params.get("order"); // // String column = (String)params.get("sortby"); // // IPage page = new Page<>(); // //获取角色列表 // Long roleId = (sysUserRoleService.queryRoleId(userId)); // // if(roleId == null || roleId == 0){ // return null; // } // // if(roleId.longValue() == Constant.SUPER_ADMIN){ //// page = this.page( //// new Query().getPage(params), //// new QueryWrapper().like(StringUtils.isNotBlank(key),"lightemit_name", key)); // if (order != null && order.equals("ASC") && column.equals("isOpen")) { // Map map = new HashMap<>(); // Integer pg = 1; // Integer size = 200; // map.put("page",pg); // params.put("limit",size); // page = baseMapper.superAdminSelectPageVo(PageTransform.transformPage(params),key,groupId,order,column); // ledOnlineCheck(page.getRecords()); // page.setRecords(page.getRecords().stream().filter(h-> h.getIsOpen().equals(true)).collect(Collectors.toList())); // return new PageUtils(page); // }else if (order != null && order.equals("DESC") && column.equals("isOpen")){ // Map map = new HashMap<>(); // Integer pg = 1; // Integer size = 200; // map.put("page",pg); // params.put("limit",size); // page = baseMapper.superAdminSelectPageVo(PageTransform.transformPage(params),key,groupId,order,column); // ledOnlineCheck(page.getRecords()); // page.setRecords(page.getRecords().stream().filter(h-> h.getIsOpen().equals(false)).collect(Collectors.toList())); // return new PageUtils(page); // }else { // page = baseMapper.superAdminSelectPageVo(PageTransform.transformPage(params), key, groupId,order,column); // } // // }else if(roleId.longValue() == Constant.ADMIN){ // if (order != null && order.equals("ASC") && column.equals("isOpen")) { // Map map = new HashMap<>(); // Integer pg = 1; // Integer size = 200; // map.put("page",pg); // params.put("limit",size); // page = baseMapper.adminSelectPageVo(PageTransform.transformPage(params), userId, key, groupId,order,column); // ledOnlineCheck(page.getRecords()); // page.setRecords(page.getRecords().stream().filter(h-> h.getIsOpen().equals(true)).collect(Collectors.toList())); // return new PageUtils(page); // }else if (order != null && order.equals("DESC") && column.equals("isOpen")){ // Map map = new HashMap<>(); // Integer pg = 1; // Integer size = 200; // map.put("page",pg); // params.put("limit",size); // page = baseMapper.adminSelectPageVo(PageTransform.transformPage(params), userId, key, groupId,order,column); // ledOnlineCheck(page.getRecords()); // page.setRecords(page.getRecords().stream().filter(h-> h.getIsOpen().equals(false)).collect(Collectors.toList())); // return new PageUtils(page); // }else { // page = baseMapper.adminSelectPageVo(PageTransform.transformPage(params), userId, key, groupId,order,column); // } // // }else if(roleId.longValue() == Constant.USER){ // if (order != null && order.equals("ASC") && column.equals("isOpen")) { // Map map = new HashMap<>(); // Integer pg = 1; // Integer size = 200; // map.put("page",pg); // params.put("limit",size); // page = baseMapper.userSelectPageVo(PageTransform.transformPage(params), userId, key, groupId,order,column); // ledOnlineCheck(page.getRecords()); // page.setRecords(page.getRecords().stream().filter(h-> h.getIsOpen().equals(true)).collect(Collectors.toList())); // return new PageUtils(page); // }else if (order != null && order.equals("DESC") && column.equals("isOpen")){ // Map map = new HashMap<>(); // Integer pg = 1; // Integer size = 200; // map.put("page",pg); // params.put("limit",size); // page = baseMapper.userSelectPageVo(PageTransform.transformPage(params), userId, key, groupId,order,column); // ledOnlineCheck(page.getRecords()); // page.setRecords(page.getRecords().stream().filter(h-> h.getIsOpen().equals(false)).collect(Collectors.toList())); // return new PageUtils(page); // }else { // page = baseMapper.userSelectPageVo(PageTransform.transformPage(params), userId, key, groupId,order,column); // } // // } // ledOnlineCheck(page.getRecords()); // return new PageUtils(page); // } //*//* // @Override // public List getAll(Long userId) { // //获取角色列表 // Long roleId = (sysUserRoleService.queryRoleId(userId)); // // if(roleId == null || roleId == 0){ // return null; // } // List list = null; // if(roleId.longValue() == Constant.SUPER_ADMIN){ // list = poleLightemitDao.selectAll(); // }else if(roleId.longValue() == Constant.ADMIN){ // list = poleLightemitDao.selectAllByCompany(userId); // }else if(roleId.longValue() == Constant.USER){ // list = poleLightemitDao.selectAllByUser(userId); // } // return list; // } //*/ // ///* public void ledOnlineCheck(List list) { // // for(PoleLightemitEntity poleLightemitEntity : list){ // poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true")); // } // }*/ // // // /* public void savePoleLightemit(PoleLightemitEntity poleLightemit) { // this.save(poleLightemit); // poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId()); // }*/ // // // /* public void updatePoleLightemit(PoleLightemitEntity poleLightemit) { // this.updateById(poleLightemit); // poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId()); // }*/ // // /** // * 查询权限范围内的所有led屏信息 // * @param // * @return // */ // /* public List selectLightemitByUserId(Long userId) { // List list = new ArrayList<>(); // // Long roleId = sysUserRoleService.queryRoleId(userId); // // if(roleId == null || roleId == 0){ // return new ArrayList<>(); // } // if(roleId.longValue() == Constant.SUPER_ADMIN){ // list = this.list(); // }else if(roleId.longValue() == Constant.ADMIN){ // list = baseMapper.selectCompanyLightemitByUserId(userId); // }else if(roleId.longValue() == Constant.USER){ // list = baseMapper.selectLightemitByUserId(userId); // } // return list; // } //*/ // /* // 通过屏幕编码查询 // */ // // public PoleLightemitEntity selectByLightemitControlCode(String lightemitControlCode) { // QueryWrapper queryWrapper = new QueryWrapper<>(); // queryWrapper.eq("lightemit_control_code", lightemitControlCode); // return this.getOne(queryWrapper); // } // // /* // led上传图片 // */ // @Async("taskExecutor") // public void photoUpload(String lightemitControlCode, String path, List filenameList, String userName) throws IOException { // //获取屏幕宽 // String screenWidth = lightemitUtils.getScreenWidth(lightemitControlCode); // String screenHeight = lightemitUtils.getScreenHeight(lightemitControlCode); // // //html地址 // String filenameTemp = path + userName + "_"+lightemitControlCode + ".html"; // File htmlFile = new File(filenameTemp); // if (!htmlFile.exists() || htmlFile.delete()) { // htmlFile.createNewFile(); // } // // //获取body的html // Map params = new HashMap<>(); // params.put("imgList",filenameList); // params.put("screenWidth",screenWidth); // params.put("screenHeight",screenHeight); // // String body = new HtmlTemplateUtils().renderPath("classpath:templates/lightemitTemplates/photoTemplates.html", params); // // boolean flag = new FileUtil().writeToFile(body, filenameTemp); // // if(flag){ // //清屏操作 // lightemitUtils.clear(lightemitControlCode); // //清除播放列表 // lightemitUtils.clearVideoPlay(lightemitControlCode); // //清除节目列表 // lightemitUtils.clearPlayerTask(lightemitControlCode); // //推送图片 // lightemitUtils.postHtml(lightemitControlCode,userName); // } // } // // /* // led上传视频 // */ // // @Async("taskExecutor") // public void videoUpload(String lightemitControlCode, String filename, String path, String userName) throws IOException { // //获取屏幕宽 // String screenWidth = lightemitUtils.getScreenWidth(lightemitControlCode); // String screenHeight = lightemitUtils.getScreenHeight(lightemitControlCode); // // //发送视频至开发板并播放 // lightemitUtils.postVideo(screenWidth, screenHeight, filename, lightemitControlCode); // // //清屏 // lightemitUtils.clear(lightemitControlCode); // // } // // /** // * LED上传单行字幕 // */ // @Async("taskExecutor") // public Boolean subTitleSet(SubTitleSetEntity subTitleSetEntity, String path, String userName) { // if(subTitleSetEntity == null){ // return false; // } // if(subTitleSetEntity.getDirection().equals(Constant.LEFT) || subTitleSetEntity.getDirection().equals(Constant.RIGHT)){ // //字幕横向滚动 // this.BuildHorizonSingSubTitleText(subTitleSetEntity); // }else if (subTitleSetEntity.getDirection().equals(Constant.UP) || subTitleSetEntity.getDirection().equals(Constant.DOWN)){ // //字幕纵向滚动 // try { // this.BuildVerticalSingSubTitleText(subTitleSetEntity, path, userName); // }catch (IOException e){ // return false; // } // } // return true; // } // // /** // * LED上传多行字幕 // */ // @Async("taskExecutor") // public Boolean subMultiTitleSet(SubTitleSetEntity subTitleSetEntity, String path, String userName) { // try{ // this.BuildVerticalMultiSubTitleText(subTitleSetEntity, path, userName); // return true; // }catch (IOException e){ // return false; // } // } // // /* // 删除 // */ // // /* public void deleteByIds(List lightemitIds) { // this.removeByIds(lightemitIds); // //删除关系表中的数据 // poleStreetlightLightemitService.remove( // new UpdateWrapper().in("lightemit_id", lightemitIds.toArray())); // }*/ // // /* // 熙讯视频设置 // */ // // @Async("taskExecutor") // public void videoXixunPlayer(String lightemitControlCode, String ip, String filename, Long filesize, Integer videoTime) { // //获取屏幕宽 // Integer screenWidth = Integer.valueOf(lightemitUtils.getScreenWidth(lightemitControlCode)); // Integer screenHeight = Integer.valueOf(lightemitUtils.getScreenHeight(lightemitControlCode)); // Source source = new Source(); // Layer layer = new Layer(); // Program pro = new Program(); // TaskItem items = new TaskItem(); // ProgramsTask task = new ProgramsTask(); // Command command = new Command(); // XixunPlayer xixun = new XixunPlayer(); // source.set_id(UUID.randomUUID().toString());//所有_id都可用UUID随机生成 // source.setId(filename);//请求头拼接该ID为该资源的完整下载地址 // source.set_type("Video"); //设置资源类型,其他资源类型请参考xixunplayer节目json说明文档 // source.setFileExt(".mp4"); //资源后缀名 // source.setHeight(screenHeight); //资源高度 // source.setWidth(screenWidth); //资源宽度 // source.setLeft(0); //距左 // source.setMd5("dd135d5d2d44d619a542db773ab529a4"); // source.setMime("video/mp4"); // source.setName(filename); // source.setPlayTime(0); //播放起始时间 // source.setSize(filesize); //资源字节数,要精准 // source.setTimeSpan(videoTime); //该资源播放时长 // source.setTop(0); //距顶 // List list=new ArrayList(); // list.add(source); // layer.setSources(list); // pro.set_id(UUID.randomUUID().toString()); // pro.setHeight(screenHeight); //节目高度 // List list1=new ArrayList(); // list1.add(layer); // pro.setLayers(list1); // pro.setName("demo"); //节目名称 // pro.setOthers(true);//如果为true,则该节目来自第三方接口,不是来自我们自己的web,二次开发请务必赋值为true // pro.setTotalSize(filesize); //所有资源总字节数 // pro.setVersion(0); //高级节目=0,简易节目=2 // pro.setWidth(screenWidth); //节目宽度 // items.set_id(UUID.randomUUID().toString()); // items.set_program(pro); // items.setRepeatTimes(1); // items.setSchedules(null);//定时段,不做定时可为null // task.set_id(UUID.randomUUID().toString()); // task.setName("这是一个示例"); // List list2=new ArrayList(); // list2.add(items); // task.setItems(list2); // command.setId(UUID.randomUUID().toString()); // //这里是下方的post回调地址,需要修改IP地址 // command.setNotificationURL("http://" + ip + ":" + port + "/machine-fast/serv/download/getJSON"); // //资源下载链接的请求头 // command.setPreDownloadURL("http://" + ip + ":" + port + "/machine-fast/serv/download/downloadFile/"); // command.setTask(task); // xixun.set_id(UUID.randomUUID().toString()); // xixun.setCommand(command); // xixun.setType("commandXixunPlayer"); //命令固定类型,不可更改 // String jsondata = new Gson().toJson(xixun); // lightemitUtils.clear(lightemitControlCode); // this.updateRequestBody(lightemitControlCode,jsondata); // lightemitUtils.post(realtimeServerBean.getCommand() + lightemitControlCode,jsondata); // } // // /* // 推送天气数据 // */ // // //@Async("taskExecutor") // /* public Boolean pushWeather(String lightemitControlCode, PoleSensorEntity sensorEntity, PoleStreetlightEntity streetlightEntity) { // if(StringUtils.isBlank(lightemitControlCode)){ // return Boolean.valueOf(false); // } // Integer screenHeight = Integer.parseInt(lightemitUtils.getScreenHeight(lightemitControlCode)); // String size = String.valueOf(screenHeight/18); // //字幕主体拼接 // String body = // "" + // "

" + // (streetlightEntity == null || streetlightEntity.getCity() == null? "": streetlightEntity.getCity().replace("市", "")) + "
" + // "温度:" + (sensorEntity == null || sensorEntity.getTemperature() == null? "-": sensorEntity.getTemperature()) + "℃
" + // "湿度:" + (sensorEntity == null || sensorEntity.getHumidity() == null? "-": sensorEntity.getHumidity()) + "%RH
" + // "亮度:" + (sensorEntity == null || sensorEntity.getBrightness() == null? "-": sensorEntity.getBrightness()) + "lux
" + // "风速:" + (sensorEntity == null || sensorEntity.getWindSpeed() == null? "-": sensorEntity.getWindSpeed()) + "m/s
" + // "CO2:" + (sensorEntity == null || sensorEntity.getEco2() == null? "-": sensorEntity.getEco2()) + "ppm
" + // "甲醛:" + (sensorEntity == null || sensorEntity.getEch2o() == null? "-": sensorEntity.getEch2o()) + "mg/m³
" + // "TVOC:" + (sensorEntity == null || sensorEntity.getTvoc() == null? "-": sensorEntity.getTvoc()) + "mg/m³
" + // "PM25:" + (sensorEntity == null || sensorEntity.getPm25() == null? "-": sensorEntity.getPm25()) + "mg/m³
" + // "PM10:" + (sensorEntity == null || sensorEntity.getPm10() == null? "-": sensorEntity.getPm10()) + "mg/m³
"; // // //组装请求参数 // SubTitleSet subTitleSet = new SubTitleSet(); // subTitleSet.html = body; // subTitleSet.num = 1; // // //清屏操作 // lightemitUtils.clear(lightemitControlCode); // //清除播放列表 // lightemitUtils.clearVideoPlay(lightemitControlCode); // //清除节目列表 // lightemitUtils.clearPlayerTask(lightemitControlCode); // try{ // lightemitUtils.subTitleSet(subTitleSet, lightemitControlCode, false); // return true; // }catch (Exception e){ // return false; // }finally { // //一分钟后清除屏幕 // new Timer().schedule(new TimerTask() { // @Override // public void run() { // lightemitUtils.clear(lightemitControlCode); // //清除播放列表 // lightemitUtils.clearVideoPlay(lightemitControlCode); // //清除节目列表 // lightemitUtils.clearPlayerTask(lightemitControlCode); // //推送最后命令 // lightemitUtils.sendLastCommand(lightemitControlCode); // } // }, 60*1000); // } // }*/ // // /* // 更新请求数据 // */ // // public void updateRequestBody(String ledCode, String postBody) { // baseMapper.updateRequestBody(ledCode, postBody); // } // // /* // 根据led屏编码获取灯杆所有信息 // */ // // public PoleStreetlightEntity getStreetlightByLedCode(String ledCode) { // return baseMapper.getStreetlightByLedCode(ledCode); // } // // /* // 根据led屏编码设置音量 // */ // // @Async("taskExecutor") // public void setVolume(String lightemitControlCode, Integer volume) { // lightemitUtils.setVoiume(lightemitControlCode, volume); // } // // // public List listOfStreetlight(String streetlightId) { // return baseMapper.listOfStreetlight(streetlightId); // } // // // public List selectLedByStreetlightId(String streetlightId) { // return baseMapper.getLedByStreetlightId(streetlightId); // } // // /* // 上传水平滚动单行字幕 // */ // private void BuildHorizonSingSubTitleText(SubTitleSetEntity subTitleSetEntity){ // //拼装LED屏幕设置请求body // SubTitleSet subTitleSet = new SubTitleSet(); // subTitleSet.num = subTitleSetEntity.getNum() != null ? subTitleSetEntity.getNum(): subTitleSet.num; // subTitleSet.interval = subTitleSetEntity.getInterval() != null ? subTitleSetEntity.getInterval(): subTitleSet.interval; // subTitleSet.step = subTitleSetEntity.getStep() != null ? subTitleSetEntity.getStep(): subTitleSet.step; // subTitleSet.direction = subTitleSetEntity.getDirection() != null ? subTitleSetEntity.getDirection(): subTitleSet.direction; // subTitleSet.align = subTitleSetEntity.getAlign() != null ? subTitleSetEntity.getAlign(): subTitleSet.align; // //拼接html 背景默认显色为白色 // subTitleSet.html = "" + subTitleSetEntity.getContent() + ""; // // //获取所有led数据 // Collection poleLightemitControllers = this.listByIds(Arrays.asList(subTitleSetEntity.getId())); // if (!poleLightemitControllers.isEmpty()) { // Iterator iterator = poleLightemitControllers.iterator(); // while (iterator.hasNext()){ // PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next(); // //清屏操作 // lightemitUtils.clear(poleLightemitEntity.getLightemitControlCode()); // //清除播放列表 // lightemitUtils.clearVideoPlay(poleLightemitEntity.getLightemitControlCode()); // //清除节目列表 // lightemitUtils.clearPlayerTask(poleLightemitEntity.getLightemitControlCode()); // //发送字幕设置请求 // lightemitUtils.subTitleSet(subTitleSet, poleLightemitEntity.getLightemitControlCode(),true); // } // } // } // // /* // 上传垂直滚动单行字幕 // */ // private void BuildVerticalSingSubTitleText(SubTitleSetEntity subTitleSetEntity, String path, String userName) throws IOException { // //html地址 // //获取所有led数据 // Collection poleLightemitControllers = this.listByIds(Arrays.asList(subTitleSetEntity.getId())); // if (!poleLightemitControllers.isEmpty()) { // Iterator iterator = poleLightemitControllers.iterator(); // while (iterator.hasNext()) { // PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next(); // // String lightemitControlCode = poleLightemitEntity.getLightemitControlCode(); // // //获取屏幕宽 // Integer screenWidth = Integer.valueOf(lightemitUtils.getScreenWidth(lightemitControlCode)); // Integer screenHeight = Integer.valueOf(lightemitUtils.getScreenHeight(lightemitControlCode)); // // String filenameTemp = path + userName + "_"+ lightemitControlCode + ".html"; // File htmlFile = new File(filenameTemp); // if (!htmlFile.exists() || htmlFile.delete()) { // htmlFile.createNewFile(); // } // // //若向下滚动,文字顺序相反 // if(Constant.DOWN.equals(subTitleSetEntity.getDirection())){ // subTitleSetEntity.setContent(StringUtils.reverse(subTitleSetEntity.getContent())); // } // // Map params = new HashMap<>(); // params.put("direction", subTitleSetEntity.getDirection()); // params.put("screenWidth", screenWidth); // params.put("screenHeight", screenHeight); // params.put("fontSize", subTitleSetEntity.getFontSize() != null && StringUtils.isNotBlank(subTitleSetEntity.getFontSize())? subTitleSetEntity.getFontSize(): "1"); // params.put("align", subTitleSetEntity.getAlign()); // params.put("fontColor", subTitleSetEntity.getFontColor() != null && StringUtils.isNotBlank(subTitleSetEntity.getFontColor())? subTitleSetEntity.getFontColor(): "#ffffff"); // params.put("backgroundColor", subTitleSetEntity.getColor() != null && StringUtils.isNotBlank(subTitleSetEntity.getColor())? subTitleSetEntity.getColor(): "#000000"); // params.put("interval", subTitleSetEntity.getInterval() != null? subTitleSetEntity.getInterval(): 50); // params.put("step", subTitleSetEntity.getStep() != null? subTitleSetEntity.getStep(): 1); // params.put("num", subTitleSetEntity.getNum() != null? subTitleSetEntity.getNum(): -1); // params.put("contentArray", subTitleSetEntity.getContent().toCharArray()); // // String body = new HtmlTemplateUtils().renderPath("classpath:templates/lightemitTemplates/buildVerticalSingSubTitleTemplates.html", params); // // boolean flag = new FileUtil().writeToFile(body, filenameTemp); // // if(flag){ // //清屏操作 // lightemitUtils.clear(lightemitControlCode); // //清除播放列表 // lightemitUtils.clearVideoPlay(lightemitControlCode); // //清除节目列表 // lightemitUtils.clearPlayerTask(lightemitControlCode); // //推送 // lightemitUtils.postHtmlUseNginx(lightemitControlCode,userName); // } // } // } // } // // // /* // 上传垂直滚动多行字幕 // */ // private void BuildVerticalMultiSubTitleText(SubTitleSetEntity subTitleSetEntity, String path, String userName) throws IOException { // //html地址 // //获取所有led数据 // Collection poleLightemitControllers = this.listByIds(Arrays.asList(subTitleSetEntity.getId())); // if (!poleLightemitControllers.isEmpty()) { // Iterator iterator = poleLightemitControllers.iterator(); // while (iterator.hasNext()) { // PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next(); // // String lightemitControlCode = poleLightemitEntity.getLightemitControlCode(); // // //获取屏幕宽 // Integer screenWidth = Integer.valueOf(lightemitUtils.getScreenWidth(lightemitControlCode)); // Integer screenHeight = Integer.valueOf(lightemitUtils.getScreenHeight(lightemitControlCode)); // // String filenameTemp = path + userName + "_" + lightemitControlCode + ".html"; // File htmlFile = new File(filenameTemp); // if (!htmlFile.exists() || htmlFile.delete()) { // htmlFile.createNewFile(); // } // // Map params = new HashMap<>(); // params.put("direction", subTitleSetEntity.getDirection()); // params.put("screenWidth", screenWidth); // params.put("screenHeight", screenHeight); // params.put("fontSize", subTitleSetEntity.getFontSize() != null && StringUtils.isNotBlank(subTitleSetEntity.getFontSize())? subTitleSetEntity.getFontSize(): "1"); // params.put("align", subTitleSetEntity.getAlign()); // params.put("fontColor", subTitleSetEntity.getFontColor() != null && StringUtils.isNotBlank(subTitleSetEntity.getFontColor())? subTitleSetEntity.getFontColor(): "#ffffff"); // params.put("backgroundColor", subTitleSetEntity.getColor() != null && StringUtils.isNotBlank(subTitleSetEntity.getColor())? subTitleSetEntity.getColor(): "#000000"); // params.put("interval", subTitleSetEntity.getInterval() != null? subTitleSetEntity.getInterval(): 50); // params.put("step", subTitleSetEntity.getStep() != null? subTitleSetEntity.getStep(): 1); // params.put("num", subTitleSetEntity.getNum() != null? subTitleSetEntity.getNum(): -1); // params.put("contentArray", subTitleSetEntity.getContent().split("\n")); // // String body = new HtmlTemplateUtils().renderPath("classpath:templates/lightemitTemplates/buildVerticalSingSubTitleTemplates.html", params); // // boolean flag = new FileUtil().writeToFile(body, filenameTemp); // // if (flag) { // //清屏操作 // lightemitUtils.clear(lightemitControlCode); // //清除播放列表 // lightemitUtils.clearVideoPlay(lightemitControlCode); // //清除节目列表 // lightemitUtils.clearPlayerTask(lightemitControlCode); // //推送 // lightemitUtils.postHtmlUseNginx(lightemitControlCode, userName); // } // } // } // } // // @Override // public void xixunplaySetting(String lightemitControlCode) { // //获取屏幕宽 //// Integer screenWidth = Integer.valueOf(lightemitUtils.getScreenWidth(lightemitControlCode)); //// Integer screenHeight = Integer.valueOf(lightemitUtils.getScreenHeight(lightemitControlCode)); //// Source source = new Source(); //// Layer layer = new Layer(); //// Program pro = new Program(); //// TaskItem items = new TaskItem(); //// ProgramsTask task = new ProgramsTask(); //// Command payload = new Command(); //// XixunPlayer xixun = new XixunPlayer(); //// source.set_id(UUID.randomUUID().toString());//所有_id都可用UUID随机生成 //// source.setId(filename);//请求头拼接该ID为该资源的完整下载地址 //// source.set_type("Video"); //设置资源类型,其他资源类型请参考xixunplayer节目json说明文档 //// source.setFileExt(".mp4"); //资源后缀名 //// source.setHeight(screenHeight); //资源高度 //// source.setWidth(screenWidth); //资源宽度 //// source.setLeft(0); //距左 //// source.setMd5("dd135d5d2d44d619a542db773ab529a4"); //// source.setMime("video/mp4"); //// source.setName(filename); //// source.setPlayTime(0); //播放起始时间 //// source.setSize(filesize); //资源字节数,要精准 //// source.setTimeSpan(videoTime); //该资源播放时长 //// source.setTop(0); //距顶 //// List list = new ArrayList(); //// list.add(source); //// layer.setSources(list); //// pro.set_id(UUID.randomUUID().toString()); //// pro.setHeight(screenHeight); //节目高度 //// List list1=new ArrayList(); //// list1.add(layer); //// pro.setLayers(list1); //// pro.setName("demo"); //节目名称 //// pro.setOthers(true);//如果为true,则该节目来自第三方接口,不是来自我们自己的web,二次开发请务必赋值为true //// pro.setTotalSize(filesize); //所有资源总字节数 //// pro.setVersion(0); //高级节目=0,简易节目=2 //// pro.setWidth(screenWidth); //节目宽度 //// items.set_id(UUID.randomUUID().toString()); //// items.set_program(pro); //// items.setRepeatTimes(1); //// items.setSchedules(null);//定时段,不做定时可为null //// task.set_id(UUID.randomUUID().toString()); //// task.setName("这是一个示例"); //// List list2=new ArrayList(); //// list2.add(items); //// task.setItems(list2); //// payload.setId(UUID.randomUUID().toString()); //// //这里是下方的post回调地址,需要修改IP地址 //// payload.setNotificationURL("http://" + ip + ":" + port + "/machine-fast/serv/download/getJSON"); //// //资源下载链接的请求头 //// payload.setPreDownloadURL("http://" + ip + ":" + port + "/machine-fast/serv/download/downloadFile/"); //// payload.setTask(task); //// xixun.set_id(UUID.randomUUID().toString()); //// xixun.setCommand(payload); //// xixun.setType("commandXixunPlayer"); //命令固定类型,不可更改 //// String jsondata = new Gson().toJson(xixun); //// lightemitUtils.clear(lightemitControlCode); //// this.updateRequestBody(lightemitControlCode,jsondata); //// lightemitUtils.post(realtimeServerBean.getCommand() + lightemitControlCode,jsondata); // } //}