|  |  | 
 |  |  |         //如果没有数据从数据库查询 | 
 |  |  |         if (sensorValues != null) | 
 |  |  |             return sensorValues; | 
 |  |  |         QueryWrapper<HistoryFiveMinutely> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.eq("mac", mac); | 
 |  |  |         queryWrapper.orderByDesc("time"); | 
 |  |  |         queryWrapper.last("limit 0,1"); | 
 |  |  |         Map<String, Object> mapParams = new HashMap<>(); | 
 |  |  |         mapParams.put("mac",mac); | 
 |  |  |         //获取当月的表名 | 
 |  |  |         Date date = new Date(); | 
 |  |  |         List<String> tableNames = MybatisPLUSUtils.getTableNamesByWrapper(date, date, SeparateTableType.MONTH); | 
 |  |  |         List<HistoryFiveMinutely> datas = multiTableQuery(queryWrapper, tableNames); | 
 |  |  |         List<HistoryFiveMinutely> datas = multiTableQuery(mapParams, tableNames); | 
 |  |  |         if (ObjectUtils.isEmpty(datas)) | 
 |  |  |             return null; | 
 |  |  |         HistoryFiveMinutely historyFiveMinutely = datas.get(0); | 
 |  |  | 
 |  |  |      * @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); | 
 |  |  |         Map<String, Object> mapParams = new HashMap<>(); | 
 |  |  |         mapParams.put("startDate",startDate); | 
 |  |  |         mapParams.put("endDate",endDate); | 
 |  |  |         mapParams.put("mac",mac); | 
 |  |  |         List<String> tableNames = MybatisPLUSUtils.getTableNamesByWrapper(startDate, endDate, SeparateTableType.MONTH); | 
 |  |  |         List<HistoryFiveMinutely> datas = multiTableQuery(wrapper, tableNames); | 
 |  |  |         List<HistoryFiveMinutely> datas = multiTableQueryResult(mapParams, tableNames); | 
 |  |  |         return datas; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      * @Author: 陈凯裕 | 
 |  |  |      * @Date: 2021/9/23 | 
 |  |  |      */ | 
 |  |  |     private List<HistoryFiveMinutely> multiTableQuery(QueryWrapper<HistoryFiveMinutely> wrapper, List<String> tableNames) { | 
 |  |  |     private List<HistoryFiveMinutely> multiTableQuery(Map<String, Object> params, List<String> tableNames) { | 
 |  |  |         List<HistoryFiveMinutely> result = new ArrayList<>(); | 
 |  |  |         for (String tableName : tableNames) { | 
 |  |  |             MybatisPlusConfig.tableName.set(tableName); | 
 |  |  |             List<HistoryFiveMinutely> datas = historyFiveMinutelyMapper.selectList(wrapper); | 
 |  |  |             params.put("table",tableName); | 
 |  |  |             List<HistoryFiveMinutely> datas = historyFiveMinutelyMapper.listResultOne(params); | 
 |  |  |             result.addAll(datas); | 
 |  |  |         } | 
 |  |  |         MybatisPlusConfig.tableName.remove(); | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |     private List<HistoryFiveMinutely> multiTableQueryResult(Map<String, Object> params, List<String> tableNames) { | 
 |  |  |         List<HistoryFiveMinutely> result = new ArrayList<>(); | 
 |  |  |         for (String tableName : tableNames) { | 
 |  |  |             params.put("table",tableName); | 
 |  |  |             List<HistoryFiveMinutely> datas = historyFiveMinutelyMapper.listResult(params); | 
 |  |  |             result.addAll(datas); | 
 |  |  |         } | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  | } |