| 
									
										
										
										
											2025-09-29 09:40:02 +00:00
										 |  |  | package tqq9.lc123.cloud.app.api.plugin;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-25 02:24:06 +00:00
										 |  |  | import kd.bos.logging.Log;
 | 
					
						
							|  |  |  | import kd.bos.logging.LogFactory;
 | 
					
						
							| 
									
										
										
										
											2025-09-29 09:40:02 +00:00
										 |  |  | import kd.bos.openapi.api.plugin.ApiSerializerPlugin;
 | 
					
						
							|  |  |  | import kd.bos.openapi.api.plugin.SerializerResult;
 | 
					
						
							|  |  |  | import kd.bos.openapi.common.result.OpenApiResult;
 | 
					
						
							|  |  |  | import tqq9.lc123.cloud.app.api.model.WMSXmlReturn;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-25 02:24:06 +00:00
										 |  |  | import java.util.HashMap;
 | 
					
						
							|  |  |  | import java.util.Map;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-29 09:40:02 +00:00
										 |  |  | public class WMSApiSerializerPlugin implements ApiSerializerPlugin {
 | 
					
						
							| 
									
										
										
										
											2025-10-25 02:24:06 +00:00
										 |  |  |     private final static Log logger = LogFactory.getLog(WMSApiSerializerPlugin.class);
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-29 09:40:02 +00:00
										 |  |  |     @Override
 | 
					
						
							|  |  |  |     public SerializerResult serialize(Object response, String accept, String contentTyp){
 | 
					
						
							|  |  |  |         if (contentTyp.contains("xml")) {
 | 
					
						
							|  |  |  |             OpenApiResult openApiResult = (OpenApiResult) response;
 | 
					
						
							|  |  |  |             Object data = openApiResult.getData();
 | 
					
						
							|  |  |  |             if(data!=null){
 | 
					
						
							|  |  |  |                 String errorCode = openApiResult.getErrorCode();
 | 
					
						
							| 
									
										
										
										
											2025-10-25 02:24:06 +00:00
										 |  |  |                 if(data instanceof Map){
 | 
					
						
							|  |  |  |                     HashMap data1 = (HashMap) data;
 | 
					
						
							|  |  |  |                     logger.info("WMSApiSerializerPlugin map"+data1.toString());
 | 
					
						
							|  |  |  |                     HashMap<String, Object> response1 = (HashMap<String, Object>) data1.get("response");
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     StringBuilder sb = new StringBuilder();
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     // 构建 XML 格式的字符串
 | 
					
						
							|  |  |  |                     sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
 | 
					
						
							|  |  |  |                     sb.append("<response>\n");
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     sb.append("<flag>").append(response1.get("flag").toString()).append("</flag>\n");
 | 
					
						
							|  |  |  |                     sb.append("<code>").append(response1.get("code").toString()).append("</code>\n");
 | 
					
						
							|  |  |  |                     sb.append("<message>").append(response1.get("message").toString()).append("</message>\n");
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     sb.append("</response>");
 | 
					
						
							|  |  |  |                     logger.info("WMSApiSerializerPlugin map"+sb.toString());
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     SerializerResult serializerResult = new SerializerResult(contentTyp,sb.toString());
 | 
					
						
							|  |  |  |                     return serializerResult;
 | 
					
						
							|  |  |  |                 }else{
 | 
					
						
							|  |  |  |                     WMSXmlReturn wmsXmlReturn = (WMSXmlReturn) data;
 | 
					
						
							|  |  |  |                     WMSXmlReturn.Response response1 = wmsXmlReturn.getResponse();
 | 
					
						
							|  |  |  |                     response1.setCode(errorCode);
 | 
					
						
							|  |  |  |                     SerializerResult serializerResult = new SerializerResult(contentTyp,response1.toString());
 | 
					
						
							|  |  |  |                     logger.info("WMSApiSerializerPlugin map"+response1.toString());
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     return serializerResult;
 | 
					
						
							|  |  |  |                 }
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-29 09:40:02 +00:00
										 |  |  |             }
 | 
					
						
							|  |  |  |         }
 | 
					
						
							|  |  |  |         return null;
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | }
 | 
					
						
							|  |  |  | 
 |