From ddec414dbe0dc85c998a3936d21eb6ac2a12a341 Mon Sep 17 00:00:00 2001 From: chenhaojie Date: Mon, 29 Jul 2024 17:33:56 +0800 Subject: [PATCH] =?UTF-8?q?das=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9,?= =?UTF-8?q?=E6=98=A0=E5=B0=84=E8=A1=A8=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../node/controller/SysNodeController.java | 8 ++--- .../node/mapper/SysImptabmappingMapper.java | 5 ++- .../node/service/impl/SysNodeServiceImpl.java | 36 +++++++++++++++++-- .../mapper/SysImptabmappingMapper.xml | 5 +++ 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/das/src/main/java/com/das/modules/node/controller/SysNodeController.java b/das/src/main/java/com/das/modules/node/controller/SysNodeController.java index 9842e1ef..446b4622 100644 --- a/das/src/main/java/com/das/modules/node/controller/SysNodeController.java +++ b/das/src/main/java/com/das/modules/node/controller/SysNodeController.java @@ -190,10 +190,10 @@ public class SysNodeController { public R bindMeas(@RequestBody BindEquipmentDto bindEquipmentDto) { //判断是否有权限 -// boolean hasPermission = StpUtil.hasPermission(SysAuthorityIds.SYS_AUTHORITY_ID_DEVICE_MGR.toString()); -// if(!hasPermission){ -// return R.fail("没有节点管理权限"); -// } + boolean hasPermission = StpUtil.hasPermission(SysAuthorityIds.SYS_AUTHORITY_ID_DEVICE_MGR.toString()); + if(!hasPermission){ + return R.fail("没有节点管理权限"); + } sysNodeService.bindDeviceMeas(bindEquipmentDto.getEquipmentId(), bindEquipmentDto.getLinkId()); return R.success(); } diff --git a/das/src/main/java/com/das/modules/node/mapper/SysImptabmappingMapper.java b/das/src/main/java/com/das/modules/node/mapper/SysImptabmappingMapper.java index 0d57fe9c..92305312 100644 --- a/das/src/main/java/com/das/modules/node/mapper/SysImptabmappingMapper.java +++ b/das/src/main/java/com/das/modules/node/mapper/SysImptabmappingMapper.java @@ -3,6 +3,7 @@ package com.das.modules.node.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.das.modules.auth.mapper.BaseMapperPlus; import com.das.modules.node.domain.dto.SysCommunicationLinkDto; import com.das.modules.node.domain.vo.SysCommunicationLinkVo; import com.das.modules.node.domain.vo.SysImptabmappingVo; @@ -14,8 +15,10 @@ import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper -public interface SysImptabmappingMapper extends BaseMapper { +public interface SysImptabmappingMapper extends BaseMapperPlus { List getMappingList(Long linkId); List getBindDevice(Long linkId); + + void deleteBindDevice(Long linkId); } diff --git a/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java index 8ba7ba15..4360ed52 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java @@ -25,6 +25,7 @@ import com.das.modules.node.service.SysNodeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Date; @@ -169,9 +170,38 @@ public class SysNodeServiceImpl implements SysNodeService { @Override public void bindDeviceMeas(List equipmentId, Long linkId) { - List insertList = new ArrayList<>(); - List deleteList = new ArrayList<>(); - List deleteMeasList = new ArrayList<>(); + List addList = new ArrayList<>(); //获取已经绑定的设备 + List bindDeviceList = sysImptabmappingMapper.getBindDevice(linkId); +// SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); + SysUserVo sysUserVo = new SysUserVo(); + sysUserVo.setAccount("测试"); + if (CollectionUtils.isEmpty(bindDeviceList)) { + addSysImptabmapping(equipmentId, linkId, sysUserVo, addList); + } else { + // 删除原来绑定的设备信息 + sysImptabmappingMapper.deleteBindDevice(linkId); + addSysImptabmapping(equipmentId, linkId, sysUserVo, addList); + } + if (!CollectionUtils.isEmpty(addList)) { + sysImptabmappingMapper.insertBatch(addList); + } + + } + + private static void addSysImptabmapping(List equipmentId, Long linkId, SysUserVo sysUserVo, List addList) { + for (int i = 0; i< equipmentId.size(); i++) { + SysImptabmapping sysImptabmapping = new SysImptabmapping(); + sysImptabmapping.setEquipmentId(equipmentId.get(i)); + sysImptabmapping.setLinkId(linkId); + sysImptabmapping.setId(SequenceUtils.generateId()); + sysImptabmapping.setCreatedTime(new Date()); + sysImptabmapping.setUpdatedTime(new Date()); + sysImptabmapping.setCreatedBy(sysUserVo.getAccount()); + sysImptabmapping.setUpdatedBy(sysUserVo.getAccount()); + sysImptabmapping.setRevision(1); + sysImptabmapping.setPorder(i + 1); + addList.add(sysImptabmapping); + } } } diff --git a/das/src/main/resources/mapper/SysImptabmappingMapper.xml b/das/src/main/resources/mapper/SysImptabmappingMapper.xml index 2ad28a7b..2b9abde5 100644 --- a/das/src/main/resources/mapper/SysImptabmappingMapper.xml +++ b/das/src/main/resources/mapper/SysImptabmappingMapper.xml @@ -28,6 +28,11 @@ + + delete from sys_imptabmapping where link_id = #{linkId} + + +