SaticScheduleTask.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.yijia.station.task;
  2. import com.yijia.common.utils.DateUtils;
  3. import com.yijia.station.domain.StationOilGun;
  4. import com.yijia.station.domain.StationOilPrice;
  5. import com.yijia.station.domain.StationOilPriceAdjust;
  6. import com.yijia.station.service.IStationOilGunService;
  7. import com.yijia.station.service.IStationOilPriceAdjustService;
  8. import com.yijia.station.service.IStationOilPriceService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.scheduling.annotation.EnableScheduling;
  12. import org.springframework.scheduling.annotation.Scheduled;
  13. import java.text.ParseException;
  14. import java.text.SimpleDateFormat;
  15. import java.util.Date;
  16. import java.util.List;
  17. @Configuration //1.主要用于标记配置类,兼备Component的效果。
  18. @EnableScheduling // 2.开启定时任务
  19. public class SaticScheduleTask {
  20. @Autowired
  21. private IStationOilPriceAdjustService stationOilPriceAdjustService;
  22. @Autowired
  23. private IStationOilPriceService stationOilPriceService;
  24. @Autowired
  25. private IStationOilGunService stationOilGunService;
  26. //3.添加定时任务
  27. // @Scheduled(cron = "0/5 * * * * ?")
  28. //或直接指定时间间隔,例如:5秒 5000
  29. @Scheduled(fixedRate=5000)
  30. private void configureTasks() throws ParseException {
  31. //获取当前时间 yyyy-MM-dd HH:mm:ss
  32. String newdate = DateUtils.getTime();
  33. System.err.println("执行静态定时任务时间: " + newdate);
  34. //查询油品调价列表 查询出未调价的信息
  35. StationOilPriceAdjust stationOilPriceAdjust =new StationOilPriceAdjust();
  36. stationOilPriceAdjust.setStatus("1");
  37. stationOilPriceAdjust.setEndTime(newdate);
  38. List<StationOilPriceAdjust> oilPriceAdjustList=stationOilPriceAdjustService.selectStationOilPriceAdjustList(stationOilPriceAdjust);
  39. //循环查看 调价的生效时间是否和当前时间相符
  40. for(StationOilPriceAdjust adjust: oilPriceAdjustList ){
  41. //修改油品价格根据油品价格id
  42. StationOilPrice oilPrice=new StationOilPrice();
  43. oilPrice.setOilPriceId(adjust.getOilPriceId());
  44. oilPrice.setOilPrice(adjust.getOilAdjustPrice());
  45. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  46. Date sdate = sdf.parse(newdate);
  47. oilPrice.setDate(sdate);
  48. stationOilPriceService.updateStationOilPrice(oilPrice);
  49. //修改油枪信息中的价格
  50. StationOilGun gun =new StationOilGun();
  51. gun.setStationId(adjust.getStationId());
  52. gun.setOilName(adjust.getOilName());
  53. List<StationOilGun> listGun = stationOilGunService.selectStationOilGunList(gun);
  54. for(StationOilGun oilGun: listGun ){
  55. StationOilGun stationOilGun =new StationOilGun();
  56. stationOilGun.setOilPrice(adjust.getOilAdjustPrice());
  57. stationOilGun.setOilGunId(oilGun.getOilGunId());
  58. stationOilGunService.updateStationOilGun(stationOilGun);
  59. }
  60. StationOilPriceAdjust priceAdjust=new StationOilPriceAdjust();
  61. priceAdjust.setStatus("2");
  62. priceAdjust.setAdjustPriceId(adjust.getAdjustPriceId());
  63. stationOilPriceAdjustService.updateStationOilPriceAdjust(priceAdjust);
  64. }
  65. }
  66. }