TokenService.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package com.gyee.power.fitting.service.auth;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.gyee.power.fitting.common.config.StringUtils;
  4. import com.gyee.power.fitting.common.spring.CacheContext;
  5. import com.gyee.power.fitting.model.ProBasicEquipment;
  6. import com.gyee.power.fitting.model.ProBasicPowerstation;
  7. import com.gyee.power.fitting.model.ProBasicWeatherStation;
  8. import com.gyee.power.fitting.model.custom.TokenVo;
  9. import com.gyee.power.fitting.service.ISysUserService;
  10. import org.springframework.stereotype.Service;
  11. import javax.annotation.Resource;
  12. import javax.servlet.http.HttpServletRequest;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.Map;
  16. import java.util.concurrent.ConcurrentHashMap;
  17. @Service
  18. public class TokenService {
  19. @Resource
  20. private ISysUserService sysUserService;
  21. public static Map<String, List<ProBasicEquipment>> sessionWtMap = new ConcurrentHashMap<>();
  22. public static Map<String, List<ProBasicPowerstation>> sessionWpMap = new ConcurrentHashMap<>();
  23. public static Map<String, List<ProBasicWeatherStation>> sessionWeMap = new ConcurrentHashMap<>();
  24. public static Map<String, TokenVo> sessionMap = new ConcurrentHashMap<>();
  25. public List<ProBasicEquipment> getWtls(HttpServletRequest request) {
  26. String token = request.getHeader("token");
  27. String userId = request.getHeader("userId");
  28. List<ProBasicEquipment> wtlist = new ArrayList<>();
  29. if (StringUtils.notEmp(token) && StringUtils.notEmp(userId)) {
  30. if (sessionMap.containsKey(token) && !sessionWtMap.containsKey(token)) {
  31. List<String> depls = sysUserService.getUserByuserId(Long.valueOf(userId));
  32. if (!depls.isEmpty()) {
  33. String depId = depls.get(0);
  34. if (CacheContext.wpwtmap.containsKey(depId)) {
  35. List<ProBasicEquipment> wtls = CacheContext.wpwtmap.get(depId);
  36. for (ProBasicEquipment wt : wtls) {
  37. ProBasicEquipment newWt = new ProBasicEquipment();
  38. BeanUtil.copyProperties(wt, newWt);
  39. wtlist.add(newWt);
  40. }
  41. } else if (CacheContext.cmwtlsmap.containsKey(depId)) {
  42. List<ProBasicEquipment> wtls = CacheContext.cmwtlsmap.get(depId);
  43. for (ProBasicEquipment wt : wtls) {
  44. ProBasicEquipment newWt = new ProBasicEquipment();
  45. BeanUtil.copyProperties(wt, newWt);
  46. wtlist.add(newWt);
  47. }
  48. } else if (CacheContext.rgwtlsmap.containsKey(depId)) {
  49. List<ProBasicEquipment> wtls = CacheContext.rgwtlsmap.get(depId);
  50. for (ProBasicEquipment wt : wtls) {
  51. ProBasicEquipment newWt = new ProBasicEquipment();
  52. BeanUtil.copyProperties(wt, newWt);
  53. wtlist.add(newWt);
  54. }
  55. } else if (depId.equals("0")) {
  56. for (ProBasicEquipment wt : CacheContext.wtls) {
  57. ProBasicEquipment newWt = new ProBasicEquipment();
  58. BeanUtil.copyProperties(wt, newWt);
  59. wtlist.add(newWt);
  60. }
  61. }
  62. }
  63. sessionWtMap.put(token, wtlist);
  64. } else if (sessionMap.containsKey(token) && sessionWtMap.containsKey(token)) {
  65. wtlist = sessionWtMap.get(token);
  66. }
  67. } else {
  68. for (ProBasicEquipment wt : CacheContext.wtls) {
  69. ProBasicEquipment newWt = new ProBasicEquipment();
  70. BeanUtil.copyProperties(wt, newWt);
  71. wtlist.add(newWt);
  72. }
  73. }
  74. return wtlist;
  75. }
  76. public List<ProBasicPowerstation> getWpls(HttpServletRequest request) {
  77. String token = request.getHeader("token");
  78. String userId = request.getHeader("userId");
  79. List<ProBasicPowerstation> wplist = new ArrayList<>();
  80. if (StringUtils.notEmp(token) && StringUtils.notEmp(token)) {
  81. if (sessionMap.containsKey(token) && !sessionWpMap.containsKey(token)) {
  82. List<String> depls = sysUserService.getUserByuserId(Long.valueOf(userId));
  83. if (!depls.isEmpty()) {
  84. String depId = depls.get(0);
  85. if (CacheContext.wpmap.containsKey(depId)) {
  86. ProBasicPowerstation wp = CacheContext.wpmap.get(depId);
  87. ProBasicPowerstation newWp = new ProBasicPowerstation();
  88. BeanUtil.copyProperties(wp, newWp);
  89. wplist.add(newWp);
  90. } else if (CacheContext.cpwpmap.containsKey(depId)) {
  91. List<ProBasicPowerstation> wpls = CacheContext.cpwpmap.get(depId);
  92. for (ProBasicPowerstation wp : wpls) {
  93. ProBasicPowerstation newWp = new ProBasicPowerstation();
  94. BeanUtil.copyProperties(wp, newWp);
  95. wplist.add(newWp);
  96. }
  97. }else if (CacheContext.rgwpmap.containsKey(depId)) {
  98. List<ProBasicPowerstation> rgcpls = CacheContext.rgwpmap.get(depId);
  99. for (ProBasicPowerstation cp : rgcpls) {
  100. List<ProBasicPowerstation> wpls = CacheContext.rgwpmap.get(cp.getId());
  101. for (ProBasicPowerstation wp : wpls) {
  102. ProBasicPowerstation newWp = new ProBasicPowerstation();
  103. BeanUtil.copyProperties(wp, newWp);
  104. wplist.add(newWp);
  105. }
  106. }
  107. } else if (depId.equals("0")) {
  108. List<ProBasicPowerstation> wpls = CacheContext.wpls;
  109. for (ProBasicPowerstation wp : wpls) {
  110. ProBasicPowerstation newWp = new ProBasicPowerstation();
  111. BeanUtil.copyProperties(wp, newWp);
  112. wplist.add(newWp);
  113. }
  114. }
  115. }
  116. sessionWpMap.put(token, wplist);
  117. } else if (sessionMap.containsKey(token) && sessionWpMap.containsKey(token)) {
  118. wplist = sessionWpMap.get(token);
  119. }
  120. } else {
  121. List<ProBasicPowerstation> wpls = CacheContext.wpls;
  122. for (ProBasicPowerstation wp : wpls) {
  123. ProBasicPowerstation newWp = new ProBasicPowerstation();
  124. BeanUtil.copyProperties(wp, newWp);
  125. wplist.add(newWp);
  126. }
  127. }
  128. return wplist;
  129. }
  130. }