diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java index 36bd789..7726008 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java @@ -7,9 +7,12 @@ import com.storeroom.annotaion.rest.AnonymousGetMapping; import com.storeroom.annotaion.rest.AnonymousPostMapping; import com.storeroom.exception.BaseException; import com.storeroom.modules.device.domain.AlarmDeseCaBinetLog; +import com.storeroom.modules.device.domain.DeviceInfo; import com.storeroom.modules.device.service.ArchivesCasesService; import com.storeroom.modules.device.service.DeviceService; import com.storeroom.modules.device.service.OperatingStateService; +import com.storeroom.modules.storeroom3d.service.AlarmInfoService; +import com.storeroom.modules.storeroom3d.service.ThirdApiService; import com.storeroom.utils.ApiResponse; import com.storeroom.utils.StringUtils; import com.storeroom.utils.enums.ResponseStatus; @@ -24,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Set; @@ -36,6 +40,8 @@ public class DeviceController { private final DeviceService deviceService; private final OperatingStateService operatingStateService; private final ArchivesCasesService archivesCaseService; + private final AlarmInfoService alarmInfoService; + private final ThirdApiService thirdApiService; @ApiOperation("获取所有设备") @AnonymousGetMapping("all") @@ -93,6 +99,42 @@ public class DeviceController { return ApiResponse.success(ResponseStatus.SUCCESS); } + + @ApiOperation("获取在线设备数量") + @AnonymousGetMapping("num") + public ApiResponse onlineDevice() { + int count; + String url = alarmInfoService.getAddressUrl(); + String token = thirdApiService.getToken(url); + //查询密集架 + List deviceInfoList = deviceService.findByDevicetype("DD656054BE3D1DF1E2F1FC"); + String url1 = "http://" + deviceInfoList.get(0).getDeviceIp() + ":" + deviceInfoList.get(0).getDevicePort(); + String storeroomCode = deviceInfoList.get(0).getStoreroomCode(); + Integer QuNo = deviceInfoList.get(0).getAreaNo(); + if (StringUtils.isEmpty(storeroomCode)) { + storeroomCode = "12345678"; + } + Object obj = thirdApiService.getCabinetState(url1, storeroomCode, QuNo); + if (ObjectUtils.isEmpty(obj)) { + count = 0; + } else { + count = deviceService.getDeviceTypeNum("DD656054BE3D1DF1E2F1FC"); + } + + + count += deviceService.getDeviceTypeNum("65D1886B0F864291766421"); + count += deviceService.getDeviceTypeNum("7305DE3D273B0CAC079538"); + if (!StringUtils.isEmpty(token)) { + count += deviceService.getDeviceTypeNum("7882487E0C15304A3758AF"); + count += deviceService.getDeviceTypeNum("250AE644EC43E4EC954A81"); + count += deviceService.getDeviceTypeNum("C09A1946216E496BB3FA88"); + count += deviceService.getDeviceTypeNum("89284777EFADA87FA342A7"); + count += deviceService.getDeviceTypeNum("E58C8D7C896BCB9A408A78"); + } + return ApiResponse.success(count); + } + + //第三方文档功能:平台是否跟密集架连接 @ApiOperation("第三方对接-返回通信状态") @AnonymousPostMapping("getdDevStatus") diff --git a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java index fb7cbfa..a5281a2 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java @@ -23,9 +23,6 @@ public interface DeviceInfoRepository extends JpaRepository, List findByStoreroomId(Storeroom storeroomId); - - - /** * 根据ip 端口号 查询 * @@ -142,4 +139,12 @@ public interface DeviceInfoRepository extends JpaRepository, @Query(value = "select * from device_info where device_type_id=?1", nativeQuery = true) List findByDeviceTypeId(String deviceTypeId); + /** + * 根据设备类型获取数量 + * + * @param deviceTypeId / + * @return + */ + @Query(value = "SELECT COUNT(*) FROM device_info WHERE device_type_id=?1", nativeQuery = true) + Integer countByDeviceTypeId(String deviceTypeId); } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java index 7eb8e1d..c430eb5 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java @@ -1,6 +1,7 @@ package com.storeroom.modules.device.service; +import com.storeroom.annotaion.Query; import com.storeroom.modules.device.domain.AlarmDeseCaBinetLog; import com.storeroom.modules.device.domain.DeviceInfo; import com.storeroom.modules.device.service.dto.DeviceInfoDto; @@ -15,6 +16,7 @@ public interface DeviceService { /** * 查询所有设备 + * * @return / */ List queryAll(); @@ -28,22 +30,25 @@ public interface DeviceService { /** * 通过库房id查询 + * * @param storeroomId / - * @param pageable / + * @param pageable / * @return / */ - Object queryStoreroomDevice(String storeroomId,Pageable pageable); + Object queryStoreroomDevice(String storeroomId, Pageable pageable); /** * 通过设备类型id 查询 + * * @param deviceTypeId / - * @param pageable / + * @param pageable / * @return / */ - Object queryDeviceType(String deviceTypeId,Pageable pageable); + Object queryDeviceType(String deviceTypeId, Pageable pageable); /** * 查询全部列表 + * * @param pageable * @return */ @@ -134,6 +139,7 @@ public interface DeviceService { /** * 获取设备列表无条件 + * * @param pageable / * @return */ @@ -141,12 +147,14 @@ public interface DeviceService { /** * 获取所有设备类型 + * * @return */ List getDeviceTypeAll(); /** * 删除设备 + * * @param deviceInfoId / */ void Delete(Set deviceInfoId); @@ -154,12 +162,14 @@ public interface DeviceService { /** * 层位管理 树形菜单 + * * @return */ List DeviceMenuTree(); /** * 查询密集架 + * * @param deviceInfoId / * @return / */ @@ -168,6 +178,7 @@ public interface DeviceService { /** * 第三方对接-上传报警以及操作日志接口 + * * @param alarmDeseCaBinetLog / * @return / */ @@ -175,8 +186,18 @@ public interface DeviceService { /** - * 获取在线设备数量 + * 通过设备类型id获取数量 + * + * @param deviceTypeId * @return */ - Integer OnlinedeviceNum(); + Integer getDeviceTypeNum(String deviceTypeId); + + /** + * 通过设备类型id 查询设备 + * @param deviceTypeId + * @return + */ + + List findByDevicetype(String deviceTypeId); } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java index 133dcae..c4be22b 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java @@ -8,6 +8,8 @@ import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.modules.device.service.dto.DeviceTypeDto; import com.storeroom.modules.device.service.mapstruct.DeviceInfoMapper; import com.storeroom.modules.device.service.mapstruct.DeviceTypeMapper; +import com.storeroom.modules.storeroom3d.service.impl.AlarmInfoServiceImpl; +import com.storeroom.modules.storeroom3d.service.impl.ThirdApiServiceImpl; import com.storeroom.utils.*; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; @@ -478,8 +480,13 @@ public class DeviceImpl implements DeviceService { } @Override - public Integer OnlinedeviceNum() { - return null; + public Integer getDeviceTypeNum(String deviceTypeId) { + return deviceInfoRepository.countByDeviceTypeId(deviceTypeId); + } + + @Override + public List findByDevicetype(String deviceTypeId) { + return deviceInfoRepository.findByDeviceTypeId(deviceTypeId); } diff --git a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/AlarmInfoService.java b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/AlarmInfoService.java index 8ee6738..971e302 100644 --- a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/AlarmInfoService.java +++ b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/AlarmInfoService.java @@ -56,4 +56,10 @@ public interface AlarmInfoService { */ List queryAll(AlarmLogCriteria criteria); + /** + * 获取请求地址 + * @return / + */ + String getAddressUrl(); + } diff --git a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/ThirdApiService.java b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/ThirdApiService.java index 26b97bf..a5e8a77 100644 --- a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/ThirdApiService.java +++ b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/ThirdApiService.java @@ -11,6 +11,7 @@ public interface ThirdApiService { /** * 获取环控token + * * @return / */ String getToken(String url); @@ -18,6 +19,7 @@ public interface ThirdApiService { /** * 获取第三方所有设备 + * * @return / */ List getDeviceAll(String url); @@ -25,6 +27,7 @@ public interface ThirdApiService { /** * 获取所有设备报警信息 + * * @return */ List getAllDeviceAlarm(String url); @@ -32,7 +35,17 @@ public interface ThirdApiService { /** * 获取设备监控参数实时值 + * * @return */ - Object getRealTimeData(Set deviceIds,String url); + Object getRealTimeData(Set deviceIds, String url); + + + /** + * 获取密集架事实状态 + * @param StoreCode 库码 + * @param QuNo 区号 + * @return / + */ + Object getCabinetState(String url,String StoreCode, Integer QuNo); } diff --git a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/AlarmInfoServiceImpl.java b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/AlarmInfoServiceImpl.java index 88102b3..1d200db 100644 --- a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/AlarmInfoServiceImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/AlarmInfoServiceImpl.java @@ -44,7 +44,7 @@ public class AlarmInfoServiceImpl implements AlarmInfoService { private final AlarmLogRepository alarmLogRepository; private final DeviceTypeReposityory deviceTypeReposityory; - private String getAddressUrl() { + public String getAddressUrl() { String url; Integer prot; List deviceInfo = deviceInfoRepository.findByDeviceTypeId("E58C8D7C896BCB9A408A78"); diff --git a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/ThirdApiServiceImpl.java b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/ThirdApiServiceImpl.java index b0729b0..d002a69 100644 --- a/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/ThirdApiServiceImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/storeroom3d/service/impl/ThirdApiServiceImpl.java @@ -209,4 +209,9 @@ public class ThirdApiServiceImpl implements ThirdApiService { } } + + @Override + public Object getCabinetState(String url, String StoreCode, Integer QuNo) { + return null; + } } diff --git a/system/src/main/java/com/storeroom/modules/system/controller/UserController.java b/system/src/main/java/com/storeroom/modules/system/controller/UserController.java index c5eb811..1c9a126 100644 --- a/system/src/main/java/com/storeroom/modules/system/controller/UserController.java +++ b/system/src/main/java/com/storeroom/modules/system/controller/UserController.java @@ -184,6 +184,17 @@ public class UserController { return ApiResponse.success(ResponseStatus.SUCCESS); } + @Log("删除系统消息") + @ApiOperation("删除系统消息") + @DeleteMapping("/delnotice") + public ApiResponse delNotice(@RequestBody Set ids) { + if (ObjectUtils.isEmpty(ids)) { + throw new BaseException("id不能为空"); + } + noticeService.deleteNoiceUser(ids); + return ApiResponse.success(ResponseStatus.SUCCESS); + } + /** * 如果当前用户的角色级别低于创建用户的角色级别,则抛出权限不足的错误 diff --git a/system/src/main/java/com/storeroom/modules/system/repository/NoticeUsersRepository.java b/system/src/main/java/com/storeroom/modules/system/repository/NoticeUsersRepository.java index 8e06ae4..d34c2f0 100644 --- a/system/src/main/java/com/storeroom/modules/system/repository/NoticeUsersRepository.java +++ b/system/src/main/java/com/storeroom/modules/system/repository/NoticeUsersRepository.java @@ -11,12 +11,19 @@ import java.util.List; public interface NoticeUsersRepository extends JpaRepository, JpaSpecificationExecutor { /** - * 根据用户id 查询 + * 根据用户id和时间查询 * * @param id * @return */ - @Query(value = "SELECT * FROM sys_notice_users WHERE user_id=?1 or create_time>?2 AND create_time?2 AND create_time findByUserId(Long id, Timestamp startTime, Timestamp endTime); + /** + * 根据用户id 查询 + * + * @param id + * @return + */ + List findByUserId(Long id); } diff --git a/system/src/main/java/com/storeroom/modules/system/service/NoticeService.java b/system/src/main/java/com/storeroom/modules/system/service/NoticeService.java index 44a5ca6..8eb00a6 100644 --- a/system/src/main/java/com/storeroom/modules/system/service/NoticeService.java +++ b/system/src/main/java/com/storeroom/modules/system/service/NoticeService.java @@ -62,9 +62,17 @@ public interface NoticeService { /** * 修改阅读状态 + * * @param id */ void updateNoticeUserState(Set id); + /** + * 删除个人通知 + * @param id + */ + void deleteNoiceUser(Set id); + + } diff --git a/system/src/main/java/com/storeroom/modules/system/service/UserService.java b/system/src/main/java/com/storeroom/modules/system/service/UserService.java index 643996f..77f927a 100644 --- a/system/src/main/java/com/storeroom/modules/system/service/UserService.java +++ b/system/src/main/java/com/storeroom/modules/system/service/UserService.java @@ -102,4 +102,5 @@ public interface UserService { * @param resources / */ void updateCenter(User resources); + } diff --git a/system/src/main/java/com/storeroom/modules/system/service/impl/NoticeServiceImpl.java b/system/src/main/java/com/storeroom/modules/system/service/impl/NoticeServiceImpl.java index a42ed99..f2eb7c2 100644 --- a/system/src/main/java/com/storeroom/modules/system/service/impl/NoticeServiceImpl.java +++ b/system/src/main/java/com/storeroom/modules/system/service/impl/NoticeServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import java.util.*; @@ -129,7 +130,12 @@ public class NoticeServiceImpl implements NoticeService { @Override public Object queryNoticeUser(NoticeUserCriteria criteria, Pageable pageable) { - List noticeUsersList = noticeUsersRepository.findByUserId(criteria.getUserId(), criteria.getCreateTime().get(0), criteria.getCreateTime().get(1)); + List noticeUsersList; + if (!ObjectUtils.isEmpty(criteria.getCreateTime())) { + noticeUsersList = noticeUsersRepository.findByUserId(criteria.getUserId(), criteria.getCreateTime().get(0), criteria.getCreateTime().get(1)); + } else { + noticeUsersList = noticeUsersRepository.findByUserId(criteria.getUserId()); + } noticeUsersList.sort(Comparator.comparing(NoticeUsers::getIsRead)); List noticeList = new ArrayList<>(); for (NoticeUsers noticeUsers : noticeUsersList) { @@ -153,5 +159,10 @@ public class NoticeServiceImpl implements NoticeService { } } + @Override + public void deleteNoiceUser(Set ids) { + noticeUsersRepository.deleteAllById(ids); + } + }