| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springblade.core.log.exception.ServiceException; | 
					 | 
					 | 
					 | 
					import org.springblade.core.log.exception.ServiceException; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springblade.core.tool.api.R; | 
					 | 
					 | 
					 | 
					import org.springblade.core.tool.api.R; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Value; | 
					 | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Value; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import org.springframework.data.redis.core.RedisTemplate; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.stereotype.Service; | 
					 | 
					 | 
					 | 
					import org.springframework.stereotype.Service; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import javax.servlet.http.HttpServletResponse; | 
					 | 
					 | 
					 | 
					import javax.servlet.http.HttpServletResponse; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -30,6 +31,9 @@ public class DeLianServiceImpl implements IDeLianService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						private String hostId; | 
					 | 
					 | 
					 | 
						private String hostId; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						@Value("${deLian.passWord}") | 
					 | 
					 | 
					 | 
						@Value("${deLian.passWord}") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						private String passWord; | 
					 | 
					 | 
					 | 
						private String passWord; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						private final RedisTemplate redisTemplate; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						private final static String load_strategys_key = "hzims:equipment:delian:strategys:key"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						@Override | 
					 | 
					 | 
					 | 
						@Override | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						public List<StrategyDataVO> getStrategys() { | 
					 | 
					 | 
					 | 
						public List<StrategyDataVO> getStrategys() { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -37,29 +41,42 @@ public class DeLianServiceImpl implements IDeLianService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							HashMap<String, Object> requestData = new HashMap<String, Object>() {{ | 
					 | 
					 | 
					 | 
							HashMap<String, Object> requestData = new HashMap<String, Object>() {{ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								put("Strategy_Type", 0); | 
					 | 
					 | 
					 | 
								put("Strategy_Type", 0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}}; | 
					 | 
					 | 
					 | 
							}}; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							param.put("request_data",requestData); | 
					 | 
					 | 
					 | 
							param.put("request_data", requestData); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							param.put("request_cmd",DeLianConstants.STRATEGYS.getCode()); | 
					 | 
					 | 
					 | 
							param.put("request_cmd", DeLianConstants.STRATEGYS.getCode()); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							String jsonString = JSON.toJSONString(param); | 
					 | 
					 | 
					 | 
							String jsonString = JSON.toJSONString(param); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							HttpResponse response = HttpRequest.post(deLianUrl).body(jsonString).execute(); | 
					 | 
					 | 
					 | 
							HttpResponse response = HttpRequest.post(deLianUrl).body(jsonString).execute(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if(response.getStatus() == HttpServletResponse.SC_OK ) { | 
					 | 
					 | 
					 | 
							if (response.getStatus() == HttpServletResponse.SC_OK) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								List<StrategyDataVO> responseData = JSONObject.parseArray(JSONObject.parseObject(response.body()).getString("response_data"), StrategyDataVO.class); | 
					 | 
					 | 
					 | 
								List<StrategyDataVO> responseData = JSONObject.parseArray(JSONObject.parseObject(response.body()).getString("response_data"), StrategyDataVO.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								redisTemplate.opsForValue().set(load_strategys_key, responseData); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return responseData; | 
					 | 
					 | 
					 | 
								return responseData; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							} | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return new ArrayList<>(); | 
					 | 
					 | 
					 | 
							return new ArrayList<>(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						@Override | 
					 | 
					 | 
					 | 
						@Override | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						public R executeScene(String key) { | 
					 | 
					 | 
					 | 
						public R executeScene(String key) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							long start = System.currentTimeMillis(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							log.info("executeScene接口请求开始------"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							HashMap<String, Object> param = getOauthToken(); | 
					 | 
					 | 
					 | 
							HashMap<String, Object> param = getOauthToken(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							param.put("request_cmd",DeLianConstants.EXECUTESCENE.getCode()); | 
					 | 
					 | 
					 | 
							param.put("request_cmd", DeLianConstants.EXECUTESCENE.getCode()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							List<StrategyDataVO> strategys = getStrategys(); | 
					 | 
					 | 
					 | 
							List<StrategyDataVO> strategys = new ArrayList<>(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (redisTemplate.hasKey(load_strategys_key)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								strategys = (List<StrategyDataVO>) redisTemplate.opsForValue().get(load_strategys_key); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								strategys = getStrategys(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							for (StrategyDataVO strategy : strategys) { | 
					 | 
					 | 
					 | 
							for (StrategyDataVO strategy : strategys) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								if (key.equals(strategy.getSn())){ | 
					 | 
					 | 
					 | 
								if (key.equals(strategy.getSn())) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									param.put("request_data",strategy.getSID()); | 
					 | 
					 | 
					 | 
									param.put("request_data", strategy.getSID()); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								} | 
					 | 
					 | 
					 | 
								} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							} | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							long start1 = System.currentTimeMillis(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							log.info("deLian策略查询耗时:{}", start1 - start); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							log.info("deLian一键执行接口请求开始------"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							HttpResponse response = HttpRequest.post(deLianUrl).body(JSON.toJSONString(param)).execute(); | 
					 | 
					 | 
					 | 
							HttpResponse response = HttpRequest.post(deLianUrl).body(JSON.toJSONString(param)).execute(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if(response.getStatus() == HttpServletResponse.SC_OK ) { | 
					 | 
					 | 
					 | 
							if (response.getStatus() == HttpServletResponse.SC_OK) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								long end = System.currentTimeMillis(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								log.info("deLian一键执行接口耗时:{}", end - start1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return R.success("执行成功"); | 
					 | 
					 | 
					 | 
								return R.success("执行成功"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							} | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return R.fail("执行成功"); | 
					 | 
					 | 
					 | 
							return R.fail("执行成功"); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -78,15 +95,14 @@ public class DeLianServiceImpl implements IDeLianService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							String jsonString = JSON.toJSONString(param); | 
					 | 
					 | 
					 | 
							String jsonString = JSON.toJSONString(param); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							HttpResponse response = HttpRequest.post(deLianUrl).body(jsonString).execute(); | 
					 | 
					 | 
					 | 
							HttpResponse response = HttpRequest.post(deLianUrl).body(jsonString).execute(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							String token = JSONObject.parseObject(response.body()).getString("request_token"); | 
					 | 
					 | 
					 | 
							String token = JSONObject.parseObject(response.body()).getString("request_token"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if(response.getStatus() == HttpServletResponse.SC_OK && | 
					 | 
					 | 
					 | 
							if (response.getStatus() == HttpServletResponse.SC_OK && | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									StringUtils.isNotBlank(token)) { | 
					 | 
					 | 
					 | 
									StringUtils.isNotBlank(token)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								param.remove("request_data"); | 
					 | 
					 | 
					 | 
								param.remove("request_data"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								param.remove("request_cmd"); | 
					 | 
					 | 
					 | 
								param.remove("request_cmd"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								param.put("request_token",token); | 
					 | 
					 | 
					 | 
								param.put("request_token", token); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return param; | 
					 | 
					 | 
					 | 
								return param; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}else { | 
					 | 
					 | 
					 | 
							} else { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								throw new ServiceException("获取权限失败,请稍后重试!"); | 
					 | 
					 | 
					 | 
								throw new ServiceException("获取权限失败,请稍后重试!"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							} | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |