From 70a98b2b11b25c7a3b32c07cdc5043b60383220d Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 23 Sep 2021 16:59:12 +0800 Subject: [PATCH] 根据组织查设备,站点加入子组织 --- screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java index 3f0c77f..9e2198b 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java @@ -2,9 +2,14 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.ISqlSegment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; +import com.baomidou.mybatisplus.core.conditions.segments.NormalSegmentList; +import com.moral.api.config.mybatis.MybatisPlusConfig; import com.moral.api.entity.Device; import com.moral.api.entity.HistoryFiveMinutely; +import com.moral.api.entity.HistoryHourly; import com.moral.api.entity.MonitorPoint; import com.moral.api.mapper.HistoryFiveMinutelyMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -15,7 +20,9 @@ import com.moral.api.service.HistoryFiveMinutelyService; import com.moral.api.service.MonitorPointService; import com.moral.constant.RedisConstants; +import com.moral.constant.SeparateTableType; import com.moral.util.DateUtils; +import com.moral.util.MybatisPLUSUtils; import io.lettuce.core.GeoCoordinates; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -65,6 +72,8 @@ Map<String, Object> sensorValues = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DATA_FIVE_MINUTES, mac); //������������������������������������ HistoryFiveMinutely dbHistoryFiveMinutely = queryLastDataByMac(mac); + if(ObjectUtils.isEmpty(dbHistoryFiveMinutely)) + continue; String dbDataStr = dbHistoryFiveMinutely.getValue(); sensorValues = JSON.parseObject(dbDataStr, HashMap.class); Map<String,Object> sensorValue = new HashMap<>(); @@ -285,6 +294,39 @@ return list; } + /** + * @Description: ���������������������������mac��������� + * @Param: [mac, startDate, endDate] + * @return: java.util.List<com.moral.api.entity.HistoryHourly> + * @Author: ��������� + * @Date: 2021/9/23 + */ + public List<HistoryFiveMinutely> getValueByMacAndTime(String mac, Date startDate, Date endDate){ + QueryWrapper<HistoryFiveMinutely> wrapper = new QueryWrapper<>(); + wrapper.eq("mac",mac); + wrapper.between("time",startDate,endDate); + List<String> tableNames = MybatisPLUSUtils.getTableNamesByWrapper(startDate, endDate, SeparateTableType.MONTH); + List<HistoryFiveMinutely> datas = multiTableQuery(wrapper, tableNames); + return datas; + } + + /** + * @Description: ������������������������������������������������wrapper��������������� + * @Param: [wrapper, tableNames] + * @return: java.util.List<com.moral.api.entity.HistoryHourly> + * @Author: ��������� + * @Date: 2021/9/23 + */ + private List<HistoryFiveMinutely> multiTableQuery(QueryWrapper<HistoryFiveMinutely> wrapper,List<String> tableNames){ + List<HistoryFiveMinutely> result = new ArrayList<>(); + for (String tableName : tableNames) { + MybatisPlusConfig.tableName.set(tableName); + List<HistoryFiveMinutely> datas = historyFiveMinutelyMapper.selectList(wrapper); + result.addAll(datas); + } + return result; + } + -- Gitblit v1.8.0