/**
	 * 
	 * @创建人: yinxm
	 * @时间 : 2014-05-13 11:52:23 
	 * @功能 : TODO 1.2.2 对B2C请求支付参数 进行签名加密处理
	 * @param orgceb 银行Bean
	 * @param orderData		支付参数Bean
	 * @return Map "rtn" rtn[0]000:请求成功;rtn[1]支付地址	"parmsRequestMap" 支付请求参数	
	 */
	private Map<String, Object> paySignB2C(EcOrgCeb orgceb,CEBPayData orderData) {
		if(log.isDebugEnabled()) {log.debug("【paySignB2C");}
		String rtn[] = new String[]{"999",""};
		Map<String, Object>  rtnMap  = new HashMap<String, Object>();
		//组织plain
		StringBuffer sb = new StringBuffer();

		String plainXsm = null;	//明文
		String signXsm = null;		//密文
		String payUrl = null;	//支付请求地址
		//向银行请求的参数
		Map<String,String> parmsRequestMap = new HashMap<String,String>();
		
		try {
			
/*******组织签名数据*****************/						


//	transId	交易代码 Char4  IPER/EPER 
//	merchantId	商户代码  Char12 
//	orderId	订单号Char  30 
//	transAmt	交易金额Decimal 13,2 
//	transDateTime	交易时间Char14 
//	currencyType	币种Char2 
//	customerName	订货人姓名Char  25    (非必输) 
//	merSecName	二级商户Char30 二级商户名称(非必输) 
//	productInfo	商品信息Char30  商户信息描述(非必输) 
//	customerEMail	订货人EMAIL  Char  60    (非必输) 
//	merURL	商户URL Char  256    用于后台通知商户 
//	merURL1	商户URL1Char  256    用于后台通知商户失败或者默认情况下,引导客户回商户页面支付地址 
//	payIp	Char  64    客户在商户网站上生成订单时的客户IP(非必输) 
//	msgExt	附加信息Char  30(非必输) 

			sb.append("transId=").append(orderData.getTransid());
			sb.append("~|~").append("merchantId=").append(orderData.getMerchantid());
			sb.append("~|~").append("orderId=").append(orderData.getOrderid());
			sb.append("~|~").append("transAmt=").append(orderData.getTransamt());
			sb.append("~|~").append("transDateTime=").append(orderData.getTransdatetime());
			sb.append("~|~").append("currencyType=").append(orderData.getCurrencytype());
			sb.append("~|~").append("customerName=").append(orderData.getCustomername());
			sb.append("~|~").append("merSecName=").append(orderData.getMersecname());
			sb.append("~|~").append("productInfo=").append(orderData.getProductinfo());
			sb.append("~|~").append("customerEMail=").append(orderData.getCustomeremail());
			sb.append("~|~").append("merURL=").append(orderData.getMerurl());
			sb.append("~|~").append("merURL1=").append(orderData.getMerurl1());
			sb.append("~|~").append("payIp=").append(orderData.getPayip());
			sb.append("~|~").append("msgExt=").append(orderData.getMsgext());

	/*******组织请求支付传送参数*****************/
			String TransName = "";		//IPER 
			String Plain = "";		//明文 
			String Signature = "";		//密文 

			parmsRequestMap.put("TransName", TransName);
			parmsRequestMap.put("Plain", Plain);
			parmsRequestMap.put("Signature", Signature);

	

			plainXsm = sb.toString();
if (log.isDebugEnabled()) {log.debug("明文plainXsm="+plainXsm);	}	//调试用,上线后注释掉
			try {
					signXsm = Tool.sign(plainXsm);
				} catch (Exception e) {
					if (log.isDebugEnabled()) {	log.error("签名数据出错!");	}
					logException(e);
					throw new RuntimeException(e);
				}
			
if (log.isDebugEnabled()) {log.debug("密文signXsm="+signXsm);}	//调试用,上线后注释掉

			payUrl = orgceb.getPayUrl();	//从  光大银行 银行表中记录请求支付地址
			if (payUrl == null || payUrl.equals("")){
				rtn[0] = "999";
			} else {
				rtn[0] = "000";		//组织请求数据签名成功
				rtn[1] = payUrl;	//记录请求支付地址
			}
		} catch (Exception e) {
			rtn[0] = "999";
			rtn[1] = "";
			if (log.isDebugEnabled()) {	log.debug("获取支付地址或者签名数据出错");}
			logException(e);
		}
	
		rtnMap.put("rtn", rtn);
		rtnMap.put("parmsRequestMap", parmsRequestMap);
		
		if(log.isDebugEnabled()) {log.debug("paySignB2C】");}
		return rtnMap;
	}