lc/lc123/cloud/app/api/plugin/WMSApiSerializerPlugin.java

59 lines
2.5 KiB
Java
Raw Normal View History

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;
}
}