1.map入参形式及数据格式
2.远程服务端接受参数形式
/**
* 离店接口,客户办理离店PMS调用此接口,发起对携程离店通知
* @param
* @return
*/
@Path("checkout")
@POST
@Produces("text/xml;charset=UTF-8")
public String orderCheckOut(MultivaluedMap<String, String> param) {
PMSResult result = new PMSResult();
logger.info("param" + param);
if ("2".equals(ServerConfig.getValue("EMERGENCY_HANDLE"))) {
return "0";
} else {
ResponseToken otaResponseToken=null;
OTACtripOrder otaCtripOrder=null;
String orderId="";
String hotelId="";
ArrayOfOrderApplyPaymentRequest payreqsv = new ArrayOfOrderApplyPaymentRequest();
//根据订单号查询switch库携程订单表,如果订单不存在调用直连中的(携程预授权通知扣款接口)rpc调用
if (param != null && !StringUtil.isEmpty(param.getFirst("orderId")) && !StringUtil.isEmpty(param.getFirst("hotelId"))
&& !StringUtil.isEmpty(param.get("orderApplyPaymentRequest"))){
String[] payrequest = param.getFirst("orderApplyPaymentRequest").toString().split(";");
for (String applyPaymentRequest : payrequest) {
String[] payRequestArray = applyPaymentRequest.split(",");
OrderApplyPaymentRequest payRequest = new OrderApplyPaymentRequest(param.getFirst("hotelId").toString()+"_"+payRequestArray[0],
BigDecimal.valueOf(new Double(payRequestArray[1])), payRequestArray[2], payRequestArray[3],
payRequestArray[4], payRequestArray[5], payRequestArray[6]);
payreqsv.getOrderApplyPaymentRequest().add(payRequest);
}
orderId = param.getFirst("orderId");//这个是携程的订单号
hotelId = param.getFirst("hotelId");//这个是pms的酒店id
otaCtripOrder = getOTACtripOrder(hotelId,orderId);
}else {
logger.debug("参数为空------订单号:"+orderId+" ,酒店编号:"+hotelId);
}
if (otaCtripOrder