From f8c33ad3fb09dd0f70b68b74d59ce28761142bf0 Mon Sep 17 00:00:00 2001
From: Van333 <van666666@foxmail.com>
Date: 星期一, 14 十一月 2022 15:21:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/xm-20221107' into xm-20221107
---
ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/led/NewNovaLedService.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 117 insertions(+), 0 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/led/NewNovaLedService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/led/NewNovaLedService.java
index 9771100..4384438 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/led/NewNovaLedService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/newnova/led/NewNovaLedService.java
@@ -1,13 +1,26 @@
package com.sandu.ximon.admin.newnova.led;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.newnova.param.NewNovaLedParam;
+import com.sandu.ximon.admin.newnova.utils.NovaAPIUtil;
+import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.service.PoleBindingService;
+import com.sandu.ximon.admin.service.PoleService;
import com.sandu.ximon.dao.domain.NewNovaLed;
+import com.sandu.ximon.dao.domain.Pole;
+import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.mapper.NewNovaLedMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* @author LiuHaoNan
@@ -32,9 +45,113 @@
NewNovaLed led = new NewNovaLed();
led.setSn(param.getSn());
led.setName(param.getName());
+ led.setOnlineSign(0);
return save(led);
}
+ /**
+ * 缂栬緫灞忓箷鍚嶇О
+ *
+ * @param param
+ * @return
+ */
+ public boolean editLed(NewNovaLedParam param) {
+ if (param.getId() == null) {
+ throw new BusinessException("灞忓箷id涓嶈兘涓虹┖");
+ }
+ if (param.getName() == null || param.getName().isEmpty()) {
+ throw new BusinessException("灞忓箷鍚嶇О涓嶈兘涓虹┖");
+ }
+ NewNovaLed one = getById(param.getId());
+ if (one == null) {
+ throw new BusinessException("璁惧涓嶅瓨鍦紒");
+ }
+// one.setSn(param.getSn());
+ one.setName(param.getName());
+ return updateById(one);
+ }
+
+ /**
+ * 鍒犻櫎LED
+ *
+ * @param ids
+ * @return
+ */
+ public boolean delLed(List<Long> ids) {
+ if (ids.isEmpty()) {
+ throw new BusinessException("id涓嶈兘涓虹┖");
+ }
+ List<NewNovaLed> newNovaLeds = listByIds(ids);
+ if (newNovaLeds.isEmpty()) {
+ throw new BusinessException("璁惧涓嶅瓨鍦紒");
+ }
+ //鑾峰彇鍒犻櫎璁惧鐨勮澶囩爜
+ List<String> snList = newNovaLeds.stream().map(NewNovaLed::getSn).collect(Collectors.toList());
+ //鍒犻櫎缁戝畾鍏崇郴
+ SpringContextHolder.getBean(PoleBindingService.class).remove(Wrappers.lambdaQuery(PoleBinding.class)
+ .eq(PoleBinding::getDeviceType, 12).in(PoleBinding::getDeviceCode, snList));
+ //鍒犻櫎璁惧
+ return removeByIds(ids);
+ }
+
+ /**
+ * LED鍒楄〃
+ *
+ * @param baseConditionVO
+ * @param keyword
+ * @param onlineStatus
+ * @return
+ */
+ public List<NewNovaLed> listLed(BaseConditionVO baseConditionVO, String keyword, boolean onlineStatus) {
+
+ NovaAPIUtil instanceUtil = NovaAPIUtil.getInstanceUtil();
+ //鎺掑簭
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ List<NewNovaLed> newNovaListBos = baseMapper.listLed(keyword, SecurityUtils.getClientId());
+ //鑾峰彇鍦ㄧ嚎鐘舵��
+ instanceUtil.getOnlineStatus(newNovaListBos);
+ //鑾峰彇灞忓箷寮�鍏�
+ instanceUtil.getScreenPowerState(newNovaListBos);
+ //鑾峰彇闊抽噺
+ instanceUtil.getVolumeState(newNovaListBos);
+ //鑾峰彇浜害
+ instanceUtil.getScreenBrightness(newNovaListBos);
+ //鑾峰彇鍚屾鐘舵��
+ instanceUtil.getSync(newNovaListBos);
+
+ updateBatchById(newNovaListBos);
+ return newNovaListBos;
+ }
+
+ public NewNovaLed getInfo(Long ledId) {
+ NovaAPIUtil instanceUtil = NovaAPIUtil.getInstanceUtil();
+ NewNovaLed byId = getById(ledId);
+ if (byId == null) {
+ throw new BusinessException("璁惧涓嶅瓨鍦ㄦ垨id涓嶆纭� !");
+ }
+ PoleBinding poleBinding = SpringContextHolder.getBean(PoleBindingService.class).getOne(Wrappers.lambdaQuery(PoleBinding.class)
+ .eq(PoleBinding::getDeviceCode, byId.getSn()).eq(PoleBinding::getDeviceType, 12));
+ if (poleBinding != null) {
+ Pole pole = SpringContextHolder.getBean(PoleService.class).getById(poleBinding.getPoleId());
+ byId.setPoleId(pole.getId());
+ byId.setPoleName(pole.getPoleName());
+ }
+ List<NewNovaLed> list = new ArrayList<>();
+ list.add(byId);
+ //鑾峰彇鍦ㄧ嚎鐘舵��
+ instanceUtil.getOnlineStatus(list);
+ //鑾峰彇灞忓箷寮�鍏�
+ instanceUtil.getScreenPowerState(list);
+ //鑾峰彇闊抽噺
+ instanceUtil.getVolumeState(list);
+ //鑾峰彇浜害
+ instanceUtil.getScreenBrightness(list);
+ //鑾峰彇鍚屾鐘舵��
+ instanceUtil.getSync(list);
+ //鑾峰彇璇︽儏
+ instanceUtil.getInfo(byId);
+ return list.get(0);
+ }
}
--
Gitblit v1.9.3