| | |
| | | package com.moral.api.controller; |
| | | |
| | | import com.moral.api.service.HistoryAqiService; |
| | | import com.moral.api.service.HistoryDailyService; |
| | | import com.moral.api.service.HistoryFiveMinutelyService; |
| | | import com.moral.api.service.*; |
| | | import com.moral.api.util.DeviceExcelDTO; |
| | | import com.moral.api.util.EmailSpringUtil; |
| | | import com.moral.api.util.ExcelUtil; |
| | | import com.moral.api.util.HttpUtils; |
| | | import com.moral.constant.ResultMessage; |
| | | import com.moral.util.DateUtils; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.http.HttpResponse; |
| | | import org.apache.http.util.EntityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.io.ByteArrayResource; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.Date; |
| | | import javax.mail.MessagingException; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @ClassName UserController |
| | |
| | | private HistoryFiveMinutelyService historyFiveMinutelyService; |
| | | |
| | | @Autowired |
| | | private CityWeatherService cityWeatherService; |
| | | @Autowired |
| | | private ForecastService forecastService; |
| | | |
| | | @Autowired |
| | | private HistoryAqiService historyAqiService; |
| | | @Autowired |
| | | private HistoryHourlyService historyHourlyService; |
| | | @Autowired |
| | | private HistoryMonthlyService historyMonthlyService; |
| | | @Autowired |
| | | private DeviceService deviceService; |
| | | |
| | | @Autowired |
| | | private ManageCoordinateDetailService manageCoordinateDetailService; |
| | | |
| | | @Autowired |
| | | private HistorySecondCruiserService historySecondCruiserService; |
| | | |
| | | private final EmailSpringUtil emailSpringUtil; |
| | | private final CityWeatherForecastService cityWeatherForecastService; |
| | | |
| | | public PubController(EmailSpringUtil emailSpringUtil, CityWeatherForecastService cityWeatherForecastService) { |
| | | this.emailSpringUtil = emailSpringUtil; |
| | | this.cityWeatherForecastService = cityWeatherForecastService; |
| | | } |
| | | |
| | | @GetMapping("insertHistoryDaily") |
| | | @ApiOperation(value = "天数据补录", notes = "天数据补录") |
| | |
| | | @GetMapping("insertHistoryFiveMinutely") |
| | | @ApiOperation(value = "5分钟数据", notes = "5分钟数据") |
| | | public ResultMessage insertHistoryFiveMinutely() { |
| | | String format = DateUtils.yyyy_MM_dd_HH_mm_EN; |
| | | historyFiveMinutelyService.insertHistoryFiveMinutely(); |
| | | String s ="2023-10-13 03:35"; |
| | | String s1 ="2023-10-13 03:40"; |
| | | Date start = DateUtils.getDate(s,format); |
| | | Date end = DateUtils.getDate(s1,format); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("dateInsertHistoryHourlyJKAvg") |
| | | @ApiOperation(value = "疾控中心小时数据", notes = "疾控中心小时数据") |
| | | public ResultMessage dateInsertHistoryHourlyJKAvg(String start,String end) { |
| | | Date ks = DateUtils.getDate(start,"yyyy-MM-dd HH:mm:ss"); |
| | | Date js = DateUtils.getDate("2024-01-23 13:00:00","yyyy-MM-dd HH:mm:ss"); |
| | | Date ends = DateUtils.getDate(end,"yyyy-MM-dd HH:mm:ss"); |
| | | while (DateUtils.isTimeBefor(js,ks)){ |
| | | String dateString = DateUtils.dateToDateString(ks); |
| | | String dateString1 = DateUtils.dateToDateString(ends); |
| | | // historyHourlyService.dateInsertHistoryHourlyJKAvg(start, end); |
| | | historyHourlyService.dateInsertHistoryHourlyJKAvg(dateString, dateString1); |
| | | ks = DateUtils.getDateAddHour(ks,1); |
| | | ends = DateUtils.getDateAddHour(ends,1); |
| | | } |
| | | // String format = DateUtils.yyyy_MM_dd_HH_mm_EN; |
| | | // String start ="2023-11-19 09:00" |
| | | // String end ="2023-11-19 10:00"; |
| | | // Date start1 = DateUtils.getDate(start,format); |
| | | // Date end1 = DateUtils.getDate(end,format); |
| | | |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | |
| | | |
| | | @GetMapping("insertHistoryAqi") |
| | | @ApiOperation(value = "过控制战补偿", notes = "过控制战补偿") |
| | | public ResultMessage insertHistoryAqi() { |
| | | historyAqiService.insertHistoryAqi(); |
| | | public ResultMessage insertHistoryAqi(String time) { |
| | | historyAqiService.insertHistoryAqi(time); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("insertHistoryHourly") |
| | | @ApiOperation(value = "缺失小时数据补充", notes = "缺失小时数据补充") |
| | | public ResultMessage insertHistoryHourly() { |
| | | historyHourlyService.insertHistoryHourly(); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("insertHCHistoryAqi") |
| | | @ApiOperation(value = "海城省控", notes = "海城省控") |
| | | public ResultMessage insertHCHistoryAqi() { |
| | | historyAqiService.insertHCHistoryAqi(); |
| | | return new ResultMessage(); |
| | | } |
| | | @GetMapping("dateToChangShu") |
| | | @ApiOperation(value = "常熟小时数据", notes = "常熟小时数据") |
| | | public ResultMessage dateToChangShu() { |
| | | historyHourlyService.dateToChangShu(null); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("forecastO3") |
| | | @ApiOperation(value = "O3预测接口调试", notes = "O3") |
| | | public ResultMessage forecastO3() { |
| | | forecastService.forecastO3(); |
| | | return new ResultMessage(); |
| | | } |
| | | @GetMapping("insertCityWeather") |
| | | @ApiOperation(value = "获取天气小时数据", notes = "获取天气小时数据") |
| | | public ResultMessage insertCityWeather() { |
| | | cityWeatherService.insertCityWeather(); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("insertCityWeatherForecast") |
| | | @ApiOperation(value = "城市每日天气预测", notes = "城市每日天气预测") |
| | | public ResultMessage insertCityWeatherForecast() { |
| | | cityWeatherForecastService.insertCityWeatherForecast(); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("insertHistoryMonthly") |
| | | @ApiOperation(value = "月数据", notes = "月数据") |
| | | public ResultMessage insertHistoryMonthly() { |
| | | historyMonthlyService.insertHistoryMonthly(); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("secondCruiserSort") |
| | | @ApiOperation(value = "走航车排名", notes = "走航车排名") |
| | | public ResultMessage secondCruiserSort() { |
| | | String startTime ="2024-11-13 00:00:00"; |
| | | String endTime ="2024-11-14 00:00:00"; |
| | | historySecondCruiserService.sort(startTime,endTime); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | @GetMapping("insertCoordinateDetail") |
| | | @ApiOperation(value = "路段录入", notes = "路段录入") |
| | | public ResultMessage insertCoordinateDetail() { |
| | | String startTime ="2024-06-06 00:07:01"; |
| | | String endTime ="2024-06-06 23:07:01"; |
| | | manageCoordinateDetailService.insertCoordinateDetail(startTime,endTime); |
| | | return new ResultMessage(); |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | String s = "2023-9-01"; |
| | | Date d = DateUtils.getDate(s,"yyyy-MM-dd"); |
| | | System.out.println(DateUtils.dateToDateFullString(d)); |
| | | //System.out.println( DateUtils.dateToDateFullString(DateUtils.getDateOfDay(d, -1), "yyyy-MM-dd")); |
| | | String host = "https://pair.market.alicloudapi.com"; |
| | | String path = "/api/v1/pair/station_list"; |
| | | String method = "GET"; |
| | | String appcode = "31b6ea8f804a4472be3b633cfee44849"; |
| | | Map<String, String> headers = new HashMap<String, String>(); |
| | | //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105 |
| | | headers.put("Authorization", "APPCODE " + appcode); |
| | | Map<String, String> querys = new HashMap<String, String>(); |
| | | querys.put("province", "辽宁省"); |
| | | |
| | | |
| | | |
| | | try { |
| | | /** |
| | | * 重要提示如下: |
| | | * HttpUtils请从 |
| | | * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java |
| | | * 下载 |
| | | * |
| | | * 相应的依赖请参照 |
| | | * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml |
| | | */ |
| | | HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys); |
| | | System.out.println(response.toString()); |
| | | //获取response的body |
| | | System.out.println(EntityUtils.toString(response.getEntity())); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | @GetMapping("excelDevice") |
| | | @ApiOperation(value = "excle", notes = "excle") |
| | | public void excelDevice() throws IOException { |
| | | String startTime = DateUtils.dateToDateString(DateUtils.addDays(new Date(),-1),DateUtils.yyyy_MM_dd_EN); |
| | | List<DeviceExcelDTO> list = deviceService.ListDeviceExcel(startTime,null,72); |
| | | // String path = this.getClass().getClassLoader().getResource("/data/file").getPath(); |
| | | String path = System.getProperty("user.dir")+"/"; |
| | | String fileName = String.format("%s疾控中心数据-%s.xlsx",path,startTime); |
| | | ByteArrayOutputStream out = null; |
| | | try { |
| | | // 生成excel文件 |
| | | out = ExcelUtil.generateExcel(list, DeviceExcelDTO.class); |
| | | // 发送邮件 |
| | | String content = startTime+"疾控中心设备统计数据"; |
| | | String toMail = "ad@7drlb.com"; |
| | | emailSpringUtil.sendEmail("设备分钟数据",content,false,"909710561@qq.com", |
| | | toMail,"909710561@qq.com",null, fileName, new ByteArrayResource(out.toByteArray())); |
| | | } catch (IOException e) { |
| | | log.error(String.format("生成excel失败,原因:%s",e)); |
| | | e.printStackTrace(); |
| | | } catch (MessagingException e) { |
| | | log.error(String.format("邮件发送失败,原因:%s",e)); |
| | | e.printStackTrace(); |
| | | }finally { |
| | | if(out != null){ |
| | | out.close(); |
| | | } |
| | | } |
| | | } |
| | | } |