From 1ebd040037b185d041693bb9116082c2ce69c286 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 04 三月 2022 14:09:23 +0800
Subject: [PATCH] IP音柱绑定解绑
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java | 13 ++-
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java | 2
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java | 16 +++
dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml | 47 ++++++++++-
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java | 4
dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml | 38 ---------
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java | 2
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java | 4
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java | 9 +
ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java | 42 +++++++++-
dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java | 13 ---
11 files changed, 115 insertions(+), 75 deletions(-)
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java
index 4a54201..18e2dd2 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastTerminalV2EntityMapper.java
@@ -1,13 +1,27 @@
package com.sandu.ximon.dao.mapper;
+
+
+import com.sandu.common.domain.BaseMapper;
+import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* @Entity com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity
*/
+@Mapper
public interface BroadcastTerminalV2EntityMapper extends BaseMapper<BroadcastTerminalV2Entity> {
+ List<BroadcastTerminalV2Entity> listAll(@Param("terminalName") String name);
+//
+ @Insert("insert into broadcast_v2_terminal (id,terminal_name,streetlight_id,exist) values (#{id},#{terminalName},#{streetlightId},#{exist})")
+ int insert(BroadcastTerminalV2Entity b);
+ List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(String keyword, Long clientId, int bindingState);
}
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java
index d68a631..ba517c6 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/BroadcastV2TaskTerminalMapper.java
@@ -1,14 +1,8 @@
package com.sandu.ximon.dao.mapper;
-import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
-import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
/**
* @Entity com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal
@@ -21,13 +15,6 @@
// boolean insertTaskTerminal(@Param("list") List<BroadcastV2TaskTerminal> list);
boolean insertTask(Integer taskId,Integer terminalId);
-
- List<BroadcastTerminalV2Entity> listAll(@Param("terminalName") String name);
-
- @Insert("insert into broadcast_v2_terminal (id,terminal_name,streetlight_id,exist) values (#{id},#{terminalName},#{streetlightId},#{exist})")
- void insert(BroadcastTerminalV2Entity b);
-
- List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(String keyword, Long clientId, int bindingState);
}
diff --git a/dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml b/dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml
index 602fcc3..d2be7a9 100644
--- a/dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml
+++ b/dao/src/main/resources/mapper/BroadcastTerminalV2EntityMapper.xml
@@ -5,15 +5,52 @@
<mapper namespace="com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper">
<resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity">
- <id property="id" column="id" jdbcType="INTEGER"/>
- <result property="terminalName" column="terminal_name" jdbcType="VARCHAR"/>
- <result property="streetlightId" column="streetlight_id" jdbcType="BIGINT"/>
- <result property="bindStates" column="bind_states" jdbcType="INTEGER"/>
- <result property="exist" column="exist" jdbcType="INTEGER"/>
+ <id property="id" column="id" jdbcType="INTEGER"/>
+ <result property="terminalName" column="terminal_name" jdbcType="VARCHAR"/>
+ <result property="streetlightId" column="streetlight_id" jdbcType="BIGINT"/>
+ <result property="bindStates" column="bind_states" jdbcType="INTEGER"/>
+ <result property="exist" column="exist" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id,terminal_name,streetlight_id,
bind_states,exist
</sql>
+ <select id="listAll" resultType="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity">
+ SELECT
+ a.*, b.pole_name
+ FROM
+ broadcast_v2_terminal a
+ LEFT JOIN pole b ON a.streetlight_id = b.id
+ WHERE
+ 1 = 1
+ <if test="terminalName != null and terminalName != ''">
+ AND a.terminal_name like '%${terminalName}%'
+ </if>
+ </select>
+
+ <select id="getBroadcastTerminalList" resultType="com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo">
+
+ SELECT
+ t1.*, t2.pole_id,
+ t3.pole_name
+ FROM
+ broadcast_v2_terminal t1
+ LEFT JOIN pole_binding t2 ON t1.id = t2.device_code
+ AND t2.device_type = 5
+ LEFT JOIN pole t3 ON t3.id = t2.pole_id
+ <where>
+ <if test="keyword != null and keyword != ''">
+ AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+ OR t1.terminal_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+ </if>
+ <if test="clientId != null">
+ AND t3.client_id = #{clientId}
+ </if>
+ <if test="bindingState != 2">
+ AND t1.bind_states = #{bindingState}
+ </if>
+ </where>
+ </select>
+
</mapper>
diff --git a/dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml b/dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml
index 9444fcd..2bfc6d1 100644
--- a/dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml
+++ b/dao/src/main/resources/mapper/BroadcastV2TaskTerminalMapper.xml
@@ -47,42 +47,4 @@
</delete>
-
-
- <select id="listAll" resultType="com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity">
- SELECT
- a.*, b.pole_name
- FROM
- broadcast_v2_terminal a
- LEFT JOIN pole b ON a.streetlight_id = b.id
- WHERE
- 1 = 1
- <if test="terminalName != null and terminalName != ''">
- AND a.terminal_name like '%${terminalName}%'
- </if>
- </select>
-
- <select id="getBroadcastTerminalList" resultType="com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo">
- SELECT
- t1.*, t2.pole_id,
- t3.pole_name
- FROM
- broadcast_v2_terminal t1
- LEFT JOIN pole_binding t2 ON t1.id = t2.device_code
- AND t2.device_type = 5
- LEFT JOIN pole t3 ON t3.id = t2.pole_id
- <where>
- <if test="keyword != null and keyword != ''">
- AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
- OR t1.terminal_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
- </if>
- <if test="clientId != null">
- AND t3.client_id = #{clientId}
- </if>
- <if test="bindingState != 2">
- AND t1.bind_states = #{bindingState}
- </if>
- </where>
- </select>
-
</mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
index d6cf828..0489617 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -14,6 +14,7 @@
import com.sandu.ximon.admin.param.PoleBindingParam;
import com.sandu.ximon.admin.param.PoleParam;
import com.sandu.ximon.admin.service.AirEquipmentService;
+import com.sandu.ximon.admin.service.BroadcastTerminalV2Service;
import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.admin.service.PoleService;
import com.sandu.ximon.dao.domain.Pole;
@@ -38,6 +39,7 @@
private final PoleService poleService;
private MonitorService monitorService;
+ private BroadcastTerminalV2Service broadcastTerminalV2Service;
private AirEquipmentService airEquipmentService;
@PostMapping("/add")
@@ -97,6 +99,7 @@
}
//TODO 璁惧鐨勭粦瀹氳В缁戦兘瑕佸崟鐙噸鏂板鐞�
+
/**
* 鐏潌缁戝畾璁惧
*/
@@ -117,6 +120,7 @@
case 4:
break;
case 5:
+ broadcastTerminalV2Service.updateBingdingState(true, Integer.valueOf(param.getDeviceCode()).intValue());
break;
case 6:
break;
@@ -141,8 +145,8 @@
* 鐏潌缁戝畾璁惧
*/
@PostMapping("/unBind/{poleId}")
- public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
- boolean result = poleService.unBindPole(param.getDeviceCode());
+ public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
+ boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
if (result) {
//璁惧绫诲瀷锛�0璺伅锛�1led灞忓箷锛�2鍏呯數妗╋紝3澶ф皵鐩戞祴锛�4姘磋川鐩戞祴锛�5ip闊虫煴锛�6lcd骞垮憡鏈猴紝7鎽勫儚澶达紝8鏉嗕綋鍊炬祴锛�9涓�閿晳鍔�
switch (param.getDeviceType()) {
@@ -157,6 +161,7 @@
case 4:
break;
case 5:
+ broadcastTerminalV2Service.updateBingdingState(false, Integer.valueOf(param.getDeviceCode()).intValue());
break;
case 6:
break;
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
index 53a458b..13c4d57 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
@@ -1,6 +1,7 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
@@ -11,6 +12,8 @@
import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal;
+import com.sandu.ximon.dao.domain.Monitor;
+import com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper;
import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -19,21 +22,24 @@
import java.util.List;
@Service
-public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastV2TaskTerminalMapper, BroadcastV2TaskTerminal> {
+public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastTerminalV2EntityMapper, BroadcastTerminalV2Entity> {
// private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
// @Autowired
// private SysUserRoleService sysUserRoleService;
// @Autowired
// private SysUserCompanyService sysUserCompanyService;
+// @Autowired
+// private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
@Autowired
- private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
+ private BroadcastTerminalV2EntityMapper broadcastTerminalV2EntityMapper;
/**
* 鍚屾缁堢
*/
public void synchTerminal() {
- List<BroadcastTerminalV2Entity> server = broadcastV2TaskTerminalMapper.listAll("");
+ List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll("");
List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+ System.out.println(list);
list.stream().forEach(item -> {
// 闊虫煴鏈嶅姟鍣ㄧ粓绔疘D
Integer id = item.getId();
@@ -52,7 +58,8 @@
b.setTerminalName(item.getName());
b.setStreetlightId(0L);
b.setExist(1);
- broadcastV2TaskTerminalMapper.insert(b);
+// save(b);
+ broadcastTerminalV2EntityMapper.insert(b);
}
});
}
@@ -74,9 +81,9 @@
if (broadcastTerminalV2Param.getBindingState() == null || 2 == broadcastTerminalV2Param.getBindingState()) {
//鍏ㄩ儴
int bindingState = 2;
- broadcastTerminalV2EntityBos = broadcastV2TaskTerminalMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
+ broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
} else {
- broadcastTerminalV2EntityBos = broadcastV2TaskTerminalMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
+ broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
}
List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
@@ -110,6 +117,29 @@
}
/**
+ * 淇敼璁惧缁戝畾鐘舵��
+ *
+ * @param flag true涓虹粦瀹� false 涓鸿В缁�
+ */
+ public void updateBingdingState(boolean flag, int deviceCode) {
+ if (flag) {//缁戝畾
+ BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
+ if (broadcastTerminalV2Entity == null) {
+ return;
+ }
+ broadcastTerminalV2Entity.setBindStates(1);
+ updateById(broadcastTerminalV2Entity);
+ } else {//瑙g粦
+ BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
+ if (broadcastTerminalV2Entity == null) {
+ return;
+ }
+ broadcastTerminalV2Entity.setBindStates(0);
+ updateById(broadcastTerminalV2Entity);
+ }
+ }
+
+ /**
* 淇敼缁堢
* @param params
* @return 0:鎴愬姛 1:鍚嶇О涓嶈兘涓虹┖
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index 706f23f..ebca42b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -85,7 +85,7 @@
}
//鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
- poleBindingService.unBindPole(monitor.getDeviceSerial());
+ poleBindingService.unBindPole(null, monitor.getDeviceSerial());
return removeById(Id);
}
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 3fc0a04..acef4b0 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
@@ -50,16 +50,21 @@
*
* @param deviceCode
*/
- public boolean unBindPole(String deviceCode) {
+ public boolean unBindPole(Long poleId, String deviceCode) {
if (deviceCode == null) {
throw new BusinessException("璁惧缂栧彿涓嶈兘涓虹┖");
}
-
- PoleBinding one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
+ PoleBinding one;
+ //鐩存帴鍒犻櫎璁惧涓嶉渶瑕佺伅鏉咺D
+ if (poleId == null) {
+ 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));
+ }
if (one != null) {
return removeById(one.getId());
} else {
- throw new BusinessException("璁惧涓嶅瓨鍦ㄧ粦瀹氭儏鍐�");
+ throw new BusinessException("璁惧涓嶅瓨鍦ㄧ粦瀹氭儏鍐垫垨鐏潌ID涓嶆纭�");
}
}
}
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 fc94add..bb365cd 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
@@ -231,7 +231,7 @@
if (b && poleLightemit.getStreetlightId() != null) {
//鍏堝垹闄ょ粦瀹氬叧绯�
- poleBindingService.unBindPole(poleLightemit.getLightemitControlCode());
+ poleBindingService.unBindPole(null, poleLightemit.getLightemitControlCode());
//鍐嶇粦瀹�
PoleBindingParam poleBindingParam = new PoleBindingParam();
poleBindingParam.setDeviceCode(poleLightemit.getLightemitControlCode());
@@ -251,7 +251,7 @@
for (PoleLightemitEntity poleLightemitEntitie : poleLightemitEntities) {
if (poleLightemitEntitie.getLightemitControlCode() != null) {
//鍒犻櫎缁戝畾鍏崇郴//鍏堝垹闄ょ粦瀹氬叧绯�
- poleBindingService.unBindPole(poleLightemitEntitie.getLightemitControlCode());
+ poleBindingService.unBindPole(null, poleLightemitEntitie.getLightemitControlCode());
}
}
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index b64c155..f77a6ec 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -161,8 +161,8 @@
*
* @return 鏄惁鎴愬姛
*/
- public boolean unBindPole(String deviceCode) {
- return poleBindingService.unBindPole(deviceCode);
+ public boolean unBindPole(Long poleId, String deviceCode) {
+ return poleBindingService.unBindPole(poleId, deviceCode);
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
index e08ac9e..80ad2e7 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -57,7 +57,7 @@
throw new BusinessException("鎵句笉鍒版按璐ㄨ澶�");
}
//鍒犻櫎鎽勬按璐ㄨ澶囧墠闇�瑕佸厛瑙g粦
- poleBindingService.unBindPole(waterQualityEquipment.getWaterQualityEquipmentCode());
+ poleBindingService.unBindPole(null, waterQualityEquipment.getWaterQualityEquipmentCode());
return removeById(Id);
}
--
Gitblit v1.9.3