From dca94edc9cd0681be081e36b0dba3bbe0f581ea0 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 19 七月 2022 11:29:06 +0800
Subject: [PATCH] 新需求
---
ximon-admin/src/main/java/com/sandu/ximon/admin/config/RealtimeServerBean.java | 5
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/DownloadFileToLocal.java | 2
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramDto.java | 52 +++++
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java | 27 ++
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java | 83 +++++++++
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramPush.java | 32 +++
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/SetPlayList.java | 2
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java | 99 ++++++++++
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java | 42 +++-
ximon-admin/src/main/java/com/sandu/ximon/admin/security/base64_Img.java | 24 --
/dev/null | 70 -------
ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java | 5
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java | 11 +
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java | 73 ++++---
14 files changed, 374 insertions(+), 153 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/config/RealtimeServerBean.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/config/RealtimeServerBean.java
index 45a305d..ea87b39 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/config/RealtimeServerBean.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/config/RealtimeServerBean.java
@@ -4,10 +4,7 @@
import org.springframework.stereotype.Component;
/**
- * @program: machine-fast
- * @description: led鏈嶅嫏鍣ㄥ湴鍧�
- * @author: YSS
- * @create: 2019-04-24 13:24
+ * led鏈嶅嫏鍣ㄥ湴鍧�
**/
@Component
@ConfigurationProperties(prefix = "realtime-server")
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
index 5dfd343..fc3f143 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PlayPlanNvController.java
@@ -82,6 +82,15 @@
return ResponseUtil.success(playPlanNvService.pushSchedule(planId, playerIds));
}
+
+ @PostMapping(value = "/pushProgram/{pid}", produces = "application/json;charset=UTF-8")
+ public ResponseVO<Object> pushProgram(@PathVariable Long pid, @RequestBody List<NovaPushResultVO> playerIds) {
+ if (!permissionConfig.check(MenuEnum.LED_N_PLAY_PLAN_PUSH.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ return ResponseUtil.success(playPlanNvService.pushProgram(pid, playerIds));
+ }
+
@GetMapping("/listPlan")
public ResponseVO<Object> list(BaseConditionVO baseConditionVO,
@RequestParam(value = "order", required = false) Integer order,
@@ -132,9 +141,7 @@
}
List<PlayPlanNv> list = playPlanNvService.list(wrapper);
list.forEach(plan -> {
-// plan.setPlan(JSON.parseObject(plan.getSchedule(), Map.class));
plan.setPlan(JSON.parseObject(plan.getSchedules(), List.class));
-// plan.setPlan(JSON.parseArray(plan.getSchedule(), SchedulesDTO.class));
});
return ResponseUtil.successPage(list);
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
index c59172b..49847da 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -6,6 +6,8 @@
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
+import com.sandu.common.file.FileUploadDto;
+import com.sandu.common.file.impl.AliOssFileServiceImpl;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.common.util.SpringContextHolder;
@@ -25,7 +27,9 @@
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.util.*;
@@ -46,7 +50,10 @@
private final LedScheduleService scheduleService;
private PermissionConfig permissionConfig;
- // private final ListPageUtil listPageUtil;
+
+
+ private final AliOssFileServiceImpl aliOssFileService;
+ private final FileOperationRecordService fileOperationRecordService;
/**
* 鏂板鑺傜洰
@@ -531,4 +538,78 @@
*/
return ResponseUtil.success("娓呭睆鎴愬姛");
}
+
+
+ /**
+ * 鐔欐睕鐩存帴涓婁紶瑙嗛鍒版挱鏀惧櫒鎾斁
+ */
+ @PostMapping("/pushVideo")
+ @Transactional(rollbackFor = Exception.class)
+ public ResponseVO<Object> video(@RequestParam("file") MultipartFile file,
+ @RequestParam("lightemitId") List<Long> lightemitIds,
+ @RequestParam("type") Integer type) {
+ if (!permissionConfig.check(MenuEnum.XIXUN_PROGRAM_PUSH.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ if (file == null || lightemitIds.isEmpty()) {
+ throw new BusinessException("鏈�夋嫨LED灞忔垨鏂囦欢");
+ }
+
+ FileUploadDto fileUploadDto = aliOssFileService.uploadFile(file);
+ if (type == null && (type > 2 || type < 1)) {
+ throw new BusinessException("璇烽�夋嫨姝g‘鐨勬挱鏀剧被鍨�");
+ }
+
+ if (type == 1 && !"mp4".equals(fileUploadDto.getFileType())) {
+ throw new BusinessException("璇蜂笉瑕佸湪鎾斁瑙嗛鏃堕�夋嫨闈瀖p4鏂囦欢");
+ } else if (type == 2 && (!"jpg".equals(fileUploadDto.getFileType()) && !"gif".equals(fileUploadDto.getFileType()) && !"png".equals(fileUploadDto.getFileType()))) {
+ throw new BusinessException("璇蜂笉瑕佸湪鎾斁鍥剧墖鏃舵椂閫夋嫨闈瀓pg/gif/png鏂囦欢");
+ }
+
+
+ //鑾峰彇鎵�鏈塴ed鏁版嵁
+ List<PoleLightemitEntity> poleLightemitControllers = poleLightemitService.listByIds(lightemitIds);
+
+ int num = 0;
+ if (!poleLightemitControllers.isEmpty()) {
+
+ Iterator iterator = poleLightemitControllers.iterator();
+ while (iterator.hasNext()) {
+ PoleLightemitEntity poleLightemitEntity = (PoleLightemitEntity) iterator.next();
+ //涓婁紶瑙嗛
+ String s = poleLightemitService.videoUpload(poleLightemitEntity.getLightemitControlCode(), fileUploadDto, type);
+ if ("鎺ㄩ�佸け璐�".equals(s)) {
+ num++;
+ }
+ }
+ } else {
+ throw new BusinessException("鏈纭�夋嫨LED灞�");
+ }
+
+ /**
+ * 鐔欐睕涓婁紶鏂囦欢鎾斁 鏃ュ織璁板綍寮�濮�
+ */
+ //鑾峰彇listCode
+ List<String> listCode = new ArrayList<>();
+ List<String> msg = new ArrayList<>();
+ for (PoleLightemitEntity poleLightemitEntity : poleLightemitControllers) {
+ listCode.add(poleLightemitEntity.getLightemitControlCode());
+ msg.add("[灞忓箷鍚嶇О" + poleLightemitEntity.getLightemitName() + "璁惧缂栫爜" + poleLightemitEntity.getLightemitControlCode() + "],");
+ }
+ String content = JSON.toJSONString(msg);
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕鏂囦欢鎺ㄩ��", content);
+ /**
+ * 鐔欐睕涓婁紶鏂囦欢鎾斁 鏃ュ織璁板綍缁撴潫
+ */
+
+ if (num != 0 && num != lightemitIds.size()) {
+ //瀛樺湪澶辫触浣嗘槸涓嶅畬鍏ㄥけ璐�
+ return ResponseUtil.success("閮ㄥ垎鏂囦欢鎾斁鎴愬姛");
+ } else if (num == lightemitIds.size()) {
+ //鍏ㄩ儴澶辫触
+ return ResponseUtil.fail("鏂囦欢鎾斁澶辫触");
+ } else {
+ return ResponseUtil.success("鏂囦欢鎾斁鎴愬姛");
+ }
+ }
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramDto.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramDto.java
new file mode 100644
index 0000000..f8d4b80
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramDto.java
@@ -0,0 +1,52 @@
+package com.sandu.ximon.admin.dto.nova;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author LiuHaoNan
+ * @date 2022/7/15
+ * 鐩存帴鎺ㄩ�佽妭鐩疄浣�
+ */
+@NoArgsConstructor
+@Data
+public class ProgramDto {
+
+ private String name;
+ private List<WidgetsDTO> widgets;
+
+
+ @Data
+ public static class WidgetsDTO {
+
+ private Integer duration;
+
+ private String type;
+
+ private String url;
+
+ private Integer zIndex;
+
+ private LayoutDTO layout;
+
+ private String md5;
+
+ private String size;
+
+
+ @Data
+ public static class LayoutDTO {
+
+ private String x;
+
+ private String y;
+
+ private String width;
+
+ private String height;
+ }
+ }
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramPush.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramPush.java
new file mode 100644
index 0000000..64526ea
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/dto/nova/ProgramPush.java
@@ -0,0 +1,32 @@
+package com.sandu.ximon.admin.dto.nova;
+
+import com.sandu.ximon.admin.config.VnnoxConstant;
+import com.sandu.ximon.admin.utils.request.VnnoxRequest;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author LiuHaoNan
+ * @date 2022/7/15
+ */
+@Data
+public class ProgramPush implements VnnoxRequest {
+
+
+ // 闇�瑕佸鐞嗙殑鎾斁鍣↖D闆嗗悎,鏈�澶氭敮鎸�100涓挱鏀惧櫒鍚屾椂澶勭悊
+ private List<String> playerIds;
+ // 鎾斁鏃堕棿鎺掓湡锛屽鏋滀负绌猴紝浼氬叏澶�24灏忔椂寰幆鎾斁
+ private Map schedule;
+ // 闇�瑕佹挱鏀剧殑椤甸潰鍐呭闆嗗悎
+ private List<ProgramDto> pages ;
+ // 鑺傜洰涓嬭浇杩涘害閫氱煡鎺ュ彛锛屼細閫氳繃姝ゆ帴鍙e皢鑺傜洰鐨勪笅杞借繘搴﹀彂缁欏鎴凤紝鎺ュ彛鐨勫搷搴旀椂闂翠笉鑳借秴杩�3s
+ private String noticeUrl;
+
+
+ @Override
+ public String toJson() {
+ return VnnoxConstant.GSON.toJson(this);
+ }
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/base64_Img.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/base64_Img.java
index fc58b16..44d7926 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/base64_Img.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/base64_Img.java
@@ -9,29 +9,9 @@
public static void main(String[] args) {
//str = GetImageStr();
- String s="/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAoAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3Wism78S6VYXBgu7h4ZB/C8EgyM4yPl5HB5HFOfxDp0dsLl3uFgIDea1pKFwehztxzkV81ys6/Y1NHyvXyNSiq1nqFnqEe+0uYpgACdjAlc9MjqPxrH8U+LYfCVr9svdL1K4shtD3NqkbohJIAYFww6DnGOQM5OKulRnVmqcFdvoZS9z4tDoaK5uHxZPc6VHqcHhfW5bWSAXCMn2ZmZCu4EKJtxJHbGe2K0PD/iDTvE+jxanpk3mQPwynh427ow7MM/yIyCDVzw1WEXKS0Ts9nZ9nbYSkmalFRyzww482VI89NzAZpn2h3/1MDt/tSDYB+fP5A1kot6jJ6Ky7rUoreN5Li+iiCHDJbjzHBzjHQk/988fhVaPVJ51xYhFjY5824ZpZP97yU5CnjqyEE8qMYOqw82r/ANf16XBam7RVayb9yIzNcTMnWSeLYzZPsqj8hVmsZKzsAUUUUgOF+I3/ADDf+2v/ALJU1t4nWPQbO3SyhmYQJC0E1ypaU7cbVSMSHnBHzBeoHfiH4jf8w3/tr/7JXSafbC78N6dDJsMLWsW9WjDZ+UEdeOvqDXRCUVFcyT9b/oejVS+q0m77va3fzTOZ8FaLrdpNNdzbbOJ1C+TLGW8zk843KVIx3HQnHWovH8E48IaubnVo7yElN1tNGEhj/fIfmZMOMAHA3ZJGPmPBj8O3Yj8VNpUPlS6a0soRCAynAJDg9yQo59D9Kv8AxZUL8L9XVQAoEAAHQfvo67sFUvjaSVtZR6Luuru/1OTMKc1Nym73V/8Ah/6sY+mah4bGgaeH8RLuaCGM2kF+84LEKPLS2GWZcnGwjIHUcGtzwXolzHDd6heWosVvH3QWyJ5MyxZJXzthADfMcIB8oOCSScanhSGK58A6JBPGksMmlwI8bqGVlMSggg9QR2rlPBt09p8UfE+haaM6BBGkiJGzNFbTfKWROdqZZ5SVA6pxjaRXTUqyrQrwg2uXV310TS0elnd+d7dOvFGnGLTsdE2l3P8AamoyhblrRSgihQRs0rEAsQZeOMnk+pweMVjeHoL3xEl6lzdxwIiBQILWMNls87tuccdsHngjFegVxfgD/mI/9s//AGavHjXmlvr3MZrkrQiuvNc3PDVi1lpEfnw7LxsrM78u+1mC5bqwA4HPTpxV3UZrm3tJJbZImKKXYyMeAOeABz37irdZHiW4aDR2Vc5lYR5BxgdT/LH41zVptpyk9Tom+Sk7vZb9Sxp17NeaQl2Y1aZlYhFO0EgkAc9OlUrKfUdZhZZWS0hRjHP5YYSue4U5Hl9gTyTk42kA1owCPTNLjEzJGkMYDsOme5/E/nmk0yExWhkePy5J3aZ1yTgsc4Oe4GB+FKDlGS11sKPNeKb6alyiiirNjC1TwtbaxcCW8vb1tudiBkCoCc4A2/r14HNSpoLRWC2Uer6kkCgKoV0DAA5ADbN369OOlFFPmZt7epZRvoibS9B07R8tZwbZGUK0jMWZgPr0z1OMD8qoeKfCUPi21+x3uqalb2R2l7a1eNEcgkgsShY9RxnHAOMjNFFXSrTpTVSDs11MpydR3m7kFp4OlsNHTSrbxTrsdokZiRQ9uXRfQOYtwxnjB44xjArR0Dw1pnhuCZLCJzNcMJLm5mcyS3D4+87HqScnAwMk4AyaKK0niq004yej1fS/rbf5kqKRqTI0kRRJXiY9HQAkfmCP0rL0rw/b6NK72tzc7XxvRypDYzj+HPfsaKK5yZU4ykpNao16gvLOG+tmgnXKnoR1U+o96KKTSasymk1Zla20eC3KFpbicRkGNZpNyoRwMDpWhRRSjFR0QoxUVZIKKKKoo//Z";
+ String s= "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCADAAMADASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD/AD/6\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooA//9k=\n";
GenerateImage(s);
}
-
- // 鍥剧墖杞寲鎴恇ase64瀛楃涓�
-// public static String GetImageStr() {
-// String imgFile = "D:\\tanbing.jpg";// 寰呭鐞嗙殑鍥剧墖
-// InputStream in = null;
-// byte[] data = null;
-// // 璇诲彇鍥剧墖瀛楄妭鏁扮粍
-// try {
-// in = new FileInputStream(imgFile);
-// data = new byte[in.available()];
-// in.read(data);
-// in.close();
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
-// // 瀵瑰瓧鑺傛暟缁凚ase64缂栫爜
-// BASE64Encoder encoder = new BASE64Encoder();
-// System.out.println(encoder.encode(data));
-// return encoder.encode(data);// 杩斿洖Base64缂栫爜杩囩殑瀛楄妭鏁扮粍瀛楃涓�
-// }
// 瀵瑰瓧鑺傛暟缁勫瓧绗︿覆杩涜Base64瑙g爜骞剁敓鎴愬浘鐗�
public static boolean GenerateImage(String imgStr) {
@@ -49,7 +29,7 @@
}
}
// 鐢熸垚jpeg鍥剧墖
- String imgFilePath = "D:\\Download\\jieping.jpg";// 鏂扮敓鎴愮殑鍥剧墖
+ String imgFilePath = "C:\\Users\\Administrator\\Desktop\\jieping.jpg";// 鏂扮敓鎴愮殑鍥剧墖
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/ceshi.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/ceshi.java
deleted file mode 100644
index 137c9cc..0000000
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/ceshi.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.sandu.ximon.admin.security;
-
-import org.apache.commons.lang.StringEscapeUtils;
-
-/**
- * @Author liuhaonan
- * @Date 2022/2/25 17:26
- * @Version 1.0
- */
-public class ceshi {
- public static void main(String[] args) {
- String s="{\\\"programId\\\":378,\\\"_id\\\":\\\"2ab6dac6-bf1d-4393-bd2c-22ba9631bc0a\\\",\\\"name\\\":\\\"鐚挭\\\",\\\"width\\\":192,\\\"height\\\":192,\\\"layers\\\":[{\\\"id\\\":1,\\\"sources\\\":[{\\\"id\\\":\\\"212\\\",\\\"_id\\\":\\\"23ccc7aa-f571-4d08-95e2-426a9a8cef37\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭01.jpg\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":126178,\\\"playTime\\\":0,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"213\\\",\\\"_id\\\":\\\"2fb1e5d4-72dd-458a-bf26-d79b7344fd11\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭02.jpg\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":37268,\\\"playTime\\\":6,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"223\\\",\\\"_id\\\":\\\"39fd4620-bfa8-4df8-9637-51e833a71a50\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭09.png\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":3170450,\\\"playTime\\\":48,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"214\\\",\\\"_id\\\":\\\"cd46a125-3cd0-4adf-9f21-ba83c6dce786\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭03.jpg\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":41160,\\\"playTime\\\":12,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"217\\\",\\\"_id\\\":\\\"c1cbac8f-5af0-4976-8b70-50cf189fd0ca\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭04.jpg\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":168335,\\\"playTime\\\":18,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"218\\\",\\\"_id\\\":\\\"bcb0a5a5-b40a-4beb-84fe-00e14afdb046\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭05.jpg\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":236649,\\\"playTime\\\":24,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"221\\\",\\\"_id\\\":\\\"4f3aeb15-2d5c-45d1-8bcc-c41ce75ecde1\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭06.png\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":766854,\\\"playTime\\\":30,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"222\\\",\\\"_id\\\":\\\"453398cb-8099-4fa9-bc86-d36d92107d7f\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭07.png\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":762731,\\\"playTime\\\":36,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"224\\\",\\\"_id\\\":\\\"274ea4a4-d8b5-449e-8972-d027476bb9ca\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"鐚挭08.png\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":3102346,\\\"playTime\\\":42,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0},{\\\"id\\\":\\\"215\\\",\\\"_id\\\":\\\"c59a1450-a48d-437e-a337-fc87bd14bfc2\\\",\\\"_type\\\":\\\"Image\\\",\\\"md5\\\":null,\\\"name\\\":\\\"濡欏晩.png\\\",\\\"left\\\":0,\\\"top\\\":0,\\\"width\\\":192,\\\"height\\\":192,\\\"size\\\":430804,\\\"playTime\\\":54,\\\"timeSpan\\\":6,\\\"fileExt\\\":\\\"\\\",\\\"mime\\\":\\\"image\\/jpeg\\\",\\\"lineHeight\\\":null,\\\"html\\\":null,\\\"center\\\":false,\\\"speed\\\":null,\\\"entryEffect\\\":\\\"None\\\",\\\"exitEffect\\\":\\\"None\\\",\\\"entryEffectTimeSpan\\\":0,\\\"exitEffectTimeSpan\\\":0,\\\"backgroundColor\\\":\\\"\\\",\\\"language\\\":\\\"\\\",\\\"timezone\\\":0,\\\"city\\\":\\\"\\\",\\\"code\\\":0}],\\\"repeat\\\":true}],\\\"totalSize\\\":8842775,\\\"version\\\":0,\\\"others\\\":true}";
- String tmp = StringEscapeUtils.unescapeJavaScript(s);
- System.out.println("tmp:" + tmp);
-
- }
-}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java
deleted file mode 100644
index eae71ac..0000000
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/stringTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.sandu.ximon.admin.security;
-
-import com.sandu.ximon.admin.vo.ControlLightCommandVO;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @Author liuhaonan
- * @Date 2022/4/19
- * @Version 1.0
- */
-public class stringTest {
- public static void main(String[] args) {
- String command = "000005003001000430050";
-// String command = "00000500605000";
-
- char[] chars = command.toCharArray();
- int i = chars.length / 7;
-
- List<ControlLightCommandVO> list = new ArrayList<>();
-
- for (int j = 0; j < i; j++) {
- int hour = Integer.valueOf(command.substring(0 + (j * 7), 2 + (j * 7)));
- int min = Integer.valueOf(command.substring(2 + (j * 7), 4 + (j * 7)));
- int brightness = Integer.valueOf(command.substring(4 + (j * 7), 7 + (j * 7)));
- ControlLightCommandVO vo = new ControlLightCommandVO();
- vo.setHour(hour);
- vo.setMin(min);
- vo.setBrightness(brightness);
- list.add(vo);
- }
- ControlLightCommandVO v1 = list.get(0);
- ControlLightCommandVO v2 = list.get(1);
-
-// int i1 = v2.getHour() - v1.getHour();
-// int i2 = (v2.getMin()- v1.getMin());
-
- BigDecimal hour;
- if (v2.getHour() > v1.getHour()) {
- hour = BigDecimal.valueOf((v2.getHour() - v1.getHour()));
- } else if (v2.getHour() < v1.getHour()) {
- hour = BigDecimal.valueOf((v2.getHour() + 24 - v1.getHour()));
- } else {
- hour = BigDecimal.valueOf(0);
- }
-// BigDecimal min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
- BigDecimal min;
- if (v2.getMin() > v1.getMin()) {
- min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
- } else if (v2.getMin() < v1.getMin()) {
- min = BigDecimal.valueOf((v2.getMin() + 60 - v1.getMin()) / 60);
- } else {
- min = BigDecimal.valueOf(0);
- }
-
- BigDecimal totalTime = (hour.add(min));
-// int total=(i1*3600+i2*60);
-// BigDecimal energySaving = BigDecimal.valueOf(((100-v1.getBrightness())/100)*totalTime/24);
-// BigDecimal energySaving =BigDecimal.valueOf((100-v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
- BigDecimal energySaving =new BigDecimal(100).subtract(BigDecimal.valueOf(v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24),2);
-
-
- System.out.println(energySaving);
-// System.out.println(energySaving+"----------------------"+energySaving1);
-
- }
-
-}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
index 022c9c3..aa7789b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -11,6 +11,8 @@
import com.sandu.ximon.admin.dto.PlanDto;
import com.sandu.ximon.admin.dto.SchedulesDTO;
import com.sandu.ximon.admin.dto.nova.PlayerProgram;
+import com.sandu.ximon.admin.dto.nova.ProgramDto;
+import com.sandu.ximon.admin.dto.nova.ProgramPush;
import com.sandu.ximon.admin.dto.nova.ProgramSchedule;
import com.sandu.ximon.admin.entity.Plans;
import com.sandu.ximon.admin.param.PlayPlanParam;
@@ -22,10 +24,7 @@
import com.sandu.ximon.admin.vo.NovaOpenVO;
import com.sandu.ximon.admin.vo.NovaPushResultVO;
import com.sandu.ximon.admin.vo.PlansVO;
-import com.sandu.ximon.dao.domain.LEDProgram;
-import com.sandu.ximon.dao.domain.LedPlayerEntity;
-import com.sandu.ximon.dao.domain.PlayPlanNv;
-import com.sandu.ximon.dao.domain.PushToLed;
+import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.PlayPlanNvMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -48,6 +47,7 @@
private VnnoxAPIUtil vnnoxAPIUtil;
private final LEDProgramService ledProgramService;
private final ClientService clientService;
+ private final LEDProgramFileService fileService;
public boolean addPlan(PlayPlanParam playPlanParam) {
@@ -378,4 +378,95 @@
plan.put("schedules", schedules);
return plan;
}
+
+
+ /**
+ * 鎺ㄩ�佸疄鏃惰妭鐩�
+ *
+ * @param pid
+ * @param nova
+ * @return
+ */
+ public Map<String, Object> pushProgram(Long pid, List<NovaPushResultVO> nova) {
+ LEDProgram ledProgram = ledProgramService.getById(pid);
+ if (ledProgram == null) {
+ throw new BusinessException("鏈壘鍒拌妭鐩�");
+ }
+ String pages = ledProgram.getPages();
+ List<String> playerIds = new ArrayList<>();
+ nova.forEach(n -> {
+ playerIds.add(n.getPlayerId());
+ });
+
+ ProgramPush program = new ProgramPush();
+ List<ProgramDto> programDtos = JSON.parseArray(pages, ProgramDto.class);
+ programDtos.forEach(
+ programDto -> {
+ programDto.getWidgets().forEach(
+ widget -> {
+ String url = widget.getUrl();
+ LEDProgramFile one = fileService.getOne(Wrappers.lambdaQuery(LEDProgramFile.class).eq(LEDProgramFile::getFileUrl, url));
+ if (one == null) {
+ throw new BusinessException("鑺傜洰鏂囦欢宸插け鏁�");
+ }
+ widget.setMd5(one.getMd5());
+ widget.setSize(one.getSize());
+ }
+ );
+ }
+ );
+
+ program.setPlayerIds(playerIds);
+ //鑾峰彇鑺傜洰瀹炰綋
+ program.setPages(programDtos);
+
+ program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
+ VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.pushProgram(program);
+
+ List<String> success = new ArrayList<>();
+ List<String> fail = new ArrayList<>();
+ if (vnnoxResultResponse.getData() != null) {
+ success = vnnoxResultResponse.getData().getSuccess();
+ fail = vnnoxResultResponse.getData().getFail();
+ }
+
+ //鎷兼帴鎴愬姛澶辫触鐨勭粨鏋�
+ Map<String, Object> result = new HashMap<>();
+ List<NovaPushResultVO> successList = new ArrayList<>();
+ List<NovaPushResultVO> faileList = new ArrayList<>();
+ List<String> finalSuccess = success;
+ List<String> finalFail = fail;
+ nova.forEach(n -> {
+ if (finalSuccess.contains(n.getPlayerId())) {
+ successList.add(n);
+ } else if (finalFail.contains(n.getPlayerId())) {
+ faileList.add(n);
+ }
+ });
+
+ result.put("success", successList);
+ result.put("fail", faileList);
+
+ /**
+ * 璇虹摝鎺ㄩ�佽妭鐩棩蹇楄褰曞紑濮�
+ */
+ List<LedPlayerEntity> list = SpringContextHolder.getBean(LedPlayerEntityService.class)
+ .list(Wrappers.lambdaQuery(LedPlayerEntity.class).in(LedPlayerEntity::getId, nova.stream().map(NovaPushResultVO::getPlayerId).toArray()));
+ List<String> listCode = new ArrayList<>();
+ for (LedPlayerEntity temp : list) {
+ listCode.add(temp.getSn());
+ }
+
+ String content = "{鑺傜洰ID锛�" + pid
+ + "锛� 鑺傜洰鍚嶇О锛�" + ledProgram.getName()
+ + "}," + " 鎺ㄩ�佺粨鏋滐細" + result
+ + " }";
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "璇虹摝鎺ㄩ�佽妭鐩�", content);
+ /**
+ * 璇虹摝鎺ㄩ�佽妭鐩棩蹇楄褰曠粨鏉�
+ */
+
+ return result;
+ }
+
}
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 e6f118b..3eb4327 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
@@ -3,16 +3,14 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.gson.Gson;
import com.sandu.common.execption.BusinessException;
+import com.sandu.common.file.FileUploadDto;
import com.sandu.common.service.impl.BaseServiceImpl;
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.FileUtil;
-import com.sandu.ximon.admin.utils.HtmlTemplateUtils;
-import com.sandu.ximon.admin.utils.LightemitUtils;
-import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
+import com.sandu.ximon.admin.utils.*;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
@@ -393,28 +391,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;
}
@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));
@@ -429,18 +425,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); //璧勬簮瀛楄妭鏁帮紝瑕佺簿鍑�
@@ -454,7 +455,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
@@ -470,17 +471,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 "鎺ㄩ�佸け璐�";
+ }
+
+ }
}
/**
@@ -492,16 +505,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);
-// }
/**
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
index e95f113..681d20d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/XiXunPlayerService.java
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.service;
+import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -262,7 +263,7 @@
layerPro.getSources().forEach(sourcePro -> {
long fileId = Long.parseLong(sourcePro.getId());
LedSFile file = xiXunFileService.getById(fileId);
- if(file != null){
+ if (file != null) {
String fileUrl = file.getFileUrl();
String[] split = fileUrl.split("/");
sourcePro.setId(split[split.length - 1]);
@@ -301,6 +302,8 @@
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String jsondata = gson.toJson(xixun);
+ System.out.println("鎺ㄩ�佸唴瀹�" + JSONUtil.toJsonStr(jsondata));
+
Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(lightemitIds);
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java
index bd05d86..e3c0de7 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/LightemitUtils.java
@@ -1,7 +1,9 @@
package com.sandu.ximon.admin.utils;
+import cn.hutool.core.lang.Snowflake;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
+import com.sandu.common.file.FileUploadDto;
import com.sandu.ximon.admin.config.RealtimeServerBean;
import com.sandu.ximon.admin.service.PoleLightemitService;
import com.sandu.ximon.admin.utils.request.*;
@@ -32,6 +34,9 @@
private final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
private OkHttpClient client = new OkHttpClient();
+
+ @Autowired
+ private Snowflake snowflake;
public void init() {
@@ -146,36 +151,53 @@
*
* @param screenWidth
* @param screenHeight
- * @param filename
* @param ledCode
*/
- public void postVideo(String screenWidth, String screenHeight, String filename, String ledCode) {
+ public String postFile(String screenWidth, String screenHeight, String ledCode, FileUploadDto fileUploadDto) {
+
+ String fileUrl = fileUploadDto.getFileUrl();
+ String[] split = fileUrl.split("/");
+ String id = split[split.length - 1];
+
//led寮�鍙戞澘涓嬭浇瑙嗛璇锋眰body
DownloadFileToLocal downloadFileToLocal = new DownloadFileToLocal();
- downloadFileToLocal.url = realtimeServerBean.getUrl() + filename;
- downloadFileToLocal.path += filename;
+ downloadFileToLocal.url = realtimeServerBean.getUrl() + "https://ximonsmart.oss-cn-shanghai.aliyuncs.com/" + id;
+ downloadFileToLocal.path += fileUrl;
//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] = "";
+ setPlayList.list[0] = fileUrl;
+ setPlayList.pathList[0] = ledCode;
try {
setPlayList.width = Integer.valueOf(screenWidth);
setPlayList.height = Integer.valueOf(screenHeight);
} catch (Exception e) {
- return;
+ return "鎺ㄩ�佸け璐�";
}
String postBody = new Gson().toJson(setPlayList);
- //淇濆瓨led鏁版嵁
- poleLightemitService.updateRequestBody(ledCode, postBody);
+
//led寮�鍙戞澘瑙嗛鍒楄〃璇锋眰
- this.post(realtimeServerBean.getCommand() + ledCode, postBody);
+ String post = this.post(realtimeServerBean.getCommand() + ledCode, postBody);
+ LogUtils.error("瑙嗛涓婁紶缁撴灉:----" + post);
+ if (post.contains("does not exist")) {
+ return "鎺ㄩ�佸け璐�";
+ } else {
+ //{"_type":"success","_id":"ce8dc3ff-dc88-43b7-8f55-60abd8700f1a","timestamp":1653555160535}
+ if (post.startsWith("{") && post.endsWith("}") && post.contains("_type\":\"success")) {
+ //淇濆瓨led鏁版嵁
+ poleLightemitService.updateRequestBody(ledCode, postBody);
+ return "鎺ㄩ�佹垚鍔�";
+ } else {
+ return "鎺ㄩ�佸け璐�";
+ }
+ }
}
+
/**
* led灞忓瓧骞曡缃�
*
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
index 51dd4d0..9202257 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.sandu.ximon.admin.config.VnnoxUrl;
import com.sandu.ximon.admin.dto.nova.AirDataProgram;
+import com.sandu.ximon.admin.dto.nova.ProgramPush;
import com.sandu.ximon.admin.dto.nova.ProgramSchedule;
import com.sandu.ximon.admin.utils.request.CommonHeader;
import com.sandu.ximon.admin.dto.nova.PlayerProgram;
@@ -23,11 +24,10 @@
/**
- * 鏅�氳妭鐩挱鏀�
+ * 澶ф皵淇℃伅鎺ㄩ��
* @param
* @return
*/
- //public VnnoxResultResponse normalProgram(Map<String,Object> program) {
public VnnoxResultResponse normalProgram(AirDataProgram program) {
String result = VnnoxRequestUtil.PostWithHeader(
@@ -41,6 +41,11 @@
}
+ /**
+ * 鏅�氳妭鐩挱鏀�
+ * @param
+ * @return
+ */
public VnnoxResultResponse normalProgram(PlayerProgram program) {
String result = VnnoxRequestUtil.PostWithHeader(
@@ -54,6 +59,24 @@
}
/**
+ * 瀹炴椂鑺傜洰鎾斁
+ * @param
+ * @return
+ */
+ public VnnoxResultResponse pushProgram(ProgramPush program) {
+
+ String result = VnnoxRequestUtil.PostWithHeader(
+ VnnoxUrl.getUrl(VnnoxUrl.NORMAL_PROGRAM),
+ program.toJson(),
+ new CommonHeader(CommonHeader.JSON, true)
+ );
+ System.out.println(program.toJson());
+ LogUtils.error("鏅�氳妭鐩挱鏀緍esponse:"+result);
+ return JSON.parseObject(result,VnnoxResultResponse.class);
+ }
+
+
+ /**
* 瀹氭椂鑺傜洰鎾斁
* @param program
* @return
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/DownloadFileToLocal.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/DownloadFileToLocal.java
index c88c05b..d8af429 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/DownloadFileToLocal.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/DownloadFileToLocal.java
@@ -12,6 +12,6 @@
public String url;
- public String path = "/abc/";
+ public String path = "https://ximonsmart.oss-cn-shanghai.aliyuncs.com/";
}
\ No newline at end of file
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/SetPlayList.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/SetPlayList.java
index 35e7d98..9b2af0b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/SetPlayList.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/SetPlayList.java
@@ -12,7 +12,7 @@
public String[] list = new String[1] ;
-// public String[] pathList = new String[1];
+ public String[] pathList = new String[1];
public Integer width = 128;
--
Gitblit v1.9.3