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