|
@@ -27,10 +27,7 @@ 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.mapper.MonitorTargetMapper;
|
|
|
-import vip.xiaonuo.coldchain.modular.monitortarget.param.MonitorTargetAddParam;
|
|
|
-import vip.xiaonuo.coldchain.modular.monitortarget.param.MonitorTargetEditParam;
|
|
|
-import vip.xiaonuo.coldchain.modular.monitortarget.param.MonitorTargetIdParam;
|
|
|
-import vip.xiaonuo.coldchain.modular.monitortarget.param.MonitorTargetPageParam;
|
|
|
+import vip.xiaonuo.coldchain.modular.monitortarget.param.*;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortarget.service.MonitorTargetService;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortargetregion.entity.MonitorTargetRegion;
|
|
|
import vip.xiaonuo.coldchain.modular.monitortargetregion.service.MonitorTargetRegionService;
|
|
@@ -38,6 +35,8 @@ import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
|
import vip.xiaonuo.common.exception.CommonException;
|
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -121,7 +120,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
|
|
|
public List<MonitorTarget> getListByUser(String userId) {
|
|
|
LambdaQueryWrapper<MonitorTarget> queryWrapper = new LambdaQueryWrapper<MonitorTarget>();
|
|
|
if (ObjectUtil.isNotNull(userId)) {
|
|
|
- queryWrapper.eq(MonitorTarget::getCreateBy,userId).orderByDesc(MonitorTarget::getCreateTime);
|
|
|
+ queryWrapper.eq(MonitorTarget::getCreateBy, userId).orderByDesc(MonitorTarget::getCreateTime);
|
|
|
}
|
|
|
queryWrapper.orderByDesc(MonitorTarget::getCreateTime);
|
|
|
List<MonitorTarget> monitorTargetList = list(queryWrapper);
|
|
@@ -144,7 +143,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
|
|
|
} else {
|
|
|
queryWrapper.lambda().orderByAsc(MonitorTarget::getId);
|
|
|
}
|
|
|
- queryWrapper.lambda().eq(MonitorTarget::getCreateBy,monitorTargetPageParam.getUserId());
|
|
|
+ queryWrapper.lambda().eq(MonitorTarget::getCreateBy, monitorTargetPageParam.getUserId());
|
|
|
Page<MonitorTarget> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
//获取设备区域列表并赋值返回
|
|
|
page.getRecords().forEach(monitorTarget -> {
|
|
@@ -153,4 +152,46 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TargetStatus getTargetCount() {
|
|
|
+ List<MonitorTarget> monitorTargetList = list();
|
|
|
+ LambdaQueryWrapper<MonitorTarget> onlineQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ onlineQueryWrapper.eq(MonitorTarget::getStatus, "1");
|
|
|
+ List<MonitorTarget> monitorTargetListOnline = list(onlineQueryWrapper);
|
|
|
+ LambdaQueryWrapper<MonitorTarget> offlineQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ offlineQueryWrapper.eq(MonitorTarget::getStatus, "2");
|
|
|
+ List<MonitorTarget> monitorTargetListOffline = list(offlineQueryWrapper);
|
|
|
+ return new TargetStatus(monitorTargetList.size(), monitorTargetListOnline.size(), monitorTargetListOffline.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean updateLastHeartbeatTimeByDeviceId(Integer deviceId, Date timestamp) {
|
|
|
+ List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(deviceId.toString());
|
|
|
+ if (ObjectUtil.isEmpty(targetIdList)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ List<MonitorTarget> monitorTargetList = new ArrayList<>();
|
|
|
+ for (String targetId : targetIdList) {
|
|
|
+ MonitorTarget monitorTarget = queryEntity(targetId);
|
|
|
+ monitorTarget.setLastHeartbeatTime(timestamp);
|
|
|
+ monitorTargetList.add(monitorTarget);
|
|
|
+ }
|
|
|
+ return updateBatchById(monitorTargetList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean updateLastLoginTimeByDeviceId(Integer deviceId, Date timestamp) {
|
|
|
+ List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(deviceId.toString());
|
|
|
+ if (ObjectUtil.isEmpty(targetIdList)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ List<MonitorTarget> monitorTargetList = new ArrayList<>();
|
|
|
+ for (String targetId : targetIdList) {
|
|
|
+ MonitorTarget monitorTarget = queryEntity(targetId);
|
|
|
+ monitorTarget.setLastLoginTime(timestamp);
|
|
|
+ monitorTargetList.add(monitorTarget);
|
|
|
+ }
|
|
|
+ return updateBatchById(monitorTargetList);
|
|
|
+ }
|
|
|
+
|
|
|
}
|