CacheContext.java 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.gyee.generation.init;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.alibaba.fastjson.TypeReference;
  4. import com.gyee.generation.model.auto.*;
  5. import com.gyee.generation.service.auto.*;
  6. import com.gyee.generation.util.redis.RedisService;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.boot.CommandLineRunner;
  10. import org.springframework.stereotype.Component;
  11. import javax.annotation.Resource;
  12. import java.util.ArrayList;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. /**
  17. * @ClassName : CacheContext
  18. * @Author : xieshengjie
  19. * @Date: 2021/5/18 9:35
  20. * @Description : 缓存
  21. */
  22. @Component
  23. public class CacheContext implements CommandLineRunner {
  24. Logger logger = LoggerFactory.getLogger(CacheContext.class);
  25. @Resource
  26. private IWindturbineService windturbineService;
  27. @Resource
  28. private ILineService lineService;
  29. @Resource
  30. private IProjectService projectService;
  31. @Resource
  32. private IWindpowerstationService windpowerstationService;
  33. @Resource
  34. private IMeterpointService meterpointService;
  35. @Resource
  36. private RedisService redisService;
  37. public static List<Windturbine> wtls = new ArrayList<>();
  38. public static List<Project> projects = new ArrayList<>();
  39. public static List<Line> lines = new ArrayList<>();
  40. public static List<Windpowerstation> wpls = new ArrayList<>();
  41. public static List<Meterpoint> meterpoints = new ArrayList<>();
  42. public static Map<String,List<Project>> wppromap = new HashMap<>();
  43. public static Map<String,List<Line>> prolinemap = new HashMap<>();
  44. public static Map<String, Map<String, Windturbinetestingpointnew>> wtpAimap = new HashMap<>();// 风电机测点AI表
  45. public static Map<String,Map<String, Windpowerstationpointnew>> linepointmap =new HashMap<>();
  46. public static Map<String,Map<String, Windpowerstationpointnew>> propointmap =new HashMap<>();
  47. public static Map<String,Map<String, Windpowerstationpointnew>> wppointmap =new HashMap<>();
  48. @Override
  49. public void run(String... args) throws Exception {
  50. logger.info("缓存开始------------------------------------------------------------");
  51. wtls = windturbineService.list();
  52. lines = lineService.list();
  53. lines.stream().forEach(l->{
  54. if (prolinemap.containsKey(l.getProjectid())){
  55. prolinemap.get(l.getProjectid()).add(l);
  56. }else {
  57. List<Line> lineList = new ArrayList<>();
  58. lineList.add(l);
  59. prolinemap.put(l.getProjectid(),lineList);
  60. }
  61. });
  62. projects = projectService.list();
  63. projects.stream().forEach(p->{
  64. if (wppromap.containsKey(p.getWindpowerstationid())){
  65. wppromap.get(p.getWindpowerstationid()).add(p);
  66. }else {
  67. List<Project> prolist = new ArrayList<>();
  68. prolist.add(p);
  69. wppromap.put(p.getWindpowerstationid(),prolist);
  70. }
  71. });
  72. wpls = windpowerstationService.list();
  73. meterpoints = meterpointService.list();
  74. String wpString = redisService.get("PRODUCT-WP");
  75. wppointmap = JSONObject.parseObject(wpString, new TypeReference<Map<String, Map<String, Windpowerstationpointnew>>>() {
  76. });
  77. String pjString = redisService.get("PRODUCT-PJ");
  78. propointmap = JSONObject.parseObject(pjString, new TypeReference<Map<String, Map<String, Windpowerstationpointnew>>>() {
  79. });
  80. String lnString = redisService.get("PRODUCT-LN");
  81. linepointmap = JSONObject.parseObject(lnString, new TypeReference<Map<String, Map<String, Windpowerstationpointnew>>>() {
  82. });
  83. String wtString = redisService.get("PRODUCT-WT");
  84. wtpAimap = JSONObject.parseObject(wtString, new TypeReference<Map<String, Map<String, Windturbinetestingpointnew>>>() {
  85. });
  86. logger.info("缓存结束------------------------------------------------------------");
  87. }
  88. }