59 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Java
		
	
	
	
| package tqq9.lc123.cloud.app.api.plugin;
 | |
| 
 | |
| import kd.bos.logging.Log;
 | |
| import kd.bos.logging.LogFactory;
 | |
| 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;
 | |
| 
 | |
| import java.util.HashMap;
 | |
| import java.util.Map;
 | |
| 
 | |
| public class WMSApiSerializerPlugin implements ApiSerializerPlugin {
 | |
|     private final static Log logger = LogFactory.getLog(WMSApiSerializerPlugin.class);
 | |
| 
 | |
|     @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();
 | |
|                 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;
 | |
|                 }
 | |
| 
 | |
|             }
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| }
 | |
| 
 |