From e55c8b0a92eb9715edd90c31dfd4de51a47b588b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 04 十一月 2022 17:40:08 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java | 543 ++++++++++++++++++++++++++++-------------------------
1 files changed, 289 insertions(+), 254 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..83a33ec 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,31 +1,32 @@
package com.sandu.ximon.admin.service;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.alibaba.fastjson.JSON;
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.file.FileUploadDto;
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.redis.DeviceRedisKey;
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.utils.*;
+import com.sandu.ximon.admin.vo.EquipmentInfomation;
+import com.sandu.ximon.admin.vo.RedisDeviceStatus;
+import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
+import com.sandu.ximon.dao.enums.OrderByEnums;
+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;
import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import java.io.File;
@@ -49,11 +50,15 @@
private String port;
@Autowired
ApplicationContext applicationContext;
- @Autowired
- NginxConfigBean nginxConfigBean;
@Autowired
PoleLightemitEntityMapper poleLightemitDao;
+
+ @Autowired
+ LedSFileService xiXunFileService;
+
+ @Autowired
+ RedisUtils redisUtils;
@PostConstruct
public void init() {
@@ -68,38 +73,146 @@
* @param isOnLine
* @return
*/
- public List<PoleLightemitEntity> listLed(String keyword, boolean isOnLine) {
+ public List<PoleLightemitEntity> listLed(String keyword, Integer order, Integer seq, boolean isOnLine) {
+ List<PoleLightemitEntity> poleLightemitEntityList;
+ //鎺掑簭瀛楁
+ String orderByResult = "id";
+ //姝e簭銆佸�掑彊
+ String orderBySeq = OrderByEnums.ASC.getCode();
+ if (order != null) {
+ switch (order) {
+ case 1:
+ orderByResult = OrderByEnums.LED_S_CODE.getCode();
+ break;
+ case 2:
+ orderByResult = OrderByEnums.LED_S_NAME.getCode();
+ break;
+ case 3:
+ orderByResult = OrderByEnums.LED_S_POLE_NAME.getCode();
+ break;
+ case 4:
+ orderByResult = OrderByEnums.LED_S_CREATE_TIME.getCode();
+ break;
+ default:
+ }
+ }
+ if (seq != null) {
+ switch (seq) {
+ case 1:
+ orderBySeq = " ASC";
+ break;
+ case 2:
+ orderBySeq = " DESC";
+ break;
+ default:
+ break;
+ }
+ }
+ //鎺掑簭鏂瑰紡
+ String orderBy = orderByResult + " " + orderBySeq;
+
+ //瓒呯
+ if (SecurityUtils.getClientId() == null) {
+ poleLightemitEntityList = poleLightemitDao.listLed(keyword, null, orderBy);
+ } else {
+ poleLightemitEntityList = poleLightemitDao.listLed(keyword, SecurityUtils.getUserId(), orderBy);
+ }
+
+ 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;
+ }
+
+ /**
+ * 鐔欒璁惧鍒楄〃锛堢敤浜庨椤垫暟鎹粺璁★級
+ *
+ * @return
+ */
+ public List<PoleLightemitEntity> listLedOnHome() {
List<PoleLightemitEntity> poleLightemitEntityList;
//瓒呯
if (SecurityUtils.getClientId() == null) {
- poleLightemitEntityList = poleLightemitDao.listLed(keyword, null);
+ poleLightemitEntityList = poleLightemitDao.listLed(null, null, null);
} else {
- poleLightemitEntityList = poleLightemitDao.listLed(keyword, SecurityUtils.getUserId());
+ poleLightemitEntityList = poleLightemitDao.listLed(null, SecurityUtils.getUserId(), null);
}
- if (isOnLine) {
- return ledOnline(poleLightemitEntityList);
- } else {
- ledOnlineCheck(poleLightemitEntityList);
- return poleLightemitEntityList;
- }
+
+ return poleLightemitEntityList;
}
+
+ /**
+ * 缁戝畾浣跨敤
+ *
+ * @param keyword
+ * @return
+ */
+ public List<PoleLightemitEntity> listLedOnBinding(String keyword) {
+ List<PoleLightemitEntity> poleLightemitEntityList;
+
+
+ //瓒呯
+ if (SecurityUtils.getClientId() == null) {
+ poleLightemitEntityList = poleLightemitDao.listLedOnBinding(keyword, null);
+ } else {
+ poleLightemitEntityList = poleLightemitDao.listLedOnBinding(keyword, SecurityUtils.getUserId());
+ }
+
+ for (PoleLightemitEntity poleLightemitEntity : poleLightemitEntityList) {
+ //鏌ヨ璁惧鍦ㄧ嚎鐘舵��
+ boolean onLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
+ //鏌ヨ灞忓箷鐨勫紑鍚姸鎬�
+ String isOpen = lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode());
+ poleLightemitEntity.setIsOpen(String.valueOf(isOpen));
+ poleLightemitEntity.setOnLine(onLine);
+ }
+ return poleLightemitEntityList;
+ }
+
+ /**
+ * 鍙栧嚭鍦ㄧ嚎鐨勭啓璁�
+ *
+ * @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,18 +225,49 @@
*/
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("SLED");
+ if (lightControlCode == null || lightControlCode.trim().length() == 0) {
+ return equipmentInfo;
+ }
+ PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
+ boolean isScreenOpen = false;
+ if (xiXun != null) {
+ equipmentInfo.setEquipmentCreateTime(xiXun.getCreateTime());
+ equipmentInfo.setEquipmentMac(xiXun.getLightemitControlCode());
+ equipmentInfo.setEquipmentName(xiXun.getLightemitName());
+ isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+ }
+ if (isScreenOpen) {
+ equipmentInfo.setEquipmentState("鍦ㄧ嚎");
+ } else {
+ equipmentInfo.setEquipmentState("绂荤嚎");
+ }
+
+ return equipmentInfo;
+ }
+
+
+ @Transactional(rollbackFor = Exception.class)
public void savePoleLightemit(PoleLightemitEntity poleLightemit) {
boolean save = this.save(poleLightemit);
// 缁戝畾鐏潌
@@ -131,10 +275,25 @@
if (save && poleLightemit.getStreetlightId() != null) {
PoleBindingParam poleBindingParam = new PoleBindingParam();
poleBindingParam.setDeviceCode(poleLightemit.getLightemitControlCode());
- poleBindingParam.setDeviceType(1);
+ poleBindingParam.setDeviceType(10);
poleBindingParam.setDeviceName(poleLightemit.getLightemitName());
- poleBindingService.bindPole(poleLightemit.getStreetlightId(), poleBindingParam);
+
+ if (SpringContextHolder.getBean(PoleService.class).getById(poleLightemit.getStreetlightId()) == null) {
+ throw new BusinessException("鐏潌涓嶅瓨鍦�");
+ }
+ boolean b = poleBindingService.bindPole(poleLightemit.getStreetlightId(), poleBindingParam);
}
+
+ /**
+ * 鐔欐睕led鏂板鏃ュ織璁板綍寮�濮�
+ */
+ List<String> listCode = new ArrayList<>();
+ listCode.add(poleLightemit.getLightemitControlCode());
+ String content = "{灞忓箷id锛�" + poleLightemit.getLightemitId() + "锛� 灞忓箷鍚嶇О锛�" + poleLightemit.getLightemitName() + "锛� 灞忓箷缂栫爜锛�" + poleLightemit.getLightemitControlCode() + " }";
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕LED鏂板", content);
+ /**
+ * 鐔欐睕led鏂板鏃ュ織璁板綍缁撴潫
+ */
// poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
}
@@ -143,6 +302,13 @@
PoleLightemitEntity byId = getById(ledId);
if (byId == null) {
throw new BusinessException("鏈壘鍒癓ED灞�");
+ }
+
+ if (SecurityUtils.getClientId() != null) {
+ boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getLightemitControlCode(), PoleBindingEnums.XIXUN);
+ if (!belong) {
+ throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+ }
}
poleLightemit.setLightemitId(ledId);
boolean b = this.updateById(poleLightemit);
@@ -154,28 +320,58 @@
//鍐嶇粦瀹�
PoleBindingParam poleBindingParam = new PoleBindingParam();
poleBindingParam.setDeviceCode(poleLightemit.getLightemitControlCode());
- poleBindingParam.setDeviceType(1);
+ poleBindingParam.setDeviceType(10);
poleBindingParam.setDeviceName(poleLightemit.getLightemitName());
poleBindingService.bindPole(poleLightemit.getStreetlightId(), poleBindingParam);
}
+
+ /**
+ * 鐔欐睕led缂栬緫鏃ュ織璁板綍寮�濮�
+ */
+ List<String> listCode = new ArrayList<>();
+ listCode.add(byId.getLightemitControlCode());
+ String content = "{灞忓箷id锛�" + byId.getLightemitId() + "锛� 灞忓箷鍘熷悕锛�" + byId.getLightemitName() + "锛� 灞忓箷鍚嶇О锛�" + poleLightemit.getLightemitName() + "锛� 灞忓箷缂栫爜锛�" + byId.getLightemitControlCode() + " }";
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕LED缂栬緫", content);
+ /**
+ * 鐔欐睕led缂栬緫鏃ュ織璁板綍缁撴潫
+ */
// poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
}
public boolean deletePoleLightemit(List<Long> ledIds) {
List<PoleLightemitEntity> poleLightemitEntities = listByIds(ledIds);
+ if (poleLightemitEntities != null && poleLightemitEntities.size() == 0) {
+ throw new BusinessException("璁惧涓嶅瓨鍦�");
+ }
+ List<String> listCode = new ArrayList<>();
// 鍒犻櫎璁惧缁戝畾
if (poleLightemitEntities != null && poleLightemitEntities.size() != 0) {
for (PoleLightemitEntity poleLightemitEntitie : poleLightemitEntities) {
if (poleLightemitEntitie.getLightemitControlCode() != null) {
//鍒犻櫎缁戝畾鍏崇郴//鍏堝垹闄ょ粦瀹氬叧绯�
+ listCode.add(poleLightemitEntitie.getLightemitControlCode());
poleBindingService.unBindPole(poleLightemitEntitie.getLightemitControlCode());
}
}
}
//鍒犻櫎璁惧
boolean b = removeByIds(ledIds);
+
+ /**
+ * 鐔欐睕led鍒犻櫎鏃ュ織璁板綍寮�濮�
+ */
+ List<String> nameList = new ArrayList<>();
+ for (PoleLightemitEntity poleLightemitEntitie : poleLightemitEntities) {
+ nameList.add(poleLightemitEntitie.getLightemitName());
+ }
+
+ String content = "{鍒犻櫎鐔欐睕LED鐨勮澶囦俊鎭細" + nameList.toString() + " }";
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕LED鍒犻櫎", content);
+ /**
+ * 鐔欐睕led鍒犻櫎鏃ュ織璁板綍缁撴潫
+ */
return b;
// poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
}
@@ -228,62 +424,26 @@
* led涓婁紶瑙嗛
*
* @param lightemitControlCode
- * @param filename
- * @param path
- * @param userName
- * @throws IOException
*/
@Async("taskExecutor")
- public void videoUpload(String lightemitControlCode, String filename, String path, String userName) throws IOException {
+ public String videoUpload(String lightemitControlCode, FileUploadDto fileUploadDto, Integer type) {
//鑾峰彇灞忓箷瀹�
String screenWidth = lightemitUtils.getScreenWidth(lightemitControlCode);
String screenHeight = lightemitUtils.getScreenHeight(lightemitControlCode);
//鍙戦�佽棰戣嚦寮�鍙戞澘骞舵挱鏀�
- lightemitUtils.postVideo(screenWidth, screenHeight, filename, lightemitControlCode);
+ String fileUrl = fileUploadDto.getFileUrl();
+ String[] split = fileUrl.split("/");
+ String id = split[split.length - 1];
+ String result = this.videoXixunPlayer(lightemitControlCode, id, fileUploadDto.getFileSize(), fileUploadDto.getMd5(), type, fileUploadDto.getFileType(), 999999);
- //娓呭睆
- lightemitUtils.clear(lightemitControlCode);
-
+ LogUtils.error("涓婁紶鎾斁缁撴灉:" + result);
+ return result;
}
- /**
- * 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) {
+ public String videoXixunPlayer(String lightemitControlCode, String filename, Long filesize, String md5, Integer type, String fileType, Integer videoTime) {
//鑾峰彇灞忓箷瀹�
Integer screenWidth = Integer.valueOf(lightemitUtils.getScreenWidth(lightemitControlCode));
Integer screenHeight = Integer.valueOf(lightemitUtils.getScreenHeight(lightemitControlCode));
@@ -298,18 +458,23 @@
source.set_id(UUID.randomUUID().toString());
//璇锋眰澶存嫾鎺ヨID涓鸿璧勬簮鐨勫畬鏁翠笅杞藉湴鍧�
source.setId(filename);
- //璁剧疆璧勬簮绫诲瀷锛屽叾浠栬祫婧愮被鍨嬭鍙傝�儀ixunplayer鑺傜洰json璇存槑鏂囨。
- source.set_type("Video");
+ if (type == 1) {
+ //璁剧疆璧勬簮绫诲瀷锛屽叾浠栬祫婧愮被鍨嬭鍙傝�儀ixunplayer鑺傜洰json璇存槑鏂囨。
+ source.set_type("Video");
+ source.setMime("video/mp4");
+ } else {
+ source.set_type("Image");
+ source.setMime("image/jpeg");
+ }
//璧勬簮鍚庣紑鍚�
- source.setFileExt(".mp4");
+ source.setFileExt(fileType);
//璧勬簮楂樺害
source.setHeight(screenHeight);
//璧勬簮瀹藉害
source.setWidth(screenWidth);
//璺濆乏
source.setLeft(0);
- source.setMd5("dd135d5d2d44d619a542db773ab529a4");
- source.setMime("video/mp4");
+ source.setMd5(md5);
source.setName(filename);
source.setPlayTime(0); //鎾斁璧峰鏃堕棿
source.setSize(filesize); //璧勬簮瀛楄妭鏁帮紝瑕佺簿鍑�
@@ -323,7 +488,7 @@
List<Layer> list1 = new ArrayList<Layer>();
list1.add(layer);
pro.setLayers(list1);
- pro.setName("demo"); //鑺傜洰鍚嶇О
+ pro.setName("鏂囦欢涓婁紶鎾斁"); //鑺傜洰鍚嶇О
pro.setOthers(true);//濡傛灉涓簍rue锛屽垯璇ヨ妭鐩潵鑷涓夋柟鎺ュ彛锛屼笉鏄潵鑷垜浠嚜宸辩殑web锛屼簩娆″紑鍙戣鍔″繀璧嬪�间负true
pro.setTotalSize(filesize); //鎵�鏈夎祫婧愭�诲瓧鑺傛暟
pro.setVersion(0); //楂樼骇鑺傜洰=0锛岀畝鏄撹妭鐩�=2
@@ -339,17 +504,29 @@
task.setItems(list2);
command.setId(UUID.randomUUID().toString());
//杩欓噷鏄笅鏂圭殑post鍥炶皟鍦板潃锛岄渶瑕佷慨鏀笽P鍦板潃
- command.setNotificationURL("http://" + ip + ":" + port + "/machine-fast/serv/download/getJSON");
+ command.setNotificationURL("");
//璧勬簮涓嬭浇閾炬帴鐨勮姹傚ご
- command.setPreDownloadURL("http://" + ip + ":" + port + "/machine-fast/serv/download/downloadFile/");
+ command.setPreDownloadURL("https://ximonsmart.oss-cn-shanghai.aliyuncs.com/");
command.setTask(task);
xixun.set_id(UUID.randomUUID().toString());
xixun.setCommand(command);
xixun.setType("commandXixunPlayer"); //鍛戒护鍥哄畾绫诲瀷锛屼笉鍙洿鏀�
String jsondata = new Gson().toJson(xixun);
- lightemitUtils.clear(lightemitControlCode);
- poleLightemitDao.updateRequestBody(lightemitControlCode, jsondata);
- lightemitUtils.post(realtimeServerBean.getCommand() + lightemitControlCode, jsondata);
+ String clearResult = lightemitUtils.clear(lightemitControlCode);
+ if (clearResult.contains("does not exist")) {
+ return "鎺ㄩ�佸け璐�";
+ } else {
+ poleLightemitDao.updateRequestBody(lightemitControlCode, jsondata);
+ String post = lightemitUtils.post(realtimeServerBean.getCommand() + lightemitControlCode, jsondata);
+ LogUtils.error("缁撴灉:" + post);
+ //{"_type":"success","_id":"ce8dc3ff-dc88-43b7-8f55-60abd8700f1a","timestamp":1653555160535}
+ if (post.startsWith("{") && post.endsWith("}") && post.contains("_type\":\"success")) {
+ return "鎺ㄩ�佹垚鍔�";
+ } else {
+ return "鎺ㄩ�佸け璐�";
+ }
+
+ }
}
/**
@@ -361,16 +538,6 @@
public void updateRequestBody(String ledCode, String postBody) {
baseMapper.updateRequestBody(ledCode, postBody);
}
-
-// /**
-// * 鏍规嵁led灞忕紪鐮佽幏鍙栫伅鏉嗘墍鏈変俊鎭�
-// *
-// * @param ledCode
-// * @return
-// */
-// public PoleStreetlightEntity getStreetlightByLedCode(String ledCode) {
-// return baseMapper.getStreetlightByLedCode(ledCode);
-// }
/**
@@ -385,7 +552,7 @@
}
/**
- * 鏍规嵁led灞忕紪鐮佽缃煶閲�
+ * 鏍规嵁led灞忕紪鐮佽缃寒搴�
*
* @param lightemitControlCode
* @param brightness
@@ -395,168 +562,36 @@
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>";
+ public Object getProgram(Long lightemitId) {
+ PoleLightemitEntity xiXun = getById(lightemitId);
- //鑾峰彇鎵�鏈塴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);
- }
+ String requestBody = xiXun.getRequestBody();
+ if (requestBody == null || requestBody.isEmpty()) {
+ throw new BusinessException("鏈壘鍒拌妭鐩�");
}
+
+ Map map = JSON.parseObject(requestBody, Map.class);
+ return map;
}
- /**
- * 涓婁紶鍨傜洿婊氬姩鍗曡瀛楀箷
- *
- * @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
+ * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
*/
- 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();
+ public void setCacheData() {
+ list().forEach(
+ xiXun -> {
+ RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+ deviceStatus.setDeviceId(xiXun.getLightemitControlCode());
+ boolean ledOnLine = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+ if (ledOnLine) {
+ deviceStatus.setStatus(0);
+ } else {
+ deviceStatus.setStatus(1);
+ }
+ redisUtils.set(DeviceRedisKey.XIXUN + xiXun.getLightemitControlCode(), JSON.toJSONString(deviceStatus));
+// redisUtils.delete(DeviceRedisKey.XIXUN + xiXun.getLightemitControlCode());
}
-
- 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