diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class index 708d6bd..bbe89ab 100644 --- a/target/classes/com/casic/controller/DeviceController.class +++ b/target/classes/com/casic/controller/DeviceController.class Binary files differ diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class index 708d6bd..bbe89ab 100644 --- a/target/classes/com/casic/controller/DeviceController.class +++ b/target/classes/com/casic/controller/DeviceController.class Binary files differ diff --git a/target/classes/com/casic/dao/AlarmDeviceMapper.class b/target/classes/com/casic/dao/AlarmDeviceMapper.class index 6ffb6b8..7a35531 100644 --- a/target/classes/com/casic/dao/AlarmDeviceMapper.class +++ b/target/classes/com/casic/dao/AlarmDeviceMapper.class Binary files differ diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class index 708d6bd..bbe89ab 100644 --- a/target/classes/com/casic/controller/DeviceController.class +++ b/target/classes/com/casic/controller/DeviceController.class Binary files differ diff --git a/target/classes/com/casic/dao/AlarmDeviceMapper.class b/target/classes/com/casic/dao/AlarmDeviceMapper.class index 6ffb6b8..7a35531 100644 --- a/target/classes/com/casic/dao/AlarmDeviceMapper.class +++ b/target/classes/com/casic/dao/AlarmDeviceMapper.class Binary files differ diff --git a/target/classes/com/casic/service/DeviceService.class b/target/classes/com/casic/service/DeviceService.class index f1dc9ac..9805d8c 100644 --- a/target/classes/com/casic/service/DeviceService.class +++ b/target/classes/com/casic/service/DeviceService.class Binary files differ diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class index 708d6bd..bbe89ab 100644 --- a/target/classes/com/casic/controller/DeviceController.class +++ b/target/classes/com/casic/controller/DeviceController.class Binary files differ diff --git a/target/classes/com/casic/dao/AlarmDeviceMapper.class b/target/classes/com/casic/dao/AlarmDeviceMapper.class index 6ffb6b8..7a35531 100644 --- a/target/classes/com/casic/dao/AlarmDeviceMapper.class +++ b/target/classes/com/casic/dao/AlarmDeviceMapper.class Binary files differ diff --git a/target/classes/com/casic/service/DeviceService.class b/target/classes/com/casic/service/DeviceService.class index f1dc9ac..9805d8c 100644 --- a/target/classes/com/casic/service/DeviceService.class +++ b/target/classes/com/casic/service/DeviceService.class Binary files differ diff --git a/target/classes/com/casic/service/impl/DeviceServiceImpl.class b/target/classes/com/casic/service/impl/DeviceServiceImpl.class index b35f91f..52ccc6b 100644 --- a/target/classes/com/casic/service/impl/DeviceServiceImpl.class +++ b/target/classes/com/casic/service/impl/DeviceServiceImpl.class Binary files differ diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class index 708d6bd..bbe89ab 100644 --- a/target/classes/com/casic/controller/DeviceController.class +++ b/target/classes/com/casic/controller/DeviceController.class Binary files differ diff --git a/target/classes/com/casic/dao/AlarmDeviceMapper.class b/target/classes/com/casic/dao/AlarmDeviceMapper.class index 6ffb6b8..7a35531 100644 --- a/target/classes/com/casic/dao/AlarmDeviceMapper.class +++ b/target/classes/com/casic/dao/AlarmDeviceMapper.class Binary files differ diff --git a/target/classes/com/casic/service/DeviceService.class b/target/classes/com/casic/service/DeviceService.class index f1dc9ac..9805d8c 100644 --- a/target/classes/com/casic/service/DeviceService.class +++ b/target/classes/com/casic/service/DeviceService.class Binary files differ diff --git a/target/classes/com/casic/service/impl/DeviceServiceImpl.class b/target/classes/com/casic/service/impl/DeviceServiceImpl.class index b35f91f..52ccc6b 100644 --- a/target/classes/com/casic/service/impl/DeviceServiceImpl.class +++ b/target/classes/com/casic/service/impl/DeviceServiceImpl.class Binary files differ diff --git a/target/gas-app-1.0-SNAPSHOT-exec.jar b/target/gas-app-1.0-SNAPSHOT-exec.jar index ed2b8f3..447dba4 100644 --- a/target/gas-app-1.0-SNAPSHOT-exec.jar +++ b/target/gas-app-1.0-SNAPSHOT-exec.jar Binary files differ diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index a442768..0368627 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -1,21 +1,22 @@ package com.casic.controller; -import com.alibaba.fastjson.JSONObject; import com.casic.dto.ReturnDTO; -import com.casic.model.ResponseData; import com.casic.service.DeviceService; import com.casic.util.OAuthUtil; import com.casic.util.ReturnUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Map; import java.util.concurrent.TimeUnit; @Slf4j +@CrossOrigin @RestController @RequestMapping("/casic") public class DeviceController { @@ -60,11 +61,12 @@ @RequestMapping("/getDevices") public ReturnDTO getDevices(@RequestParam(required = false) String phone, @RequestParam(required = false) String devCode, + @RequestParam(required = false) String type, @RequestParam(required = false) String shop, @RequestParam(value = "pageNo", defaultValue = "1") int pageNo, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { - return ReturnUtil.success(deviceService.getDevices(phone, devCode, shop, pageNo, pageSize)); + return ReturnUtil.success(deviceService.getDevices(phone, devCode,type, shop, pageNo, pageSize)); } //根据权限获取设备日志信息 diff --git a/src/main/java/com/casic/dao/AlarmDeviceMapper.java b/src/main/java/com/casic/dao/AlarmDeviceMapper.java index f7f58ac..8dea318 100644 --- a/src/main/java/com/casic/dao/AlarmDeviceMapper.java +++ b/src/main/java/com/casic/dao/AlarmDeviceMapper.java @@ -1,6 +1,7 @@ package com.casic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.entity.Device; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,10 @@ " ") List getDevices(@Param("phone") String phone); + Page listPage(Page page, + @Param("phone") String phone, + @Param("devCode") String devCode, + @Param("type") String type, + @Param("factory") String factory); + } diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 7d2ca37..855515a 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -10,7 +10,7 @@ public interface DeviceService { - Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); + Page getDevices(String phone,String devCode,String type, String shop,int pageNo, int pageSize); Page getDatas(String devCode, int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index df1bde4..eab25dd 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.util.SendUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +34,6 @@ private final ButaneDataMapper butaneDataMapper; private final AlarmRecordsMapper alarmRecordsMapper; private final AlarmDeviceMapper alarmDeviceMapper; - private static Snowflake snowflake = new Snowflake(0, 2); - @Autowired - private SendUtil sendUtil; public List getGasList(List devCodes) { @@ -50,51 +48,74 @@ queryWrapper.select("DEVICE_CODE as deviceCode,RECORDCODE as recordcode ,max(RECORDDATE) as recorddate"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.in(devCodes != null && devCodes.size() > 0, "DEVICE_CODE", devCodes); - queryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + queryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); queryWrapper.orderByDesc("RECORDDATE"); return alarmRecordsMapper.selectList(queryWrapper); } @Override - public Page getDevices(String phone,String devCode,String shop, int pageNo, int pageSize) { + public Page getDevices(String phone, String devCode, String type, String shop, int pageNo, int pageSize) { Page page = new Page<>(pageNo, pageSize); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ACTIVE", "1"); - queryWrapper.eq("DEVICETYPE_ID", 30); - queryWrapper.eq(StringUtils.isNotEmpty(devCode),"DEVCODE", devCode); - queryWrapper.like(StringUtils.isNotEmpty(shop),"FACTORY", shop); - queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); - Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); - List deviceList = iPage.getRecords(); - List devStr = new ArrayList<>(); - List alarmRecordList = new ArrayList<>(); - if (null != deviceList && deviceList.size() > 0) { - devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); - alarmRecordList = this.getAlarms(devStr); - for (Device device : deviceList) { - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - if (StringUtils.isNotEmpty(device.getFactory()) - && device.getFactory().contains("(") - && device.getFactory().contains(")")) { - device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(")+1, device.getFactory().indexOf(")"))); - device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); - } - device.setStatus("正常"); - for (AlarmRecord alarmRecord : alarmRecordList) { - if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { - device.setStatus("0".equals(alarmRecord.getRecordcode())?"报警":"离线"); - break; - } - } - } + if(StringUtils.isNotEmpty(type)){ + type="1".equals(type)?"0":("2".equals(type)?"1":"2"); } - return iPage; + Page devicePage = alarmDeviceMapper.listPage(page, phone, devCode, type, shop); + List deviceList = devicePage.getRecords(); + deviceList.forEach(device -> { + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isNotEmpty(device.getFactory()) + && device.getFactory().contains("(") + && device.getFactory().contains(")")) { + device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); + device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); + } + if (StringUtils.isEmpty(device.getStatus())) { + device.setStatus("正常"); + } else + device.setStatus("0".equals(device.getStatus()) ? "报警" : "离线"); + }); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("ACTIVE", "1"); +// queryWrapper.eq("DEVICETYPE_ID", 30); +// queryWrapper.eq(StringUtils.isNotEmpty(devCode), "DEVCODE", devCode); +// queryWrapper.like(StringUtils.isNotEmpty(shop), "FACTORY", shop); +// queryWrapper.like(StringUtils.isNotEmpty(phone), "SIMID", phone); +// Page iPage = alarmDeviceMapper.selectPage(page, queryWrapper); +// List deviceList = iPage.getRecords(); +// List devStr = new ArrayList<>(); +// List alarmRecordList = new ArrayList<>(); +// if (null != deviceList && deviceList.size() > 0) { +// devStr = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); +// alarmRecordList = this.getAlarms(devStr); +// for (Device device : deviceList) { +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// if (StringUtils.isNotEmpty(device.getFactory()) +// && device.getFactory().contains("(") +// && device.getFactory().contains(")")) { +// device.setDoorName(device.getFactory().substring(device.getFactory().indexOf("(") + 1, device.getFactory().indexOf(")"))); +// device.setPosition(device.getFactory().substring(0, device.getFactory().indexOf("("))); +// } +// device.setStatus("正常"); +// for (AlarmRecord alarmRecord : alarmRecordList) { +// if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { +// device.setStatus("0".equals(alarmRecord.getRecordcode()) ? "报警" : "离线"); +// break; +// } +// } +// } +// } + return devicePage; } @Override @@ -158,29 +179,28 @@ } - @Override - public Map getIndex() { + public Map getIndex() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DEVCODE as devCode"); queryWrapper.eq("ACTIVE", "1"); queryWrapper.eq("DEVICETYPE_ID", 30); - List deviceList = alarmDeviceMapper.selectList(queryWrapper); - Map resultMap = new HashMap<>(); - int devCount=0,alarmCount=0,offCount=0; - if(null!=deviceList&&deviceList.size()>0) { - devCount= deviceList.size(); + List deviceList = alarmDeviceMapper.selectList(queryWrapper); + Map resultMap = new HashMap<>(); + int devCount = 0, alarmCount = 0, offCount = 0; + if (null != deviceList && deviceList.size() > 0) { + devCount = deviceList.size(); List devCodes = deviceList.stream().map(Device::getDevCode).collect(Collectors.toList()); QueryWrapper recordQueryWrapper = new QueryWrapper<>(); recordQueryWrapper.select("DEVICE_CODE as deviceCode, RECORDCODE as recordcode ,max(RECORDDATE) as recorddate "); recordQueryWrapper.eq("ACTIVE", "1"); recordQueryWrapper.in("DEVICE_CODE", devCodes); - recordQueryWrapper.groupBy("DEVICE_CODE","RECORDCODE"); + recordQueryWrapper.groupBy("DEVICE_CODE", "RECORDCODE"); recordQueryWrapper.orderByDesc("RECORDDATE"); List alarmRecordList = alarmRecordsMapper.selectList(recordQueryWrapper); - for(Device device:deviceList){ - for(AlarmRecord alarmRecord:alarmRecordList){ - if(device.getDevCode().equals(alarmRecord.getDeviceCode())){ + for (Device device : deviceList) { + for (AlarmRecord alarmRecord : alarmRecordList) { + if (device.getDevCode().equals(alarmRecord.getDeviceCode())) { if ("0".equals(alarmRecord.getRecordcode())) { alarmCount++; } else { @@ -191,10 +211,10 @@ } } } - resultMap.put("devCount",devCount); - resultMap.put("alarmCount",alarmCount); - resultMap.put("offCount",offCount); - resultMap.put("onCount",devCount-offCount); + resultMap.put("devCount", devCount); + resultMap.put("alarmCount", alarmCount); + resultMap.put("offCount", offCount); + resultMap.put("onCount", devCount - offCount); return resultMap; } diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 04569ad..82ad637 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,5 +1,54 @@ - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/casic/controller/DeviceController.class b/target/classes/com/casic/controller/DeviceController.class index 708d6bd..bbe89ab 100644 --- a/target/classes/com/casic/controller/DeviceController.class +++ b/target/classes/com/casic/controller/DeviceController.class Binary files differ diff --git a/target/classes/com/casic/dao/AlarmDeviceMapper.class b/target/classes/com/casic/dao/AlarmDeviceMapper.class index 6ffb6b8..7a35531 100644 --- a/target/classes/com/casic/dao/AlarmDeviceMapper.class +++ b/target/classes/com/casic/dao/AlarmDeviceMapper.class Binary files differ diff --git a/target/classes/com/casic/service/DeviceService.class b/target/classes/com/casic/service/DeviceService.class index f1dc9ac..9805d8c 100644 --- a/target/classes/com/casic/service/DeviceService.class +++ b/target/classes/com/casic/service/DeviceService.class Binary files differ diff --git a/target/classes/com/casic/service/impl/DeviceServiceImpl.class b/target/classes/com/casic/service/impl/DeviceServiceImpl.class index b35f91f..52ccc6b 100644 --- a/target/classes/com/casic/service/impl/DeviceServiceImpl.class +++ b/target/classes/com/casic/service/impl/DeviceServiceImpl.class Binary files differ diff --git a/target/gas-app-1.0-SNAPSHOT-exec.jar b/target/gas-app-1.0-SNAPSHOT-exec.jar index ed2b8f3..447dba4 100644 --- a/target/gas-app-1.0-SNAPSHOT-exec.jar +++ b/target/gas-app-1.0-SNAPSHOT-exec.jar Binary files differ diff --git a/target/gas-app-1.0-SNAPSHOT.jar b/target/gas-app-1.0-SNAPSHOT.jar index b28a16e..de32418 100644 --- a/target/gas-app-1.0-SNAPSHOT.jar +++ b/target/gas-app-1.0-SNAPSHOT.jar Binary files differ