|
@@ -27,6 +27,7 @@ import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
|
import vip.xiaonuo.coldchain.modular.monitordevice.entity.MonitorDevice;
|
|
|
import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget;
|
|
|
+import vip.xiaonuo.coldchain.modular.monitortarget.entity.StatusCount;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortarget.enums.MonitorStatusEnum;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortarget.mapper.MonitorTargetMapper;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortarget.param.*;
|
|
@@ -40,6 +41,7 @@ import vip.xiaonuo.common.page.CommonPageRequest;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 监控对象管理Service接口实现类
|
|
@@ -54,6 +56,8 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
|
|
|
private MonitorTargetRegionService monitorTargetRegionService;
|
|
|
@Resource
|
|
|
private MonitorDeviceService monitorDeviceService;
|
|
|
+ @Resource
|
|
|
+ private MonitorTargetMapper monitorTargetMapper;
|
|
|
|
|
|
@Override
|
|
|
public Page<MonitorTarget> page(MonitorTargetPageParam monitorTargetPageParam) {
|
|
@@ -161,21 +165,19 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
|
|
|
|
|
|
@Override
|
|
|
public TargetStatus getTargetCount(String name) {
|
|
|
- LambdaQueryWrapper<MonitorTarget> countQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- LambdaQueryWrapper<MonitorTarget> onlineQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- LambdaQueryWrapper<MonitorTarget> offlineQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- if (ObjectUtil.isNotNull(name)) {
|
|
|
- countQueryWrapper.eq(MonitorTarget::getName, name);
|
|
|
- onlineQueryWrapper.eq(MonitorTarget::getName, name);
|
|
|
- offlineQueryWrapper.eq(MonitorTarget::getName, name);
|
|
|
+ List<StatusCount> countByStatusList = monitorTargetMapper.getCountByStatus(name);
|
|
|
+ Long total = 0L;
|
|
|
+ Long online = 0L;
|
|
|
+ Long offline = 0L;
|
|
|
+ for (StatusCount statusCount : countByStatusList) {
|
|
|
+ if (statusCount.getStatus().equals("1")) {
|
|
|
+ online = statusCount.getCount();
|
|
|
+ } else {
|
|
|
+ offline = statusCount.getCount();
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- long count = this.count(countQueryWrapper);
|
|
|
- onlineQueryWrapper.eq(MonitorTarget::getStatus, MonitorStatusEnum.ONLINE.getCode());
|
|
|
- long monitorTargetListOnline = count(onlineQueryWrapper);
|
|
|
- offlineQueryWrapper.eq(MonitorTarget::getStatus, MonitorStatusEnum.OFF.getCode());
|
|
|
- long monitorTargetListOffline = count(offlineQueryWrapper);
|
|
|
- return new TargetStatus(count, monitorTargetListOnline, monitorTargetListOffline);
|
|
|
+ total = online + offline;
|
|
|
+ return new TargetStatus(total, online, offline);
|
|
|
}
|
|
|
|
|
|
@Override
|