Forráskód Böngészése

카카오 버그수정

pangs 6 éve
szülő
commit
f3941f40f8

+ 29 - 29
src/main/java/com/icontrols/kakao/controller/AuthController.java

@@ -39,35 +39,35 @@ public class AuthController {
 	@RequestMapping(value = "/kakao/test", method = RequestMethod.POST, consumes = "application/json")
 	public @ResponseBody Map<String, Object> test(@RequestBody Map<String, Object> body) throws Exception {
 		
-//		ThingsInfo[] list = {new ThingsInfo("temper_5", "temper" , "802", "1103"),
-//		 new ThingsInfo("light02_4", "light02" , "802", "1103"),
-//		 new ThingsInfo("light03_3", "light03" , "802", "1103"),
-//		 new ThingsInfo("temper_4", "temper" , "802", "1103"),    
-//		 new ThingsInfo("light01_4", "light01" , "802", "1103"),        
-//		 new ThingsInfo("light02_3", "light02" , "802", "1103"),        
-//		 new ThingsInfo("light03_2", "light03" , "802", "1103"),        
-//		 new ThingsInfo("temper_3", "temper" , "802", "1103"),        
-//		 new ThingsInfo("ventil_1", "ventil" , "802", "1103"),   
-//		 new ThingsInfo("temper_2", "temper" , "802", "1103"),   
-//		 new ThingsInfo("temper_1", "temper" , "802", "1103"),   
-//		 new ThingsInfo("light01_1", "light01" , "802", "1103"),   
-//		 new ThingsInfo("light01_3", "light01" , "802", "1103"),   
-//		 new ThingsInfo("light02_2", "light02" , "802", "1103"),   
-//		 new ThingsInfo("light03_1", "light03" , "802", "1103"),   
-//		 new ThingsInfo("livinglight_1", "livinglight" , "802", "1103"),       
-//		 new ThingsInfo("light01_2", "light01" , "802", "1103"),       
-//		 new ThingsInfo("light02_1", "light02" , "802", "1103"),       
-//		 new ThingsInfo("gas_1", "gas" , "802", "1103"),       
-//		 new ThingsInfo("livinglight_2", "livinglight" , "802", "1103"),       
-//		 new ThingsInfo("livinglight_3", "livinglight" , "802", "1103"),       
-//		 new ThingsInfo("livinglight_4", "livinglight" , "802", "1103"),       
-//		 new ThingsInfo("livinglight_5", "livinglight" , "802", "1103"),
-//		 new ThingsInfo("ElevatorCaller", "elevator" , "802", "1103")};
-//		
-//		
-//		for(ThingsInfo info:list) {
-//			thingsRepo.save(info);
-//		}
+		ThingsInfo[] list = {new ThingsInfo("temper_5", "temper" , "802", "1103"),
+		 new ThingsInfo("light02_4", "light02" , "802", "1103"),
+		 new ThingsInfo("light03_3", "light03" , "802", "1103"),
+		 new ThingsInfo("temper_4", "temper" , "802", "1103"),    
+		 new ThingsInfo("light01_4", "light01" , "802", "1103"),        
+		 new ThingsInfo("light02_3", "light02" , "802", "1103"),        
+		 new ThingsInfo("light03_2", "light03" , "802", "1103"),        
+		 new ThingsInfo("temper_3", "temper" , "802", "1103"),        
+		 new ThingsInfo("ventil_1", "ventil" , "802", "1103"),   
+		 new ThingsInfo("temper_2", "temper" , "802", "1103"),   
+		 new ThingsInfo("temper_1", "temper" , "802", "1103"),   
+		 new ThingsInfo("light01_1", "light01" , "802", "1103"),   
+		 new ThingsInfo("light01_3", "light01" , "802", "1103"),   
+		 new ThingsInfo("light02_2", "light02" , "802", "1103"),   
+		 new ThingsInfo("light03_1", "light03" , "802", "1103"),   
+		 new ThingsInfo("livinglight_1", "livinglight" , "802", "1103"),       
+		 new ThingsInfo("light01_2", "light01" , "802", "1103"),       
+		 new ThingsInfo("light02_1", "light02" , "802", "1103"),       
+		 new ThingsInfo("gas_1", "gas" , "802", "1103"),       
+		 new ThingsInfo("livinglight_2", "livinglight" , "802", "1103"),       
+		 new ThingsInfo("livinglight_3", "livinglight" , "802", "1103"),       
+		 new ThingsInfo("livinglight_4", "livinglight" , "802", "1103"),       
+		 new ThingsInfo("livinglight_5", "livinglight" , "802", "1103"),
+		 new ThingsInfo("ElevatorCaller", "elevator" , "802", "1103")};
+		
+		
+		for(ThingsInfo info:list) {
+			thingsRepo.save(info);
+		}
 		
 		
 		logger.info("kakao test --<>>>>>");

+ 24 - 14
src/main/java/com/icontrols/kakao/service/impl/KakaoExtensionServiceImpl.java

@@ -2,10 +2,8 @@ package com.icontrols.kakao.service.impl;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.CompletableFuture;
 
 import javax.annotation.Resource;
 
@@ -27,6 +25,7 @@ import com.icontrols.kakao.service.KakaoExtensionService;
 import com.icontrols.kakao.socket.wallpad.KakaoMsgHandler;
 import com.icontrols.kakao.socket.wallpad.WallpadMsgSender;
 
+
 @Service
 public class KakaoExtensionServiceImpl implements KakaoExtensionService {
 	private final Logger logger = LoggerFactory.getLogger(KakaoExtensionService.class);
@@ -128,10 +127,13 @@ public class KakaoExtensionServiceImpl implements KakaoExtensionService {
 		logger.debug(allDeviceMap.toString());
 		try {
 			if(endpointIds == null) {
-				body.clear();
-				body.put(KEY_INFO.HTTP_KEY_ERROR,KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_INVALID_REQ));
-				param.put(KEY_INFO.HTTP_KEY_BODY, body);
+				param.remove(KEY_INFO.HTTP_KEY_BODY);
 				
+				Map<String, Object> errMap = new HashMap<String, Object>();
+				errMap.put(KEY_INFO.HTTP_KEY_ERROR,KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_INVALID_REQ));
+
+				param.putAll(errMap);
+				logger.error("[ERROR] - INVALID REQ _01");
 				return param;
 			}
 			
@@ -140,9 +142,12 @@ public class KakaoExtensionServiceImpl implements KakaoExtensionService {
 				// 없으면 endpointId가 잘못된것 -203 에러를 뱉자.
 				List<ThingsInfo> thingsInfoList = thingsInfoRepository.findByDongAndHoAndEndpointId(Integer.toString(dong), Integer.toString(ho), endpointId);
 				if(thingsInfoList == null || thingsInfoList.size() == 0) {
-					body.clear();
-					body.put(KEY_INFO.HTTP_KEY_ERROR,KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_NONEXIST));
-					param.put(KEY_INFO.HTTP_KEY_BODY, body);
+					param.remove(KEY_INFO.HTTP_KEY_BODY);
+					
+					Map<String, Object> errMap = new HashMap<String, Object>();
+					errMap.put(KEY_INFO.HTTP_KEY_ERROR,KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_NONEXIST));
+
+					param.putAll(errMap);
 					
 					return param;
 				}
@@ -167,9 +172,13 @@ public class KakaoExtensionServiceImpl implements KakaoExtensionService {
 			body.putAll(retMap);
 			param.put(KEY_INFO.HTTP_KEY_UNREACHABLEIDS, unreachableIds);
 		}catch(Exception e) {
-			body.clear();
-			body.put(KEY_INFO.HTTP_KEY_ERROR,KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_INTERNAL));
-			param.put(KEY_INFO.HTTP_KEY_BODY, body);
+			param.remove(KEY_INFO.HTTP_KEY_BODY);
+			
+			Map<String, Object> errMap = new HashMap<String, Object>();
+			errMap.put(KEY_INFO.HTTP_KEY_ERROR,KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_INTERNAL));
+
+			param.putAll(errMap);
+			
 			e.printStackTrace();
 			return param;
 		}
@@ -196,6 +205,8 @@ public class KakaoExtensionServiceImpl implements KakaoExtensionService {
 		String endpointId = (String)body.get(KEY_INFO.BODY_KEY_ENDPOINT_ID);
 		String capabilityName = (String)body.get(KEY_INFO.BODY_KEY_CAPABILITY_NAME);
 		
+		logger.debug("[UPDATE] - " + body.toString());
+		
 		List<ThingsInfo> thingsInfoList = thingsInfoRepository.findByDongAndHoAndEndpointId(Integer.toString(dong), Integer.toString(ho), endpointId);
 		if(thingsInfoList == null || thingsInfoList.size() == 0) {
 			retMap = new HashMap<String, Object>();
@@ -206,10 +217,9 @@ public class KakaoExtensionServiceImpl implements KakaoExtensionService {
 		
 		if(retMap.containsKey(KEY_INFO.HTTP_KEY_ERROR)) {
 			param.remove(KEY_INFO.HTTP_KEY_BODY);
-			param.put(KEY_INFO.HTTP_KEY_BODY, retMap);
+			param.putAll(retMap);
 		}
-		else
-			param.put(KEY_INFO.HTTP_KEY_BODY, kMsgHandler.sendDeviceAction(dong, ho, endpointId, capabilityName, desired));
+
 		return param;
 	}
 }

+ 2 - 0
src/main/java/com/icontrols/kakao/socket/wallpad/KakaoMsgHandler.java

@@ -307,12 +307,14 @@ public class KakaoMsgHandler {
 		
 		if(things == null) {
 			retMap.put(KEY_INFO.HTTP_KEY_ERROR, KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_INVALID_REQ));
+			logger.error("[ERROR] - things null ==> INVALID REQ");
 			return retMap;
 		}
 		String action = KakaoMsgHandler.setDeviceActionStr(modelId, actionName, desired);
 		
 		if(action.length() == 0) {
 			retMap.put(KEY_INFO.HTTP_KEY_ERROR, KAKAO_RESULT.getErrorInfo(KAKAO_RESULT.FAIL_INVALID_REQ));
+			logger.error("[ERROR] - actions length --> 0 IVALID REQ " );
 			return retMap;
 		}
 		

+ 1 - 1
src/main/resources/logback-spring.xml

@@ -20,7 +20,7 @@
         </encoder>
     </appender>
 
-    <logger name="com.icontrols.kakao" level="INFO"></logger>
+    <logger name="com.icontrols.kakao" level="DEBUG"></logger>
 
     <root level="INFO">
         <appender-ref ref="dailyRollingFileAppender" />