From 0d2e4e6b8954d77dd34664f861135ae41f7eb828 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 13 五月 2022 10:31:34 +0800
Subject: [PATCH] 单灯数据直接下载
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java | 311 ++++++++++++++-------------------------------------
1 files changed, 84 insertions(+), 227 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
index c76fa4e..5622190 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -1,25 +1,22 @@
package com.sandu.ximon.admin.service;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
import com.sandu.common.execption.BusinessException;
-import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.ximon.admin.config.NginxConfigBean;
+import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.RealtimeServerBean;
import com.sandu.ximon.admin.entity.*;
import com.sandu.ximon.admin.param.PoleBindingParam;
import com.sandu.ximon.admin.security.SecurityUtils;
-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.admin.vo.EquipmentInfomation;
+import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
import com.sandu.ximon.dao.mapper.PoleLightemitEntityMapper;
-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;
@@ -49,8 +46,6 @@
private String port;
@Autowired
ApplicationContext applicationContext;
- @Autowired
- NginxConfigBean nginxConfigBean;
@Autowired
PoleLightemitEntityMapper poleLightemitDao;
@@ -76,30 +71,56 @@
} else {
poleLightemitEntityList = poleLightemitDao.listLed(keyword, SecurityUtils.getUserId());
}
- if (isOnLine) {
- return ledOnline(poleLightemitEntityList);
- } else {
- ledOnlineCheck(poleLightemitEntityList);
- return poleLightemitEntityList;
+
+ List<PoleLightemitEntity> temp = new ArrayList<>();
+ for (PoleLightemitEntity poleLightemitEntity : poleLightemitEntityList) {
+ //鏌ヨ璁惧鍦ㄧ嚎鐘舵��
+ boolean onLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
+ //鏌ヨ灞忓箷鐨勫紑鍚姸鎬�
+ String isOpen = lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode());
+ poleLightemitEntity.setIsOpen(String.valueOf(isOpen));
+ poleLightemitEntity.setOnLine(onLine);
+ if (!isOnLine || onLine) {
+ temp.add(poleLightemitEntity);
+ }
}
+ return temp;
}
+ /**
+ * 鍙栧嚭鍦ㄧ嚎鐨勭啓璁�
+ *
+ * @param list
+ * @return
+ */
public List<PoleLightemitEntity> ledOnline(List<PoleLightemitEntity> list) {
List<PoleLightemitEntity> onLineList = new ArrayList<>();
for (PoleLightemitEntity poleLightemitEntity : list) {
- poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
- if (poleLightemitEntity.getIsOpen()) {
+// if(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true")){
+// poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
+// }
+ poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()));
+ boolean ledOnLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
+ if (ledOnLine) {
+ poleLightemitEntity.setOnLine(true);
onLineList.add(poleLightemitEntity);
+ } else {
+ poleLightemitEntity.setOnLine(false);
}
}
return onLineList;
}
+ /**
+ * 璁剧疆鍦ㄧ嚎鐘舵��
+ *
+ * @param list
+ */
public void ledOnlineCheck(List<PoleLightemitEntity> list) {
for (PoleLightemitEntity poleLightemitEntity : list) {
- poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
-
+ poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()));
+ poleLightemitEntity.setOnLine(lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode()));
}
}
@@ -112,15 +133,44 @@
*/
public PoleLightemitEntity getLedByLightControlCode(String lightControlCode) {
PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
+ Pole getpole = poleLightemitDao.getpole(lightControlCode);
if (xiXun == null) {
return null;
}
- String isScreenOpen = lightemitUtils.getIsScreenOpen(xiXun.getLightemitControlCode());
- if (isScreenOpen.contains("true")) {
- xiXun.setIsOpen(true);
- }
- xiXun.setIsOpen(false);
+ boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+
+ xiXun.setIsOpen(lightemitUtils.getIsScreenOpen(lightControlCode));
+ xiXun.setOnLine(isScreenOpen);
+ xiXun.setStreetlightName(getpole.getPoleName());
+ xiXun.setStreetlightId(getpole.getId());
+
return xiXun;
+ }
+
+ /**
+ * 棣栭〉鐏潌缁戝畾淇℃伅
+ */
+ public EquipmentInfomation getLedByLightControlCodeInfo(String lightControlCode) {
+ EquipmentInfomation equipmentInfo = new EquipmentInfomation();
+ equipmentInfo.setEquipmentType("鐔欒LED");
+ if (lightControlCode == null || lightControlCode.trim().length() == 0) {
+ return equipmentInfo;
+ }
+
+ PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
+ if (xiXun != null) {
+ equipmentInfo.setEquipmentCreateTime(xiXun.getCreateTime());
+ equipmentInfo.setEquipmentMac(xiXun.getLightemitControlCode());
+ equipmentInfo.setEquipmentName(xiXun.getLightemitName());
+ }
+ boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+ if (isScreenOpen) {
+ equipmentInfo.setEquipmentState("鍦ㄧ嚎");
+ } else {
+ equipmentInfo.setEquipmentState("绂荤嚎");
+ }
+
+ return equipmentInfo;
}
@@ -128,12 +178,12 @@
boolean save = this.save(poleLightemit);
// 缁戝畾鐏潌
- if (save && poleLightemit.getStreetlightId() != null) {
+ if (save && poleLightemit.getPoleId() != null) {
PoleBindingParam poleBindingParam = new PoleBindingParam();
poleBindingParam.setDeviceCode(poleLightemit.getLightemitControlCode());
poleBindingParam.setDeviceType(1);
poleBindingParam.setDeviceName(poleLightemit.getLightemitName());
- poleBindingService.bindPole(poleLightemit.getStreetlightId(), poleBindingParam);
+ poleBindingService.bindPole(poleLightemit.getPoleId(), poleBindingParam);
}
// poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
}
@@ -144,19 +194,24 @@
if (byId == null) {
throw new BusinessException("鏈壘鍒癓ED灞�");
}
+
+ boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getLightemitControlCode(), PoleBindingEnums.XIXUN);
+ if (!belong) {
+ throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+ }
poleLightemit.setLightemitId(ledId);
boolean b = this.updateById(poleLightemit);
// 缁戝畾鐏潌
- if (b && poleLightemit.getStreetlightId() != null) {
+ if (b && poleLightemit.getPoleId() != null) {
//鍏堝垹闄ょ粦瀹氬叧绯�
poleBindingService.unBindPole(null, poleLightemit.getLightemitControlCode());
//鍐嶇粦瀹�
PoleBindingParam poleBindingParam = new PoleBindingParam();
poleBindingParam.setDeviceCode(poleLightemit.getLightemitControlCode());
- poleBindingParam.setDeviceType(1);
+ poleBindingParam.setDeviceType(10);
poleBindingParam.setDeviceName(poleLightemit.getLightemitName());
- poleBindingService.bindPole(poleLightemit.getStreetlightId(), poleBindingParam);
+ poleBindingService.bindPole(poleLightemit.getPoleId(), poleBindingParam);
}
// poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
}
@@ -247,40 +302,6 @@
}
- /**
- * 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;
- }
- }
@Async("taskExecutor")
public void videoXixunPlayer(String lightemitControlCode, String ip, String filename, Long filesize, Integer videoTime) {
@@ -385,7 +406,7 @@
}
/**
- * 鏍规嵁led灞忕紪鐮佽缃煶閲�
+ * 鏍规嵁led灞忕紪鐮佽缃寒搴�
*
* @param lightemitControlCode
* @param brightness
@@ -395,168 +416,4 @@
lightemitUtils.setBrightness(lightemitControlCode, brightness);
}
- /**
- * 涓婁紶姘村钩婊氬姩鍗曡瀛楀箷
- *
- * @param subTitleSetEntity
- */
- 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 = "<head><style type=\"text/css\">body{background-color:" +
- (subTitleSetEntity.getColor() != null && StringUtils.isNotBlank(subTitleSetEntity.getColor()) ? subTitleSetEntity.getColor() : "#000000") +
- "}</style></head><i style=\"color:" +
- (subTitleSetEntity.getFontColor() != null && StringUtils.isNotBlank(subTitleSetEntity.getFontColor()) ? subTitleSetEntity.getFontColor() : "#ffffff")
- + "; font-size: " +
- (subTitleSetEntity.getFontSize() != null && StringUtils.isNotBlank(subTitleSetEntity.getFontSize()) ? subTitleSetEntity.getFontSize() : "1")
- + "em\">" + subTitleSetEntity.getContent() + "</i>";
-
- //鑾峰彇鎵�鏈塴ed鏁版嵁
- 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);
- }
- }
- }
-
- /**
- * 涓婁紶鍨傜洿婊氬姩鍗曡瀛楀箷
- *
- * @param subTitleSetEntity
- * @param path
- * @param userName
- * @throws IOException
- */
- private void BuildVerticalSingSubTitleText(SubTitleSetEntity subTitleSetEntity, String path, String userName) throws IOException {
- //html鍦板潃
- //鑾峰彇鎵�鏈塴ed鏁版嵁
- 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<String, Object> 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);
- }
- }
- }
- }
-
- /**
- * 涓婁紶鍨傜洿婊氬姩澶氳瀛楀箷
- *
- * @param subTitleSetEntity
- * @param path
- * @param userName
- * @throws IOException
- */
- private void BuildVerticalMultiSubTitleText(SubTitleSetEntity subTitleSetEntity, String path, String userName) throws IOException {
- //html鍦板潃
- //鑾峰彇鎵�鏈塴ed鏁版嵁
- 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<String, Object> 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);
- }
- }
- }
- }
}
\ No newline at end of file
--
Gitblit v1.9.3