//package com.zteits.pay.allipay;
//
//import java.math.BigDecimal;
//import java.net.URLEncoder;
//import java.security.KeyFactory;
//import java.security.PrivateKey;
//import java.security.spec.PKCS8EncodedKeySpec;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import org.apache.commons.lang3.StringUtils;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.alipay.api.AlipayApiException;
//import com.alipay.api.internal.util.AlipaySignature;
//import com.clouds.common.utils.AmountUtils;
//import com.clouds.common.web.SpringContextUtil;
//import com.zteits.clouds.api.apibase.constants.OrderEnum;
//import com.zteits.clouds.api.apibase.constants.PayOrderEnum;
//import com.zteits.clouds.api.dto.pay.param.AliPayOrderRequest;
//import com.zteits.clouds.api.dto.pay.param.AlipayTradeRefundQueryRequest;
//import com.zteits.pay.util.Base64;
//import com.zteits.pay.util.PayNotifyUrl;
///**
// * 支付宝支付工具类.
// *
// * Copyright: Copyright (c) 2017 zteits
// *
// * @ClassName: AliPayUtil.java
// * @Description:
// * @version: v1.0.0
// * @author: wangfs
// * @date: 2017年5月16日 下午5:00:46
// * Modification History:
// * Date Author Version Description
// *---------------------------------------------------------*
// * 2017年5月16日 wangfs v1.0.0 创建
// */
//public class AliPayUtil {
//
// private static PayNotifyUrl payNotifyUrl;
//
// static {
// if (AliPayUtil.payNotifyUrl == null) {
// AliPayUtil.payNotifyUrl = (PayNotifyUrl)SpringContextUtil.getBean("payNotifyUrl");
// }
// }
//
//
//
// private static final Logger logger = LoggerFactory.getLogger(AliPayUtil.class);
// /**
// * 获取支付请求参数.
// * @param aliPayOrderRequest
// * @return
// * @throws Exception
// */
// public static String getPayOutMessage(AliPayOrderRequest aliPayOrderRequest) throws Exception {
// logger.info("【{}】开始获取支付请求参数AliPayUtil.getPayOutMessage()方法,入参={}",aliPayOrderRequest.getBaseRequest().getRequestId(),JSONObject.toJSON(aliPayOrderRequest).toString());
// SimpleDateFormat formart = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
// String timestamp = formart.format(new Date());
// //公共参数
// Map map = new HashMap();
// map.put("app_id", AlipayConfig.APPID);
// map.put("method", AlipayConfig.METHOD);
// map.put("format", AlipayConfig.FORMAT_JSON);
// map.put("charset", AlipayConfig.CHARSET);
// map.put("sign_type", AlipayConfig.SIGN_TYPE);
// map.put("timestamp", timestamp);
// map.put("version", AlipayConfig.VERSION);
// /**微信-购买会员卡-异步回调*/
// if(aliPayOrderRequest.getPaySrcType()==OrderEnum.ORDER_PAY_SRC_TYPE_CARD_A.value() || aliPayOrderRequest.getPaySrcType()==OrderEnum.ORDER_PAY_SRC_TYPE_CARD_M.value()){
// logger.info("购买会员卡:"+payNotifyUrl.getAlipay_paycard_notifu_url());
// map.put("notify_url", payNotifyUrl.getAlipay_paycard_notifu_url());
// }else{
// /**微信-支付停车订单-异步回调*/
// logger.info("支付停车订单:"+payNotifyUrl.getALIPAY_PAYORDER_NOTIFY_URL());
// map.put("notify_url", payNotifyUrl.getALIPAY_PAYORDER_NOTIFY_URL());
// }
// //业务参数分装
// Map bizContentMap = AliPayUtil.createOrderInfo(aliPayOrderRequest);
//
// //转换成json
// Object json ="";
// if(bizContentMap != null && bizContentMap.size() > 0){
// json = JSONArray.toJSON(bizContentMap);
// }
// //添加业务参数
// map.put("biz_content", json+"");
// String returnJson = AliPayUtil.createLinkString(map);
// logger.info("签名前 串:"+returnJson);
// //对未签名原始字符串进行签名
// String rsaSign = AliPayUtil.createSigin(returnJson, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.CHARSET);
//
//
// // returnJson+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("签名 后:"+returnJson);
//
// //最后对请求字符串的所有一级value(biz_content作为一个value)进行encode
// Map mapcode = new HashMap();
// mapcode.put("app_id", AlipayConfig.APPID);
// mapcode.put("method", AlipayConfig.METHOD);
// mapcode.put("format", AlipayConfig.FORMAT_JSON);
// mapcode.put("charset", AlipayConfig.CHARSET);
// mapcode.put("sign_type", AlipayConfig.SIGN_TYPE);
// mapcode.put("timestamp", URLEncoder.encode(timestamp,AlipayConfig.CHARSET));
// mapcode.put("version", AlipayConfig.VERSION);
//
// /**微信-购买会员卡-异步回调*/
// if(aliPayOrderRequest.getPaySrcType()==OrderEnum.ORDER_PAY_SRC_TYPE_CARD_A.value() || aliPayOrderRequest.getPaySrcType()==OrderEnum.ORDER_PAY_SRC_TYPE_CARD_M.value()){
// logger.info("购买会员卡:"+payNotifyUrl.getAlipay_paycard_notifu_url());
// mapcode.put("notify_url", URLEncoder.encode(payNotifyUrl.getAlipay_paycard_notifu_url(),AlipayConfig.CHARSET));
// }else{
// /**微信-支付停车订单-异步回调*/
// logger.info("支付停车订单:"+payNotifyUrl.getALIPAY_PAYORDER_NOTIFY_URL());
// mapcode.put("notify_url", URLEncoder.encode(payNotifyUrl.getALIPAY_PAYORDER_NOTIFY_URL(),AlipayConfig.CHARSET));
// }
//
// mapcode.put("biz_content", URLEncoder.encode(json+"",AlipayConfig.CHARSET));
//
// String returnJso2 = AliPayUtil.createLinkString(mapcode);
// // Map par = AliPayUtil.paraFilter(mapcode); //除去数组中的空值和签名参数
// //拼接
//
// returnJso2+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("【{}】编码后返回={}",aliPayOrderRequest.getBaseRequest().getRequestId(),returnJso2);
//
// logger.info("【{}】结束获取支付请求参数AliPayUtil.getPayOutMessage()方法.",aliPayOrderRequest.getBaseRequest().getRequestId());
//
// return returnJso2;
//
// }
//
// /**
// * 获取app充值支付请求参数
// * added by hxz 20170822
// * @param aliPayOrderRequest
// * @return
// * @throws Exception
// */
// public static String getAcctRechargePayOutMessage(AliPayOrderRequest aliPayOrderRequest) throws Exception {
// logger.info("【{}】开始获取支付请求参数AliPayUtil.getPayOutMessage()方法,入参={}",aliPayOrderRequest.getBaseRequest().getRequestId(),JSONObject.toJSON(aliPayOrderRequest).toString());
// SimpleDateFormat formart = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
// String timestamp = formart.format(new Date());
// //公共参数
// Map map = new HashMap();
// map.put("app_id", AlipayConfig.APPID);
// map.put("method", AlipayConfig.METHOD);
// map.put("format", AlipayConfig.FORMAT_JSON);
// map.put("charset", AlipayConfig.CHARSET);
// map.put("sign_type", AlipayConfig.SIGN_TYPE);
// map.put("timestamp", timestamp);
// map.put("version", AlipayConfig.VERSION);
// map.put("notify_url", payNotifyUrl.getALIPAY_RECHARGE_NOTIFY_URL());
//
// //业务参数分装
// Map bizContentMap = AliPayUtil.createAcctRechargeOrderInfo(aliPayOrderRequest);
//
// //转换成json
// Object json ="";
// if(bizContentMap != null && bizContentMap.size() > 0){
// json = JSONArray.toJSON(bizContentMap);
// }
// //添加业务参数
// map.put("biz_content", json + "");
// String returnJson = AliPayUtil.createLinkString(map);
// logger.info("签名前 串:"+returnJson);
// //对未签名原始字符串进行签名
// String rsaSign = AliPayUtil.createSigin(returnJson, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.CHARSET);
//
//
// // returnJson+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("签名 后:"+returnJson);
//
// //最后对请求字符串的所有一级value(biz_content作为一个value)进行encode
// Map mapcode = new HashMap();
// mapcode.put("app_id", AlipayConfig.APPID);
// mapcode.put("method", AlipayConfig.METHOD);
// mapcode.put("format", AlipayConfig.FORMAT_JSON);
// mapcode.put("charset", AlipayConfig.CHARSET);
// mapcode.put("sign_type", AlipayConfig.SIGN_TYPE);
// mapcode.put("timestamp", URLEncoder.encode(timestamp,AlipayConfig.CHARSET));
// mapcode.put("version", AlipayConfig.VERSION);
// mapcode.put("notify_url", URLEncoder.encode(payNotifyUrl.getALIPAY_RECHARGE_NOTIFY_URL(), AlipayConfig.CHARSET));
// mapcode.put("biz_content", URLEncoder.encode(json+"", AlipayConfig.CHARSET));
//
// String returnJso2 = AliPayUtil.createLinkString(mapcode);
// // Map par = AliPayUtil.paraFilter(mapcode); //除去数组中的空值和签名参数
// //拼接
//
// returnJso2+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("【{}】编码后返回={}",aliPayOrderRequest.getBaseRequest().getRequestId(),returnJso2);
//
// logger.info("【{}】结束获取支付请求参数AliPayUtil.getPayOutMessage()方法.",aliPayOrderRequest.getBaseRequest().getRequestId());
//
// return returnJso2;
// }
//
// /**
// public static String getPayOutMessage(AliPayOrderRequest aliPayOrderRequest) throws Exception {
// String returnJSON="";
// //实例化客户端
// AlipayClient alipayClient = new DefaultAlipayClient(
// AlipayConfig.METHOD,
// AlipayConfig.APPID,
// AlipayConfig.APP_PRIVATE_KEY,
// "json",
// AlipayConfig.CHARSET,
// AlipayConfig.ALIPAY_PUBLIC_KEY,
// AlipayConfig.SIGN_TYPE);
// //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
// AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
// //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
// AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
// model.setBody("我是测试数据");
// model.setSubject("任你听-停车支付");
// model.setOutTradeNo(aliPayOrderRequest.getPayOrderId());
// model.setTimeoutExpress("30m");
// model.setTotalAmount("1.00");
// model.setSellerId(AlipayConfig.PARTNER);
// model.setProductCode(AlipayConfig.PRODUCT_CODE);
// request.setNotifyUrl(AlipayConfig.SERVICE);
// request.setBizModel(model);
//
// try {
// //这里和普通的接口调用不同,使用的是sdkExecute
// AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
// returnJSON = response.getBody();//就是orderString 可以直接给客户端请求,无需再做处理。
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// return returnJSON;
// }
// **/
// /**
// * 用私钥对信息生成数字签名
// * @param params 需要在map中加入sign_type=RSA这个key-value对
// * @param privateKey
// * @param charset
// * @return
// */
// private static String createSigin(Map params,String privateKey,String charset){
// logger.info("开始生成数字签名信息..");
// String rsaSign = "";
// try {
// if(params != null && params.size() > 0){
// rsaSign = AlipaySignature.rsaSign(params, privateKey, charset);
// }else{
// logger.info("签名的数据为空,无法签名");
// throw new NullPointerException("签名的数据为空,无法签名.");
// }
//
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// logger.info("签名信息={}",rsaSign);
// logger.info("结束生成数字签名信息..");
// return rsaSign;
// }
//
//
// /**
// * 用私钥对信息生成数字签名
// * @param params 需要在map中加入sign_type=RSA这个key-value对
// * @param privateKey
// * @param charset
// * @return
// */
// @SuppressWarnings("unused")
// private static String createSigin(String params,String privateKey,String charset){
// logger.info("开始生成数字签名信息..");
// String rsaSign = "";
// try {
// if(params!=null){
// rsaSign = AlipaySignature.rsaSign(params, privateKey, charset,"RSA2");
// }else{
// logger.info("签名的数据为空,无法签名");
// throw new NullPointerException("签名的数据为空,无法签名.");
// }
//
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// logger.info("签名信息={}",rsaSign);
// logger.info("结束生成数字签名信息..");
// return rsaSign;
// }
//
// private static final String ALGORITHM = "RSA2";
//
// private static final String SIGN_ALGORITHMS = "SHA1WithRSA";
//
// private static final String DEFAULT_CHARSET = "UTF-8";
//
// public static String sign(String content, String privateKey) {
// try {
// PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(
// Base64.decode(privateKey));
// KeyFactory keyf = KeyFactory.getInstance(ALGORITHM);
// PrivateKey priKey = keyf.generatePrivate(priPKCS8);
//
// java.security.Signature signature = java.security.Signature
// .getInstance(SIGN_ALGORITHMS);
//
// signature.initSign(priKey);
// signature.update(content.getBytes(DEFAULT_CHARSET));
//
// byte[] signed = signature.sign();
//
// return Base64.encode(signed);
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// return null;
// }
//
// /**
// * 通过签名及公钥 校验数据是否改动- 同步请求时.
// * @param content 待验签字符串
// * @param sign 签名值
// * @param publicKey 验签公钥
// * @param charset 验签字符集
// * @return
// */
// public static boolean rsaCheckContent(Map content, String sign, String publicKey, String charset,String signType){
// boolean flg = false;
// try {
// //获取签名的原始数据
// String con = AliPayUtil.getSignContent(content);
// flg = AlipaySignature.rsaCheckContent(con, sign,publicKey,charset);
//
//
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// return flg;
// }
//
// /**
// * 获取签名的原始数据.
// * @param content map
// * @return
// */
// public static String getSignContent(Map content){
// String con = "";
// if(content != null && content.size() >0){
// con= AlipaySignature.getSignContent(content);
// }
// return con;
// }
//
// /**
// * 验签方法(会自动去除 sign sign_type )
// @param params 参数列表(包括待验签参数和签名值sign) key-参数名称 value-参数值
// @param publicKey 验签公钥
// @param charset 验签字符集
// **/
// public static boolean rsaCheckV1(Map params, String publicKey, String charset,String signType){
//
// boolean flg = false;
// try {
// flg = AlipaySignature.rsaCheckV1(params, publicKey, charset,signType);
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// return flg;
// }
//
// /**
// * 验签方法(例如异步通知的时候,用户需要用到验签方法)
// @param params 参数列表(包括待验签参数和签名值sign) key-参数名称 value-参数值
// @param publicKey 验签公钥
// @param charset 验签字符集
// **/
// public static boolean rsaCheckV2(Map params, String publicKey, String charset,String signType){
//
// boolean flg = false;
// try {
// flg = AlipaySignature.rsaCheckV2(params, publicKey, charset,signType);
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// return flg;
// }
//
// /**
// * 除去数组中的空值和签名参数
// * @param sArray 签名参数组
// * @return 去掉空值与签名参数后的新签名参数组
// */
// public static Map paraFilter(Map sArray) {
//
// Map result = new HashMap();
//
// if (sArray == null || sArray.size() <= 0) {
// return result;
// }
//
// for (String key : sArray.keySet()) {
// String value = sArray.get(key);
// if (value == null || value.equals("") || key.equalsIgnoreCase("sign")) {
// continue;
// }
// result.put(key, value);
// }
//
// return result;
// }
//
// /**
// * 把数组所有元素排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串
// * @param params 需要排序并参与字符拼接的参数组
// * @return 拼接后字符串
// */
// public static String createLinkString(Map params) {
// String prestr = "";
// if(params != null && params.size() >0){
// List keys = new ArrayList(params.keySet());
// Collections.sort(keys);
// for (int i = 0; i < keys.size(); i++) {
// String key = keys.get(i);
// String value = params.get(key);
//
// if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符
// prestr = prestr + key + "=" + value;
// } else {
// prestr = prestr + key + "=" + value + "&";
// }
// }
// return prestr;
// }else{
// return "";
// }
// }
//
// /**
// * 返回创建的订单信息
// * @param aliPayOrderRequest
// * @return
// */
// public static Map createOrderInfo(AliPayOrderRequest aliPayOrderRequest){
// //业务参数分装
// Map bizContentMap = new HashMap();
// if(StringUtils.isNotEmpty(aliPayOrderRequest.getBody())){
// bizContentMap.put("body", aliPayOrderRequest.getBody());
// }
// if(aliPayOrderRequest.getPaySrcType()==OrderEnum.ORDER_PAY_SRC_TYPE_CARD_A.value() ){
// bizContentMap.put("subject", "任你停-购买会员卡"/*aliPayOrderRequest.getSubject()!=null?aliPayOrderRequest.getSubject():""*/);
// }else if (aliPayOrderRequest.getPaySrcType()==OrderEnum.ORDER_PAY_SRC_TYPE_CARD_M.value()){
// bizContentMap.put("subject", "任你停-会员卡续费"/*aliPayOrderRequest.getSubject()!=null?aliPayOrderRequest.getSubject():""*/);
// }else{
// bizContentMap.put("subject", "任你停-停车支付"/*aliPayOrderRequest.getSubject()!=null?aliPayOrderRequest.getSubject():""*/);
// }
// bizContentMap.put("out_trade_no",aliPayOrderRequest.getPayOrderId());
// bizContentMap.put("total_amount", AmountUtils.changeF2Y(aliPayOrderRequest.getOrderActFee()+""));
// bizContentMap.put("seller_id", AlipayConfig.PARTNER);
// bizContentMap.put("product_code", AlipayConfig.PRODUCT_CODE);
// //临时字段,判断是否为新版PDA创建的支付单 zhaowg 2017-12-15
// String attach = "";
// if(aliPayOrderRequest.getIsNewPDACreate()!=null && aliPayOrderRequest.getIsNewPDACreate()){
// attach = "isNewPDACreate";
// }
// bizContentMap.put("passback_params", attach);
// return bizContentMap;createOrderInfo
// }
//
// /**
// * 返回创建的充值订单信息
// * added by hxz 20170822
// * @param aliPayOrderRequest
// * @return
// */
// public static Map createAcctRechargeOrderInfo(AliPayOrderRequest aliPayOrderRequest){
// //业务参数分装
// Map bizContentMap = new HashMap();
// if(StringUtils.isNotEmpty(aliPayOrderRequest.getBody())){
// bizContentMap.put("body", aliPayOrderRequest.getBody());
// }
// bizContentMap.put("subject", "手机端app充值"/*aliPayOrderRequest.getSubject()!=null?aliPayOrderRequest.getSubject():""*/);
// bizContentMap.put("out_trade_no",aliPayOrderRequest.getPayOrderId());
// bizContentMap.put("total_amount", AmountUtils.changeF2Y(aliPayOrderRequest.getOrderActFee()+""));
// bizContentMap.put("seller_id", AlipayConfig.PARTNER);
// bizContentMap.put("product_code", AlipayConfig.PRODUCT_CODE);
// return bizContentMap;
// }
//
// /**
// * 获取退款参数
// * @param aliPayOrderRequest
// * @return
// * @throws Exception
// */
// public static String getRefundMessage(AlipayTradeRefundQueryRequest alipayTradeRefundQueryRequest) throws Exception {
// logger.info("【{}】开始获取退款请求参数AliPayUtil.getRefundMessage()方法,入参={}"+ JSONObject.toJSON(alipayTradeRefundQueryRequest).toString());
// SimpleDateFormat formart = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
// String timestamp = formart.format(new Date());
// //公共参数
// Map map = new HashMap();
// map.put("app_id", AlipayConfig.APPID);
// map.put("method", AlipayConfig.METHOD_REFUND);
// map.put("format", AlipayConfig.FORMAT_JSON);
// map.put("charset", AlipayConfig.CHARSET);
// map.put("sign_type", AlipayConfig.SIGN_TYPE);
// map.put("timestamp", timestamp);
// map.put("version", AlipayConfig.VERSION);
//
// //业务参数分装
// Map bizContentMap = new HashMap();
// bizContentMap.put("out_trade_no","");//订单支付时传入的商户订单号,不能和 trade_no同时为空
// // bizContentMap.put("trade_no", value);//支付宝交易号,和商户订单号不能同时为空
// bizContentMap.put("refund_amount", "");//需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
// bizContentMap.put("refund_reason", "");// 可选 256 退款的原因说明
// bizContentMap.put("out_request_no ", "");//标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传
// //转换成json
// Object json =JSONArray.toJSON(bizContentMap);
// //添加业务参数
// map.put("biz_content", json+"");
// String returnJson = AliPayUtil.createLinkString(map);
// logger.info("签名前 串:"+returnJson);
// //对未签名原始字符串进行签名
// String rsaSign = AliPayUtil.createSigin(returnJson, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.CHARSET);
// logger.info("签名 后:"+returnJson);
//
// //最后对请求字符串的所有一级value(biz_content作为一个value)进行encode
// Map mapcode = new HashMap();
// mapcode.put("app_id", AlipayConfig.APPID);
// mapcode.put("method", AlipayConfig.METHOD_REFUND);
// mapcode.put("format", AlipayConfig.FORMAT_JSON);
// mapcode.put("charset", AlipayConfig.CHARSET);
// mapcode.put("sign_type", AlipayConfig.SIGN_TYPE);
// mapcode.put("timestamp", URLEncoder.encode(timestamp,AlipayConfig.CHARSET));
// mapcode.put("version", AlipayConfig.VERSION);
// mapcode.put("biz_content", URLEncoder.encode(json+"",AlipayConfig.CHARSET));
//
// String returnJso2 = AliPayUtil.createLinkString(mapcode);
// returnJso2+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("发起退款参数"+returnJso2);
// return returnJso2;
//
// }
//
// public static void main(String[] args) throws Exception {
//
// //Map map = new HashMap();
// //map.put("a", "123");
// //map.put("app_id", APPID);
// //String sigin = AlipayJavaSDK.sigin(map, APP_PRIVATE_KEY, CHARSET);
// //System.out.println(sigin);
// AliPayOrderRequest aliPayOrderRequest = new AliPayOrderRequest();
// aliPayOrderRequest.setBody("手机端发起支付");
// aliPayOrderRequest.setSubject("车辆支付订单");
// aliPayOrderRequest.setParkOrderId("1000112");
// aliPayOrderRequest.setOrderActFee(BigDecimal.valueOf(Double.parseDouble("0.01")));
// String json = AliPayUtil.getPayOutMessage(aliPayOrderRequest);
// System.out.println("==json=="+json);
//
//
// }
//
// /**
// * 获取补缴请求参数.
// * @param aliPayOrderRequest
// * @return
// * @throws Exception
// */
// public static String getPayBackMessage(AliPayOrderRequest aliPayOrderRequest) throws Exception {
// logger.info("【{}】开始获取支付请求参数AliPayUtil.getPayOutMessage()方法,入参={}",aliPayOrderRequest.getBaseRequest().getRequestId(),JSONObject.toJSON(aliPayOrderRequest).toString());
// SimpleDateFormat formart = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
// String timestamp = formart.format(new Date());
// //公共参数
// Map map = new HashMap();
// map.put("app_id", AlipayConfig.APPID);
// map.put("method", AlipayConfig.METHOD);
// map.put("format", AlipayConfig.FORMAT_JSON);
// map.put("charset", AlipayConfig.CHARSET);
// map.put("sign_type", AlipayConfig.SIGN_TYPE);
// map.put("timestamp", timestamp);
// map.put("version", AlipayConfig.VERSION);
// /**微信-支付停车订单补缴-异步回调*/
// logger.info("补缴订单:"+payNotifyUrl.getALIPAY_PAYBACK_NOTIFY_URL());
// map.put("notify_url", payNotifyUrl.getALIPAY_PAYBACK_NOTIFY_URL());
// //业务参数分装
// Map bizContentMap = AliPayUtil.createOrderBackInfo(aliPayOrderRequest);
//
// //转换成json
// Object json ="";
// if(bizContentMap != null && bizContentMap.size() > 0){
// json = JSONArray.toJSON(bizContentMap);
// }
// //添加业务参数
// map.put("biz_content", json+"");
// String returnJson = AliPayUtil.createLinkString(map);
// logger.info("签名前 串:"+returnJson);
// //对未签名原始字符串进行签名
// String rsaSign = AliPayUtil.createSigin(returnJson, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.CHARSET);
//
//
// // returnJson+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("签名 后:"+returnJson);
//
// //最后对请求字符串的所有一级value(biz_content作为一个value)进行encode
// Map mapcode = new HashMap();
// mapcode.put("app_id", AlipayConfig.APPID);
// mapcode.put("method", AlipayConfig.METHOD);
// mapcode.put("format", AlipayConfig.FORMAT_JSON);
// mapcode.put("charset", AlipayConfig.CHARSET);
// mapcode.put("sign_type", AlipayConfig.SIGN_TYPE);
// mapcode.put("timestamp", URLEncoder.encode(timestamp,AlipayConfig.CHARSET));
// mapcode.put("version", AlipayConfig.VERSION);
//
// /**微信-支付停车订单-异步回调*/
// logger.info("支付停车订单:"+payNotifyUrl.getALIPAY_PAYBACK_NOTIFY_URL());
// mapcode.put("notify_url", URLEncoder.encode(payNotifyUrl.getALIPAY_PAYBACK_NOTIFY_URL(),AlipayConfig.CHARSET));
//
// mapcode.put("biz_content", URLEncoder.encode(json+"",AlipayConfig.CHARSET));
//
// String returnJso2 = AliPayUtil.createLinkString(mapcode);
// // Map par = AliPayUtil.paraFilter(mapcode); //除去数组中的空值和签名参数
// //拼接
//
// returnJso2+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("【{}】编码后返回={}",aliPayOrderRequest.getBaseRequest().getRequestId(),returnJso2);
//
// logger.info("【{}】结束获取支付请求参数AliPayUtil.getPayOutMessage()方法.",aliPayOrderRequest.getBaseRequest().getRequestId());
//
// return returnJso2;
//
// }
//
// /**
// * 返回创建的订单信息
// * @param aliPayOrderRequest
// * @return
// */
// public static Map createOrderBackInfo(AliPayOrderRequest aliPayOrderRequest){
// //业务参数分装
// Map bizContentMap = new HashMap();
// if(StringUtils.isNotEmpty(aliPayOrderRequest.getBody())){
// bizContentMap.put("body", aliPayOrderRequest.getBody());
// }
// bizContentMap.put("subject", "任你停-欠费补缴"/*aliPayOrderRequest.getSubject()!=null?aliPayOrderRequest.getSubject():""*/);
// bizContentMap.put("out_trade_no",aliPayOrderRequest.getPayOrderId());
// bizContentMap.put("total_amount", AmountUtils.changeF2Y(aliPayOrderRequest.getOrderActFee()+""));
// bizContentMap.put("seller_id", AlipayConfig.PARTNER);
// bizContentMap.put("product_code", AlipayConfig.PRODUCT_CODE);
// //临时字段,判断是否为新版PDA创建的支付单 zhaowg 2017-12-15
// String attach = "";
// if(aliPayOrderRequest.getIsNewPDACreate()!=null && aliPayOrderRequest.getIsNewPDACreate()){
// attach = "isNewPDACreate";
// }
// bizContentMap.put("passback_params", attach);
// return bizContentMap;
// }
//
//
// /**
// * 获取会员卡支付请求参数.
// * @param aliPayOrderRequest
// * @return
// * @throws Exception
// */
// public static String getPayVipCardMessage(AliPayOrderRequest aliPayOrderRequest) throws Exception {
// logger.info("【{}】开始获取支付请求参数AliPayUtil.getPayVipCardMessage()方法,入参={}",aliPayOrderRequest.getBaseRequest().getRequestId(),JSONObject.toJSON(aliPayOrderRequest).toString());
// SimpleDateFormat formart = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
// String timestamp = formart.format(new Date());
// //公共参数
// Map map = new HashMap();
// map.put("app_id", AlipayConfig.APPID);
// map.put("method", AlipayConfig.METHOD);
// map.put("format", AlipayConfig.FORMAT_JSON);
// map.put("charset", AlipayConfig.CHARSET);
// map.put("sign_type", AlipayConfig.SIGN_TYPE);
// map.put("timestamp", timestamp);
// map.put("version", AlipayConfig.VERSION);
// /**微信-会员卡-异步回调*/
// logger.info("会员卡订单:"+payNotifyUrl.getAlipay_vipcard_notifu_url());
// map.put("notify_url", payNotifyUrl.getAlipay_vipcard_notifu_url());
// //业务参数分装
// Map bizContentMap = AliPayUtil.createOrderVipCardInfo(aliPayOrderRequest);
//
// //转换成json
// Object json ="";
// if(bizContentMap != null && bizContentMap.size() > 0){
// json = JSONArray.toJSON(bizContentMap);
// }
// //添加业务参数
// map.put("biz_content", json+"");
// String returnJson = AliPayUtil.createLinkString(map);
// logger.info("签名前 串:"+returnJson);
// //对未签名原始字符串进行签名
// String rsaSign = AliPayUtil.createSigin(returnJson, AlipayConfig.APP_PRIVATE_KEY, AlipayConfig.CHARSET);
//
//
// // returnJson+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("签名 后:"+returnJson);
//
// //最后对请求字符串的所有一级value(biz_content作为一个value)进行encode
// Map mapcode = new HashMap();
// mapcode.put("app_id", AlipayConfig.APPID);
// mapcode.put("method", AlipayConfig.METHOD);
// mapcode.put("format", AlipayConfig.FORMAT_JSON);
// mapcode.put("charset", AlipayConfig.CHARSET);
// mapcode.put("sign_type", AlipayConfig.SIGN_TYPE);
// mapcode.put("timestamp", URLEncoder.encode(timestamp,AlipayConfig.CHARSET));
// mapcode.put("version", AlipayConfig.VERSION);
//
// /**微信-支付停车订单-异步回调*/
// logger.info("支付停车订单:"+payNotifyUrl.getAlipay_vipcard_notifu_url());
// mapcode.put("notify_url", URLEncoder.encode(payNotifyUrl.getAlipay_vipcard_notifu_url(),AlipayConfig.CHARSET));
//
// mapcode.put("biz_content", URLEncoder.encode(json+"",AlipayConfig.CHARSET));
//
// String returnJso2 = AliPayUtil.createLinkString(mapcode);
// // Map par = AliPayUtil.paraFilter(mapcode); //除去数组中的空值和签名参数
// //拼接
//
// returnJso2+="&sign=" + URLEncoder.encode(rsaSign, "UTF-8");
// logger.info("【{}】编码后返回={}",aliPayOrderRequest.getBaseRequest().getRequestId(),returnJso2);
//
// logger.info("【{}】结束获取支付请求参数AliPayUtil.getPayOutMessage()方法.",aliPayOrderRequest.getBaseRequest().getRequestId());
//
// return returnJso2;
//
// }
//
// /**
// * 返回创建的订单信息
// * @param aliPayOrderRequest
// * @return
// */
// public static Map createOrderVipCardInfo(AliPayOrderRequest aliPayOrderRequest){
// //业务参数分装
// Map bizContentMap = new HashMap();
// if(StringUtils.isNotEmpty(aliPayOrderRequest.getBody())){
// bizContentMap.put("body", aliPayOrderRequest.getBody());
// }
// if(PayOrderEnum.PAY_RESOURCE_TYPE_VIP.getValue().equals(aliPayOrderRequest.getPaySrcType()+"")){
// bizContentMap.put("subject", "任你停-购买会员卡");
// }else{
// bizContentMap.put("subject", "任你停-会员卡续费");
// }
// bizContentMap.put("out_trade_no",aliPayOrderRequest.getPayOrderId());
// bizContentMap.put("total_amount", AmountUtils.changeF2Y(aliPayOrderRequest.getOrderActFee()+""));
// bizContentMap.put("seller_id", AlipayConfig.PARTNER);
// bizContentMap.put("product_code", AlipayConfig.PRODUCT_CODE);
// //临时字段,判断是否为新版PDA创建的支付单 zhaowg 2017-12-15
// String attach = "";
// if(aliPayOrderRequest.getIsNewPDACreate()!=null && aliPayOrderRequest.getIsNewPDACreate()){
// attach = "isNewPDACreate";
// }
// bizContentMap.put("passback_params", attach);
// return bizContentMap;
// }
//
//}