From fb842a99734726e628bd0981ccdf80a253534eaa Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 17 五月 2022 17:06:07 +0800
Subject: [PATCH] 日志
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java | 104 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 85 insertions(+), 19 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
index 1b9f5df..7e7e050 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
@@ -6,13 +6,13 @@
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.param.PoleBindingParam;
-import com.sandu.ximon.dao.domain.Pole;
-import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.dao.domain.*;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
import com.sandu.ximon.dao.mapper.PoleBindingMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
-import javax.swing.*;
import java.util.List;
/**
@@ -36,6 +36,58 @@
Integer deviceType = param.getDeviceType();
// if (PoleBindingEnums.LIGHT.getCode().equals(deviceType)) {
// }
+
+ int size = 0;
+ switch (deviceType.toString()) {
+ case PoleBindingEnums.LIGHT:
+ size = SpringContextHolder.getBean(LightService.class).list(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.VONNOX:
+ size = SpringContextHolder.getBean(LedPlayerEntityService.class).list(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getSn, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.CHARGING_PILE:
+ size = SpringContextHolder.getBean(C3ChargingService.class).list(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.ATMOSPHERIC:
+ size = SpringContextHolder.getBean(AirEquipmentService.class).list(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.WATER:
+ size = SpringContextHolder.getBean(WaterQualityEquipmentService.class).list(Wrappers.lambdaQuery(WaterQualityEquipment.class).eq(WaterQualityEquipment::getWaterQualityEquipmentCode, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.IPVOLUME:
+ size = SpringContextHolder.getBean(IpVolumeService.class).list(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.LCD_ADVERTISING:
+
+ break;
+ case PoleBindingEnums.MONITOR:
+ size = SpringContextHolder.getBean(MonitorService.class).list(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.LIGHTPOLEHEELING:
+ size = SpringContextHolder.getBean(LightPoleHeelingEquipmentService.class).list(Wrappers.lambdaQuery(LightPoleHeelingEquipment.class).eq(LightPoleHeelingEquipment::getMac, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.FOR_HELP:
+ int size1 = SpringContextHolder.getBean(InterphoneHostService.class).list(Wrappers.lambdaQuery(InterphoneHost.class).eq(InterphoneHost::getHostMac, param.getDeviceCode())).size();
+ int size2 = SpringContextHolder.getBean(InterphoneSubService.class).list(Wrappers.lambdaQuery(InterphoneSub.class).eq(InterphoneSub::getSubMac, param.getDeviceCode())).size();
+ //涓�閿眰鍔╀袱绫荤‖浠�
+ if (size1 > 0 || size2 > 0) {
+ size = 1;
+ }
+ break;
+ case PoleBindingEnums.XIXUN:
+ size = SpringContextHolder.getBean(PoleLightemitService.class).list(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, param.getDeviceCode())).size();
+ break;
+ case PoleBindingEnums.ATMOSPHERIC_NONG_GENG:
+ size = SpringContextHolder.getBean(AirEquipmentNongGengService.class).list(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, param.getDeviceCode())).size();
+ break;
+ default:
+ break;
+ }
+ if (size == 0) {
+ throw new BusinessException("璁惧鐮佷笉姝g‘锛岀‖浠朵笉瀛樺湪");
+ }
+
+
LambdaQueryWrapper<PoleBinding> eq = Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId);
List<PoleBinding> list = list(eq);
if (list.size() != 0) {
@@ -56,12 +108,15 @@
poleBinding.setDeviceCode(param.getDeviceCode());
return save(poleBinding);
} else {
- //鍒犻櫎鐏潌鐨刣evicescode
- PoleService poleService = SpringContextHolder.getBean(PoleService.class);
- Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, one.getPoleId()));
- if (pole != null) {
- pole.setDeviceCode(null);
- poleService.updateById(pole);
+ //淇敼鍗曠伅鐨勭粦瀹氬叧绯荤殑鏃跺�欒棰濆澶勭悊鐨勪簨鍔�
+ // 鍒犻櫎鐏潌鐨刣evicescode
+ if (param.getDeviceType() == 0) {
+ PoleService poleService = SpringContextHolder.getBean(PoleService.class);
+ Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, one.getPoleId()));
+ if (pole != null) {
+ pole.setDeviceCode(null);
+ poleService.updateById(pole);
+ }
}
one.setPoleId(poleId);
@@ -87,16 +142,6 @@
one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
} else {
one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode).eq(PoleBinding::getPoleId, poleId));
-
- //鍒犻櫎鐏潌鐨刣evicescode
- PoleService poleService = SpringContextHolder.getBean(PoleService.class);
- Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
- if (pole != null) {
- pole.setDeviceCode(null);
- poleService.updateById(pole);
- }
-
-
}
if (one != null) {
return removeById(one.getId());
@@ -127,4 +172,25 @@
public PoleBinding getPoleIdByMac(String deviceCode) {
return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
}
+
+
+ /**
+ * 鍒ゆ柇璁惧褰掑睘
+ *
+ * @param deviceCode 璁惧缂栧彿
+ * @param type 璁惧绫诲瀷
+ * @return 宸茬粦瀹氳繑鍥瀟rue锛屾湭缁戝畾杩斿洖false
+ */
+ public boolean isBelong(String deviceCode, String type) {
+ if (type.isEmpty() || deviceCode.isEmpty()) {
+ throw new BusinessException("璁惧缂栧彿鎴栫被鍨嬩笉鑳戒负绌�");
+ }
+ Long userId = SecurityUtils.getClientId();
+ Pole binding = baseMapper.getPoleByBinding(type, deviceCode, userId);
+ if (binding != null) {
+ return true;
+ } else {
+ return false;
+ }
+ }
}
--
Gitblit v1.9.3