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/XiXunPlayerService.java | 173 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 125 insertions(+), 48 deletions(-)
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 7b30ecd..7838f84 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,14 +1,16 @@
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;
+import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
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.RealtimeServerBean;
-import com.sandu.ximon.admin.config.XiXunConfig;
import com.sandu.ximon.admin.entity.*;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
import com.sandu.ximon.admin.security.SecurityUtils;
@@ -21,6 +23,7 @@
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
+import com.sandu.ximon.dao.enums.OrderByEnums;
import com.sandu.ximon.dao.mapper.PoleXixunPlayerEntityMapper;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
@@ -36,8 +39,6 @@
@AllArgsConstructor
public class XiXunPlayerService extends BaseServiceImpl<PoleXixunPlayerEntityMapper, PoleXixunPlayerEntity> {
- private final PoleXixunPlayerEntityMapper poleXixunPlayerEntityMapper;
- private final XiXunConfig config;
private final LightemitUtils lightemitUtils;
private final RealtimeServerBean realtimeServerBean;
private final PoleLightemitService poleLightemitService;
@@ -68,22 +69,43 @@
}
}
+ public List<PoleXixunPlayerEntity> listProgram(BaseConditionVO baseConditionVO, Integer order, Integer seq, String keyword) {
+ LambdaQueryWrapper<PoleXixunPlayerEntity> wrapper = XixunPlayerList(keyword);
+ //鎺掑簭瀛楁
+ String orderByResult = "program_id";
+ //姝e簭銆佸�掑彊
+ String orderBySeq = OrderByEnums.ASC.getCode();
+ if (order != null) {
+ switch (order) {
+ case 1:
+ orderByResult = OrderByEnums.LED_S_PROGRAM_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 (baseConditionVO != null) {
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), orderBy);
+ }
+ return list(wrapper);
+ }
+
public boolean insert(ProgramPro programPro) {
- programPro.getLayers().forEach(
- layerPro -> {
- layerPro.getSources().forEach(
- sourcePro -> {
- long fileId = Long.parseLong(sourcePro.getId());
- LedSFile file = xiXunFileService.getById(fileId);
- String fileUrl = file.getFileUrl();
- String[] split = fileUrl.split("/");
- sourcePro.setId(split[split.length - 1]);
- sourcePro.setMd5(file.getMd5());
- }
- );
- }
- );
- String json = JsonUtil.jsonObj2Sting(programPro);
+ Gson gson = new GsonBuilder().disableHtmlEscaping().create();
+ String json = gson.toJson(programPro);
PoleXixunPlayerEntity poleXixunPlayer = new PoleXixunPlayerEntity();
poleXixunPlayer.setProgramCode(programPro.get_id());
poleXixunPlayer.setProgramName(programPro.getName());
@@ -106,29 +128,68 @@
+ "锛� 鑺傜洰鍚嶇О锛�" + poleXixunPlayer.getProgramName()
+ "锛� 鑺傜洰鍐呭锛�" + json
+ " }";
- StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕鑺傜洰鏇存敼", content);
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕鑺傜洰娣诲姞", content);
/**
* 鐔欐睕鑺傜洰鏂板鏃ュ織璁板綍缁撴潫
*/
return save;
}
- public boolean deleteProgram(Long pid) {
- PoleXixunPlayerEntity byId = getById(pid);
- if (byId == null) {
+ /**
+ * 缂栬緫
+ *
+ * @param programPro
+ * @return
+ */
+ public boolean update(ProgramPro programPro) {
+ Gson gson = new GsonBuilder().disableHtmlEscaping().create();
+ String json = gson.toJson(programPro);
+// String jsondata = JsonUtil.jsonObj2Sting(programPro);
+ PoleXixunPlayerEntity poleXixunPlayer = new PoleXixunPlayerEntity();
+ poleXixunPlayer.setProgramCode(programPro.get_id());
+ poleXixunPlayer.setProgramName(programPro.getName());
+ poleXixunPlayer.setHeight(programPro.getHeight());
+ poleXixunPlayer.setWidth(programPro.getWidth());
+ poleXixunPlayer.setTotalSize((float) programPro.getTotalSize() / 1000000 + "MB");
+ poleXixunPlayer.setRequestBody(json);
+ poleXixunPlayer.setScreenShot(programPro.getScreenShot());
+ if (SecurityUtils.getClientId() != null) {
+ poleXixunPlayer.setCreateUserId(SecurityUtils.getUserId());
+ if (clientService.findClientId()) {
+ poleXixunPlayer.setClientId(clientService.getClientId());
+ }
+ }
+ poleXixunPlayer.setProgramId(programPro.getProgramId());
+ boolean updateResult = updateById(poleXixunPlayer);
+ /**
+ * 鐔欐睕鑺傜洰鏂板鏃ュ織璁板綍寮�濮�
+ */
+ String content = "{鑺傜洰id锛�" + poleXixunPlayer.getProgramId()
+ + "锛� 鑺傜洰鍚嶇О锛�" + poleXixunPlayer.getProgramName()
+ + "锛� 鑺傜洰鍐呭锛�" + json
+ + " }";
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕鑺傜洰缂栬緫", content);
+ /**
+ * 鐔欐睕鑺傜洰鏂板鏃ュ織璁板綍缁撴潫
+ */
+ return updateResult;
+ }
+
+ public boolean deleteProgram(List<Long> pids) {
+ List<PoleXixunPlayerEntity> poleXixunPlayerEntities = listByIds(pids);
+ if (poleXixunPlayerEntities.isEmpty()) {
throw new BusinessException("鏈壘鍒拌鑺傜洰");
}
/**
* 鐔欐睕鑺傜洰鍒犻櫎鏃ュ織璁板綍寮�濮�
*/
- String content = "{鍒犻櫎鐨勮妭鐩甶d锛�" + byId.getProgramId()
- + "锛� 鍒犻櫎鐨勮妭鐩悕绉帮細" + byId.getProgramName()
+ String content = "{鍒犻櫎鐨勮妭鐩甶d锛�" + pids
+ " }";
StoreOperationRecordsUtils.storeOperationData(null, null, "鐔欐睕鑺傜洰鍒犻櫎", content);
/**
* 鐔欐睕鑺傜洰鍒犻櫎鏃ュ織璁板綍缁撴潫
*/
- return removeById(pid);
+ return removeByIds(pids);
}
public Object getByPid(Long pid) {
@@ -141,7 +202,9 @@
String json = byId.getRequestBody();
ProgramPro programPro = new ProgramPro();
try {
- programPro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class);
+ Gson gson = new GsonBuilder().disableHtmlEscaping().create();
+// programPro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class);
+ programPro = gson.fromJson(json, ProgramPro.class);
programPro.setProgramId(pid);
programPro.setScreenShot(byId.getScreenShot());
programPro.getLayers().forEach(
@@ -172,47 +235,74 @@
//璁板綍鎿嶄綔缁撴灉
List<Map> mapList = new ArrayList<>();
- ProgramPro pro = new ProgramPro();
+
ItemPro items = new ItemPro();
TaskPro taskPro = new TaskPro();
CommandPro command = new CommandPro();
XixunPlayerPro xixun = new XixunPlayerPro();
- PoleXixunPlayerEntity poleXixunPlayerEntity = new PoleXixunPlayerEntity();
+
+ PoleXixunPlayerEntity poleXixunPlayerEntity;
items.set_id(UUID.randomUUID().toString());
QueryWrapper<PoleXixunPlayerEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("program_id", programId);
poleXixunPlayerEntity = this.getOne(queryWrapper);
+ if (poleXixunPlayerEntity == null) {
+ throw new BusinessException("鑺傜洰鏁版嵁寮傚父锛�");
+ }
+
String json = poleXixunPlayerEntity.getRequestBody();
+ if (StringUtils.isEmpty(json)) {
+ throw new BusinessException("鑺傜洰鏁版嵁寮傚父锛�");
+ }
-// System.out.println( JSON.parseArray(json, ProgramPro.class));
-
+ ProgramPro pro;
try {
pro = JsonUtil.convertJsonStringToObject(json, ProgramPro.class);
+ pro.getLayers().forEach(layerPro -> {
+ layerPro.getSources().forEach(sourcePro -> {
+ long fileId = Long.parseLong(sourcePro.getId());
+ LedSFile file = xiXunFileService.getById(fileId);
+ if (file != null) {
+ String fileUrl = file.getFileUrl();
+ String[] split = fileUrl.split("/");
+ sourcePro.setId(split[split.length - 1]);
+ sourcePro.setMd5(file.getMd5());
+ }
+ });
+ });
} catch (Exception e) {
e.printStackTrace();
+ throw new BusinessException("鑺傜洰鏁版嵁寮傚父锛�");
}
items.set_program(pro);
items.setRepeatTimes(1);
- items.setSchedulePros(null);//瀹氭椂娈碉紝涓嶅仛瀹氭椂鍙负null
+ //瀹氭椂娈碉紝涓嶅仛瀹氭椂鍙负null
+ items.setSchedulePros(null);
+
taskPro.set_id(UUID.randomUUID().toString());
taskPro.setName(poleXixunPlayerEntity.getProgramName());
+
List<ItemPro> list2 = new ArrayList<>();
list2.add(items);
taskPro.setItems(list2);
+
command.setId(UUID.randomUUID().toString());
-// //杩欓噷鏄笅鏂圭殑post鍥炶皟鍦板潃锛岄渶瑕佷慨鏀笽P鍦板潃
+ //杩欓噷鏄笅鏂圭殑post鍥炶皟鍦板潃锛岄渶瑕佷慨鏀笽P鍦板潃
command.setNotificationURL("");
- //璧勬簮涓嬭浇閾炬帴鐨勮姹傚ご
+ //璧勬簮涓嬭浇閾炬帴鐨勮姹傚ご锛岄樋閲屼簯鍥剧墖涓嬭浇鍦板潃澶�
command.setPreDownloadURL("https://ximonsmart.oss-cn-shanghai.aliyuncs.com/");
command.setTask(taskPro);
+
xixun.set_id(UUID.randomUUID().toString());
xixun.setCommand(command);
- xixun.setType("commandXixunPlayer"); //鍛戒护鍥哄畾绫诲瀷锛屼笉鍙洿鏀�
+ //鍛戒护鍥哄畾绫诲瀷锛屼笉鍙洿鏀�
+ xixun.setType("commandXixunPlayer");
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
-// String jsondata = JSON.toJSONString(xixun);
String jsondata = gson.toJson(xixun);
+ System.out.println("鎺ㄩ�佸唴瀹�" + JSONUtil.toJsonStr(jsondata));
+
Collection<PoleLightemitEntity> poleLightemitEntities = poleLightemitService.listByIds(lightemitIds);
@@ -317,19 +407,6 @@
lightemitUtils.clearPlayerTask(lightemitControlCode);
//鎺ㄩ�佹渶鍚庡懡浠�
lightemitUtils.sendLastCommand(lightemitControlCode);
-
- /**
- * 鐔欐睕澶ф皵鏁版嵁鎺ㄩ�佹棩蹇楄褰曞紑濮�
- // */
-// String content = "{璁惧code锛�" + lightemitControlCode
-// + "锛� 鎺ㄩ�佸唴瀹癸細" + body
-// + " }";
-// List<String> listCode = new ArrayList<>();
-// listCode.add(lightemitControlCode);
-// StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕澶ф皵鏁版嵁鎺ㄩ��", content);
- /**
- * 鐔欐睕澶ф皵鏁版嵁鎺ㄩ�佹棩蹇楄褰曠粨鏉�
- */
}
}, 60 * 1000);
}
--
Gitblit v1.9.3