Kaynağa Gözat

设备管理模块设备类型相关接口

ZhangManMan 2 yıl önce
ebeveyn
işleme
69927ab6a0

+ 45 - 0
src/main/java/com/sky/ioc/controller/device/DeviceTypeController.java

@@ -0,0 +1,45 @@
+package com.sky.ioc.controller.device;
+
+import com.sky.ioc.entity.domain.device.DeviceType;
+import com.sky.ioc.service.device.DeviceTypeService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "设备管理--设备类型")
+@Slf4j
+@RestController
+@RequestMapping("/device")
+public class DeviceTypeController {
+
+    @Autowired
+    DeviceTypeService deviceTypeService;
+
+    @ApiOperation("删除设备类型")
+    @DeleteMapping(value = "/device_type")
+    public ReturnMsg delDeviceType(String id) {
+        return deviceTypeService.delDeviceType(id);
+    }
+
+
+    @ApiOperation("修改设备类别")
+    @PutMapping(value = "/device_type")
+    public ReturnMsg editDeviceType(String id,String name) {
+        return deviceTypeService.editDeviceType(id,name);
+    }
+
+    @ApiOperation("添加设备类型")
+    @PostMapping(value = "/device_type")
+    public ReturnMsg addDeviceType(String name) {
+        return deviceTypeService.addDeviceType(name);
+    }
+    @ApiOperation("设备类型列表")
+    @GetMapping(value = "/device_type")
+    public ReturnMsg getDeviceTypeList(String name) {
+        return deviceTypeService.getDeviceType(name);
+
+    }
+}

+ 9 - 0
src/main/java/com/sky/ioc/mapper/device/EnergyDeviceTypeMapper.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.mapper.device;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.device.EnergyDeviceType;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EnergyDeviceTypeMapper extends BaseMapper<EnergyDeviceType> {
+}

+ 9 - 0
src/main/java/com/sky/ioc/service/device/DeviceMessageService.java

@@ -1,4 +1,13 @@
 package com.sky.ioc.service.device;
 
+import com.sky.ioc.tool.ReturnMsg;
+
 public interface DeviceMessageService {
+
+    //删除设备告警信息
+    ReturnMsg delDeviceMessage(Integer id);
+
+    //获取设备告警列表
+    ReturnMsg getList(String type,Integer page,Integer page_size);
+
 }

+ 9 - 0
src/main/java/com/sky/ioc/service/device/DeviceTypeService.java

@@ -7,5 +7,14 @@ public interface DeviceTypeService {
     //批量删除设备
     ReturnMsg batchDel(String device_ids,String device_type_id);
 
+    //根据类别获取设备列表
+    ReturnMsg getListByType(String id,Integer page,Integer page_size);
 
+    ReturnMsg editDeviceType(String id,String name);
+
+    ReturnMsg delDeviceType(String id);
+    ReturnMsg addDeviceType(String name);
+    ReturnMsg getDeviceType(String name);
+
+    ReturnMsg importDeviceType(String group);
 }

+ 9 - 0
src/main/java/com/sky/ioc/service/device/EnergyDeviceTypeService.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.service.device;
+
+import com.sky.ioc.tool.ReturnMsg;
+
+public interface EnergyDeviceTypeService {
+
+    //获取设备种类
+    ReturnMsg getTypeList();
+}

+ 4 - 0
src/main/java/com/sky/ioc/service/device/SecurityDeviceService.java

@@ -15,4 +15,8 @@ public interface SecurityDeviceService {
     //获取设备详情
     ReturnMsg getDevice(Integer id);
 
+    //根据设备种类获取列表
+    ReturnMsg getListByKind(String id);
+
+
 }

+ 44 - 0
src/main/java/com/sky/ioc/service/device/impl/DeviceMessageServiceImpl.java

@@ -1,8 +1,52 @@
 package com.sky.ioc.service.device.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sky.ioc.entity.domain.device.DeviceMessage;
+import com.sky.ioc.mapper.device.DeviceMessageMapper;
 import com.sky.ioc.service.device.DeviceMessageService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class DeviceMessageServiceImpl implements DeviceMessageService {
+
+    @Autowired
+    DeviceMessageMapper deviceMessageMapper;
+
+    @Override
+    public ReturnMsg delDeviceMessage(Integer id) {
+        if(id!=null){
+            UpdateWrapper updateWrapper = new UpdateWrapper();
+            updateWrapper.eq("id",id);
+            updateWrapper.set("type",null);
+            deviceMessageMapper.update(null,updateWrapper);
+            return ReturnMsg.ok();
+        }else{
+            return ReturnMsg.fail("告警消息id不能为空");
+        }
+    }
+
+    @Override
+    public ReturnMsg getList(String type, Integer page, Integer page_size) {
+        if(StringUtils.isNotBlank(type)){
+            PageHelper.startPage(page,page_size);
+            List<DeviceMessage> lists = deviceMessageMapper.selectList(new LambdaQueryWrapper<DeviceMessage>().eq(DeviceMessage::getType,type));
+            return ReturnMsg.ok(new PageInfo<>(lists));
+        }else{
+            return ReturnMsg.fail("告警类别不能为空");
+        }
+    }
+
+
+
+
+
+
 }

+ 78 - 0
src/main/java/com/sky/ioc/service/device/impl/DeviceTypeServiceImpl.java

@@ -2,20 +2,32 @@ package com.sky.ioc.service.device.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.sky.ioc.entity.domain.device.DeviceType;
+import com.sky.ioc.entity.domain.device.SecurityDevice;
 import com.sky.ioc.mapper.device.DeviceTypeMapper;
+import com.sky.ioc.mapper.device.SecurityDeviceMapper;
 import com.sky.ioc.service.device.DeviceTypeService;
 import com.sky.ioc.tool.ReturnMsg;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Service
 public class DeviceTypeServiceImpl implements DeviceTypeService {
 
     @Autowired
     DeviceTypeMapper deviceTypeMapper;
 
+    @Autowired
+    SecurityDeviceMapper securityDeviceMapper;
+
     @Override
     public ReturnMsg batchDel(String device_ids, String device_type_id) {
         if (StringUtils.isNotBlank(device_ids)&&StringUtils.isNotBlank(device_type_id)){
@@ -32,4 +44,70 @@ public class DeviceTypeServiceImpl implements DeviceTypeService {
             return ReturnMsg.fail("设备id和设备类别不能为空");
         }
     }
+
+    @Override
+    public ReturnMsg getListByType(String id, Integer page, Integer page_size) {
+        List<DeviceType> typeList = deviceTypeMapper.selectList(new LambdaQueryWrapper<DeviceType>().eq(DeviceType::getId,id));
+        List<String> ids = typeList.stream().map(DeviceType::getDevice_ids).collect(Collectors.toList());
+        List<SecurityDevice> list = securityDeviceMapper.selectList(new LambdaQueryWrapper<SecurityDevice>().in(SecurityDevice::getDevice_id,ids));
+        PageHelper.startPage(page,page_size);
+        return ReturnMsg.ok(new PageInfo<>(list));
+    }
+
+    @Override
+    public ReturnMsg editDeviceType(String id, String name) {
+        if(StringUtils.isNotBlank(id)&&StringUtils.isNotBlank(name)){
+            UpdateWrapper updateWrapper = new UpdateWrapper();
+            updateWrapper.eq("id",id);
+            updateWrapper.set("name",name);
+            deviceTypeMapper.update(null,updateWrapper);
+            return ReturnMsg.ok();
+        }else{
+            return ReturnMsg.fail("设备类别或设备类别id不能为空");
+        }
+
+    }
+
+    @Override
+    public ReturnMsg delDeviceType(String id) {
+        if(StringUtils.isNotBlank(id)){
+            deviceTypeMapper.deleteById(id);
+            return ReturnMsg.ok();
+        }else {
+            return ReturnMsg.fail("设备类别id不能为空");
+        }
+    }
+
+    @Override
+    public ReturnMsg addDeviceType(String name) {
+        if(StringUtils.isNotBlank(name)){
+            DeviceType deviceType = new DeviceType();
+            deviceType.setDevice_ids("[]");
+            deviceType.setType_name(name);
+            deviceTypeMapper.insert(deviceType);
+            return ReturnMsg.ok();
+        }else{
+            return ReturnMsg.fail("设备类别不能为空");
+        }
+    }
+
+    @Override
+    public ReturnMsg getDeviceType(String name) {
+        if(StringUtils.isNotBlank(name)){
+            name ="%"+name+"%";
+            List<DeviceType> lists =deviceTypeMapper.selectList(new LambdaQueryWrapper<DeviceType>().like(DeviceType::getType_name,name));
+            return ReturnMsg.ok(lists);
+        }else{
+            List<DeviceType> lists =deviceTypeMapper.selectList(null);
+            return ReturnMsg.ok(lists);
+        }
+
+    }
+
+    @Override
+    public ReturnMsg importDeviceType(String group) {
+        return null;
+    }
+
+
 }

+ 19 - 0
src/main/java/com/sky/ioc/service/device/impl/EnergyDeviceTypeServiceImpl.java

@@ -0,0 +1,19 @@
+package com.sky.ioc.service.device.impl;
+
+import com.sky.ioc.mapper.device.EnergyDeviceTypeMapper;
+import com.sky.ioc.service.device.EnergyDeviceTypeService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class EnergyDeviceTypeServiceImpl implements EnergyDeviceTypeService {
+
+    @Autowired
+    EnergyDeviceTypeMapper energyDeviceTypeMapper;
+
+    @Override
+    public ReturnMsg getTypeList() {
+        return ReturnMsg.ok(energyDeviceTypeMapper.selectList(null));
+    }
+}

+ 6 - 0
src/main/java/com/sky/ioc/service/device/impl/SecurityDeviceServiceImpl.java

@@ -3,6 +3,7 @@ package com.sky.ioc.service.device.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.sky.ioc.entity.domain.device.DeviceType;
 import com.sky.ioc.entity.domain.device.SecurityDevice;
@@ -89,4 +90,9 @@ public class SecurityDeviceServiceImpl implements SecurityDeviceService {
             return ReturnMsg.fail("设备id不能为空");
         }
     }
+
+    @Override
+    public ReturnMsg getListByKind(String id) {
+        return ReturnMsg.ok(securityDeviceMapper.selectList(new LambdaQueryWrapper<SecurityDevice>().eq(SecurityDevice::getDevice_type,id)));
+    }
 }