| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -18,6 +18,7 @@ import org.springframework.web.socket.WebSocketSession; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.web.socket.handler.TextWebSocketHandler; | 
					 | 
					 | 
					 | 
					import org.springframework.web.socket.handler.TextWebSocketHandler; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.io.IOException; | 
					 | 
					 | 
					 | 
					import java.io.IOException; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.HashMap; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.Map; | 
					 | 
					 | 
					 | 
					import java.util.Map; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.Optional; | 
					 | 
					 | 
					 | 
					import java.util.Optional; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.Set; | 
					 | 
					 | 
					 | 
					import java.util.Set; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -67,9 +68,9 @@ public class InteractiveHandler extends TextWebSocketHandler { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void handleMessage(JSONObject messageContext,String sessionId) { | 
					 | 
					 | 
					 | 
					    private void handleMessage(JSONObject messageContext,String sessionId) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Boolean isSpecial = messageContext.getBoolean("isSpecial"); | 
					 | 
					 | 
					 | 
					        Boolean isSpecial = messageContext.getBoolean("isSpecial"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        String context = messageContext.getString("context"); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        String userId = messageContext.getString("userId"); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(Func.isEmpty(isSpecial) || !isSpecial) { | 
					 | 
					 | 
					 | 
					        if(Func.isEmpty(isSpecial) || !isSpecial) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            String context = messageContext.getString("context"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            String userId = messageContext.getString("userId"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            IInteractiveService interactiveService = SpringUtil.getBean(IInteractiveService.class); | 
					 | 
					 | 
					 | 
					            IInteractiveService interactiveService = SpringUtil.getBean(IInteractiveService.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            R askResult = interactiveService.ask(context, sessionId, userId); | 
					 | 
					 | 
					 | 
					            R askResult = interactiveService.ask(context, sessionId, userId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            log.info("返回结果为:"+ JSON.toJSONString(askResult)); | 
					 | 
					 | 
					 | 
					            log.info("返回结果为:"+ JSON.toJSONString(askResult)); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -79,7 +80,7 @@ public class InteractiveHandler extends TextWebSocketHandler { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            FuncRouteEnum funcEnum = FuncRouteEnum.getEnumByFuncCode(funcCode); | 
					 | 
					 | 
					 | 
					            FuncRouteEnum funcEnum = FuncRouteEnum.getEnumByFuncCode(funcCode); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            switch (funcEnum) { | 
					 | 
					 | 
					 | 
					            switch (funcEnum) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                case CHOOSE_STATION: | 
					 | 
					 | 
					 | 
					                case CHOOSE_STATION: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    this.handleChooseStation(messageContext); | 
					 | 
					 | 
					 | 
					                    this.handleChooseStation(messageContext,sessionId); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    break; | 
					 | 
					 | 
					 | 
					                    break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                default: | 
					 | 
					 | 
					 | 
					                default: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    break; | 
					 | 
					 | 
					 | 
					                    break; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -87,8 +88,17 @@ public class InteractiveHandler extends TextWebSocketHandler { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void handleChooseStation(JSONObject messageContext) { | 
					 | 
					 | 
					 | 
					    private void handleChooseStation(JSONObject messageContext,String sessionId) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        IInteractiveService interactiveService = SpringUtil.getBean(IInteractiveService.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        String userId = messageContext.getString("userId"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        String funcCode = messageContext.getString("funcCode"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        StationSelectionVO selectionVO = messageContext.getObject("selection",StationSelectionVO.class); | 
					 | 
					 | 
					 | 
					        StationSelectionVO selectionVO = messageContext.getObject("selection",StationSelectionVO.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        JSONObject data = new JSONObject(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        data.put("station_id",selectionVO.getId()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        data.put("station_name",selectionVO.getName()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Map<String, Object> extra = new HashMap<>(2); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        extra.put("func",funcCode); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        extra.put("data",data); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        interactiveService.specialAsk(sessionId,userId,extra); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |