java 后端rpc调用接口以map作为入参传值

本文探讨了在Java后端RPC调用中如何使用Map作为接口入参进行值传递,详细解析了Map入参的数据格式以及远程服务端接收参数的方式。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值