CacheContext.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package com.gyee.benchmarkingweb.init;
  2. import com.gyee.benchmarkingweb.model.auto.*;
  3. import com.gyee.benchmarkingweb.service.auto.*;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.boot.CommandLineRunner;
  7. import org.springframework.stereotype.Component;
  8. import javax.annotation.Resource;
  9. import java.util.ArrayList;
  10. import java.util.HashMap;
  11. import java.util.List;
  12. import java.util.Map;
  13. /**
  14. * @ClassName : CacheContext
  15. * @Author : xieshengjie
  16. * @Date: 2021/11/16 16:29
  17. * @Description :
  18. */
  19. @Component
  20. public class CacheContext implements CommandLineRunner {
  21. private static final Logger log = LoggerFactory.getLogger(CacheContext.class);
  22. @Resource
  23. private IWindturbineService windturbineService;
  24. @Resource
  25. private IWindpowerstationService windpowerstationService;
  26. @Resource
  27. private IProjectService projectService;
  28. @Resource
  29. private ILineService lineService;
  30. @Resource
  31. private IWindturbinetestingpointaiService windturbineTestingAiService;
  32. @Resource
  33. private IWindpowerstationtestingpointService windpowerstationtestingpointService;
  34. @Resource
  35. private IEquipmentmodelService equipmentmodelService;
  36. public static Map<String, List<Windturbine>> wtmap = new HashMap<>();
  37. public static Map<String,Windturbine> wmap = new HashMap<>();
  38. public static Map<String, Windpowerstation> wpmap = new HashMap<>();
  39. public static List<Windpowerstation> wplist = new ArrayList<>();
  40. public static List<Windturbine> wtls = new ArrayList<>();
  41. public static Map<String, Map<String, Windturbinetestingpointai>> wtpAimap = new HashMap<>();// 风电机测点AI表
  42. public static Map<String,Map<String, Windpowerstationtestingpoint>> wppointmap =new HashMap<>();
  43. public static List<Project> projects = new ArrayList<>();
  44. public static List<Line> lines = new ArrayList<>();
  45. public static Map<String,List<Project>> wpprojectMap = new HashMap<>();
  46. public static Map<String,Project> promap = new HashMap<>();
  47. public static Map<String,Equipmentmodel> equipmentmodelMap = new HashMap<>();
  48. @Override
  49. public void run(String... args) throws Exception {
  50. log.info("-------------------------------缓存开始--------------------------------------");
  51. wplist = windpowerstationService.list();
  52. wplist.stream().filter(i->i.getId().endsWith("FDC")).forEach(i->{
  53. wpmap.put(i.getId(),i);
  54. });
  55. projects = projectService.list();
  56. projects.stream().forEach(project->{
  57. promap.put(project.getId(),project);
  58. if (wpprojectMap.containsKey(project.getWindpowerstationid())){
  59. wpprojectMap.get(project.getWindpowerstationid()).add(project);
  60. }else{
  61. List<Project> pros = new ArrayList<>();
  62. pros.add(project);
  63. wpprojectMap.put(project.getWindpowerstationid(),pros);
  64. }
  65. });
  66. lines = lineService.list();
  67. wtls = windturbineService.list();
  68. wtls.stream().forEach(wt->{
  69. wmap.put(wt.getId(),wt);
  70. if (wtmap.containsKey(wt.getWindpowerstationid())){
  71. wtmap.get(wt.getWindpowerstationid()).add(wt);
  72. }else{
  73. List<Windturbine> wts = new ArrayList<>();
  74. wts.add(wt);
  75. wtmap.put(wt.getWindpowerstationid(),wts);
  76. }
  77. });
  78. List<Windturbinetestingpointai> windturbinetestingpointaiList = windturbineTestingAiService.list();
  79. Map<String, Windturbinetestingpointai> map = null;
  80. if(windturbinetestingpointaiList != null && !windturbinetestingpointaiList.isEmpty()){
  81. for(Windturbinetestingpointai mp : windturbinetestingpointaiList){
  82. if(wtpAimap.containsKey(mp.getWindturbineid())){
  83. map = wtpAimap.get(mp.getWindturbineid());
  84. map.put(mp.getUniformcode(), mp);
  85. }else{
  86. map = new HashMap<String, Windturbinetestingpointai>();
  87. map.put(mp.getUniformcode(), mp);
  88. wtpAimap.put(mp.getWindturbineid(), map);
  89. }
  90. }
  91. }
  92. List<Windpowerstationtestingpoint> wplist = windpowerstationtestingpointService.list();
  93. for (Windpowerstationtestingpoint windpowerstationtestingpoint : wplist) {
  94. if (wppointmap.containsKey(windpowerstationtestingpoint.getWindpowerstationid())){
  95. wppointmap.get(windpowerstationtestingpoint.getWindpowerstationid()).put(windpowerstationtestingpoint.getUniformcode(),windpowerstationtestingpoint);
  96. }else{
  97. Map<String,Windpowerstationtestingpoint> wpmap = new HashMap<>();
  98. wpmap.put(windpowerstationtestingpoint.getUniformcode(),windpowerstationtestingpoint);
  99. wppointmap.put(windpowerstationtestingpoint.getWindpowerstationid(),wpmap);
  100. }
  101. }
  102. equipmentmodelService.list().forEach(i->{
  103. equipmentmodelMap.put(i.getId(),i);
  104. });
  105. log.info("-------------------------------缓存结束--------------------------------------");
  106. }
  107. }