From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java | 285 +++++++++++++++++++++++++++++---------------------------
1 files changed, 147 insertions(+), 138 deletions(-)
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 c400470..1eeb4e2 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
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.service;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
@@ -24,10 +25,10 @@
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.PlayPlanNvMapper;
import lombok.AllArgsConstructor;
-import org.aspectj.weaver.ast.Var;
import org.springframework.stereotype.Service;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 鎾斁璁″垝
@@ -189,73 +190,77 @@
nova.forEach(n -> {
playerIds.add(n.getPlayerId());
});
-
- PlayerProgram program = new PlayerProgram();
- program.setPlayerIds(playerIds);
-
- //鑾峰彇鑺傜洰瀹炰綋
-
-
- List<PlayerPage> programDtos = JSON.parseArray(pushToLed.getPages(), PlayerPage.class);
- programDtos.forEach(
- programDto -> {
- programDto.getWidgets().forEach(
- widget -> {
- if (!PlayerWidgetType.WEATHER.equals(widget.getType())) {
- 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(Long.parseLong(one.getSize()));
- }
- }
- );
- }
- );
-
- program.setPages(programDtos);
-
- //鑾峰彇鑺傜洰瀹氭椂瀹炰綋
- PlayerSchedule playerSchedule = JSON.parseObject(pushToLed.getSchedule(), PlayerSchedule.class);
- //鍒犻櫎鏃堕棿鐨勫悗涓変綅
- List<PlayerSchedulePlans> plans = playerSchedule.getPlans();
- plans.forEach(
- plan -> {
- plan.setStartTime(plan.getStartTime().substring(0, plan.getStartTime().length() - 3));
- plan.setEndTime(plan.getEndTime().substring(0, plan.getEndTime().length() - 3));
- }
- );
- program.setSchedule(playerSchedule);
-
-
-
- program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
- LogUtils.error("鑺傜洰鍐呭+++++++++++" + JSON.toJSONString(program));
- VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(program);
- vnnoxAPIUtil.volChange(playerIds, Integer.valueOf(pushToLed.getVolume()).intValue());
-
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);
+
+
+ List<List<String>> split = CollectionUtil.split(playerIds, 100);
+ for (List<String> playIds : split) {
+ PlayerProgram program = new PlayerProgram();
+ program.setPlayerIds(playIds);
+
+ //鑾峰彇鑺傜洰瀹炰綋
+
+ List<PlayerPage> programDtos = JSON.parseArray(pushToLed.getPages(), PlayerPage.class);
+ programDtos.forEach(
+ programDto -> {
+ programDto.getWidgets().forEach(
+ widget -> {
+ if (PlayerWidgetType.PICTURE.equals(widget.getType()) || PlayerWidgetType.VIDEO.equals(widget.getType())) {
+ 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(Long.parseLong(one.getSize()));
+ }
+ }
+ );
+ }
+ );
+
+ program.setPages(programDtos);
+
+ //鑾峰彇鑺傜洰瀹氭椂瀹炰綋
+ PlayerSchedule playerSchedule = JSON.parseObject(pushToLed.getSchedule(), PlayerSchedule.class);
+ //鍒犻櫎鏃堕棿鐨勫悗涓変綅
+ List<PlayerSchedulePlans> plans = playerSchedule.getPlans();
+ plans.forEach(
+ plan -> {
+ plan.setStartTime(plan.getStartTime().substring(0, plan.getStartTime().length() - 3));
+ plan.setEndTime(plan.getEndTime().substring(0, plan.getEndTime().length() - 3));
+ }
+ );
+ program.setSchedule(playerSchedule);
+
+
+ program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
+ LogUtils.error("鑺傜洰鍐呭+++++++++++" + JSON.toJSONString(program));
+ VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.normalProgram(program);
+ vnnoxAPIUtil.volChange(playerIds, Integer.valueOf(pushToLed.getVolume()).intValue());
+
+
+ if (vnnoxResultResponse.getData() != null) {
+ success = vnnoxResultResponse.getData().getSuccess();
+ fail = vnnoxResultResponse.getData().getFail();
}
- });
+
+ 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);
@@ -290,40 +295,41 @@
throw new BusinessException("鏈壘鍒拌妭鐩�");
}
List<SchedulesDTO> schedulesDTOS = JSON.parseArray(one.getSchedules(), SchedulesDTO.class);
- ProgramSchedule programSchedule = new ProgramSchedule();
- programSchedule.setSchedules(schedulesDTOS);
- List<String> playerIds = new ArrayList<>();
- nova.forEach(
- n -> {
- playerIds.add(n.getPlayerId());
- }
- );
- //璁剧疆
- programSchedule.setPlayerIds(playerIds);
- VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.timeProgram(programSchedule);
+
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);
- }
- }
- );
+ List<List<String>> split = CollectionUtil.split(nova.stream().map(NovaPushResultVO::getPlayerId).collect(Collectors.toList()), 100);
+ for (List<String> playerIds : split) {
+ //璁剧疆
+ ProgramSchedule programSchedule = new ProgramSchedule();
+ programSchedule.setSchedules(schedulesDTOS);
+ programSchedule.setPlayerIds(playerIds);
+ VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.timeProgram(programSchedule);
+
+
+ if (vnnoxResultResponse.getData() != null) {
+ success = vnnoxResultResponse.getData().getSuccess();
+ fail = vnnoxResultResponse.getData().getFail();
+ }
+ 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);
@@ -424,68 +430,71 @@
if (ledProgram.getPages() == null) {
throw new BusinessException("鑺傜洰鍐呭涓㈠け");
}
- if (SecurityUtils.getClientId() != null && !Objects.equals(ledProgram.getClientId(), SecurityUtils.getUserId()) && !Objects.equals(ledProgram.getClientId(), SecurityUtils.getClientId())) {
+ if (SecurityUtils.getClientId() != null
+ && !Objects.equals(ledProgram.getClientId(), SecurityUtils.getUserId())
+ && !Objects.equals(ledProgram.getUserId(), SecurityUtils.getUserId())) {
throw new BusinessException("璇蜂笉瑕佹搷浣滃叾浠栦汉鐨勮妭鐩�");
}
String pages = ledProgram.getPages();
- List<String> playerIds = new ArrayList<>();
- nova.forEach(n -> {
- playerIds.add(n.getPlayerId());
- });
- PlayerProgram program = new PlayerProgram();
- List<PlayerPage> programDtos = JSON.parseArray(pages, PlayerPage.class);
- programDtos.forEach(
- programDto -> {
- programDto.getWidgets().forEach(
- widget -> {
- if (!PlayerWidgetType.WEATHER.equals(widget.getType())) {
- 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(Long.parseLong(one.getSize()));
- }else {
- //WratherPage
- System.out.println(widget+"widget");
- }
- }
- );
- }
- );
- program.setPlayerIds(playerIds);
- //鑾峰彇鑺傜洰瀹炰綋
- program.setPages(programDtos);
-
- program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
- VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.pushProgram(program);
-
- if (vnnoxResultResponse == null || vnnoxResultResponse.getData() == null) {
- throw new BusinessException("鎺ㄩ�佸け璐�");
- }
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);
+
+
+ List<List<String>> split = CollectionUtil.split(nova.stream().map(NovaPushResultVO::getPlayerId).collect(Collectors.toList()), 100);
+
+ for (List<String> playerIds : split) {
+ PlayerProgram program = new PlayerProgram();
+ List<PlayerPage> programDtos = JSON.parseArray(pages, PlayerPage.class);
+ programDtos.forEach(
+ programDto -> {
+ programDto.getWidgets().forEach(
+ widget -> {
+ if (PlayerWidgetType.PICTURE.equals(widget.getType()) || PlayerWidgetType.VIDEO.equals(widget.getType())) {
+ 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(Long.parseLong(one.getSize()));
+ }
+ }
+ );
+ }
+ );
+ program.setPlayerIds(playerIds);
+ //鑾峰彇鑺傜洰瀹炰綋
+ program.setPages(programDtos);
+
+ program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
+ VnnoxResultResponse vnnoxResultResponse = vnnoxProgramAPIUtil.pushProgram(program);
+
+ if (vnnoxResultResponse == null || vnnoxResultResponse.getData() == null) {
+ throw new BusinessException("鎺ㄩ�佸け璐�");
}
- });
+
+
+ if (vnnoxResultResponse.getData() != null) {
+ success = vnnoxResultResponse.getData().getSuccess();
+ fail = vnnoxResultResponse.getData().getFail();
+ }
+
+ 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);
--
Gitblit v1.9.3