package com.whyc.service; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.BattStationTempHisMapper; import com.whyc.mapper.CommonMapper; import com.whyc.pojo.db_power_history.BattStationTempHistory; import com.whyc.util.SubTablePageInfoUtil; import com.whyc.util.ThreadLocalUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.ParseException; import java.util.List; @Service public class BattStationTempHisService { @Resource private BattStationTempHisMapper mapper; @Resource private CommonMapper commonMapper; @Autowired private JdbcSqlExecuteService jdbcSqlExecuteService; @Autowired private SubTablePageInfoUtil pageInfoUtil; public void createTableByMonth(Integer battGroupId,String yearMonth) { jdbcSqlExecuteService.execute("CREATE TABLE IF NOT EXISTS `db_power_history`.`db_batt_station_temp_history_"+yearMonth+"` LIKE `db_power_history`.`db_batt_station_temp_history`"); } public boolean existTempHisTableByMonth(Integer battGroupId, String yearMonth) { return commonMapper.existTable("db_power_history","db_batt_station_temp_history_"+battGroupId+"_"+yearMonth); } public void add(Integer battGroupId, String yearMonth, BattStationTempHistory tempHistory) { jdbcSqlExecuteService.execute("INSERT INTO `db_power_history`.`db_batt_station_temp_history_"+battGroupId+"_"+yearMonth+"` (`batt_group_id`, `station_id`, `pixel_x`, `pixel_y`, `max_temp`, `min_temp`, `min_temp_point`, `max_temp_point`, `camera_id`, `record_time`)" + "\n values("+tempHistory.getBattGroupId()+","+tempHistory.getStationId()+","+tempHistory.getPixelX()+","+tempHistory.getPixelY()+","+tempHistory.getMaxTemp()+","+tempHistory.getMinTemp()+",'"+tempHistory.getMinTempPoint()+"','"+tempHistory.getMaxTempPoint()+"','"+tempHistory.getCameraId()+"','"+tempHistory.getRecordTime()); } public Response getPageByCameraId(int pageNum, int pageSize, String cameraId, String startTime, String endTime) throws ParseException, InterruptedException { PageInfo pageInfo = pageInfoUtil.getPageInfoByMonthTable(pageNum, pageSize, ThreadLocalUtil.parse(startTime, 1), ThreadLocalUtil.parse(endTime, 1), "db_power_history", "tb_batt_station_temp_history_" + cameraId, new BattStationTempHistory()); return new Response().set(1, pageInfo); } }