reformat code for PayService

This commit is contained in:
Binary Wang 2016-12-12 13:52:34 +08:00
parent 79bee7dbee
commit 5224f342ed
2 changed files with 96 additions and 119 deletions

View File

@ -30,9 +30,8 @@ public interface WxMpPayService {
* 接口地址https://api.mch.weixin.qq.com/pay/orderquery * 接口地址https://api.mch.weixin.qq.com/pay/orderquery
* </pre> * </pre>
* *
* @param transactionId 微信支付分配的商户 * @param transactionId 微信订单
* @param outTradeNo 商户系统内部的订单号当没提供transaction_id时需要传这个 * @param outTradeNo 商户系统内部的订单号当没提供transaction_id时需要传这个
* @throws WxErrorException
*/ */
WxPayOrderQueryResult queryOrder(String transactionId, String outTradeNo) throws WxErrorException; WxPayOrderQueryResult queryOrder(String transactionId, String outTradeNo) throws WxErrorException;
@ -49,7 +48,6 @@ public interface WxMpPayService {
* </pre> * </pre>
* *
* @param outTradeNo 商户系统内部的订单号当没提供transaction_id时需要传这个 * @param outTradeNo 商户系统内部的订单号当没提供transaction_id时需要传这个
* @throws WxErrorException
*/ */
WxPayOrderCloseResult closeOrder(String outTradeNo) throws WxErrorException; WxPayOrderCloseResult closeOrder(String outTradeNo) throws WxErrorException;
@ -59,7 +57,6 @@ public interface WxMpPayService {
* 接口地址https://api.mch.weixin.qq.com/pay/unifiedorder * 接口地址https://api.mch.weixin.qq.com/pay/unifiedorder
* *
* @param request 请求对象注意一些参数如appidmchid等不用设置方法内会自动从配置对象中获取到前提是对应配置中已经设置 * @param request 请求对象注意一些参数如appidmchid等不用设置方法内会自动从配置对象中获取到前提是对应配置中已经设置
* @throws WxErrorException
*/ */
WxPayUnifiedOrderResult unifiedOrder(WxPayUnifiedOrderRequest request) throws WxErrorException; WxPayUnifiedOrderResult unifiedOrder(WxPayUnifiedOrderRequest request) throws WxErrorException;
@ -68,7 +65,6 @@ public interface WxMpPayService {
* 详见http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN * 详见http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
* *
* @param request 请求对象注意一些参数如appidmchid等不用设置方法内会自动从配置对象中获取到前提是对应配置中已经设置 * @param request 请求对象注意一些参数如appidmchid等不用设置方法内会自动从配置对象中获取到前提是对应配置中已经设置
* @throws WxErrorException
*/ */
Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxErrorException; Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxErrorException;
@ -94,6 +90,7 @@ public interface WxMpPayService {
* 接口链接https://api.mch.weixin.qq.com/pay/refundquery * 接口链接https://api.mch.weixin.qq.com/pay/refundquery
* </pre> * </pre>
* 以下四个参数四选一 * 以下四个参数四选一
*
* @param transactionId 微信订单号 * @param transactionId 微信订单号
* @param outTradeNo 商户订单号 * @param outTradeNo 商户订单号
* @param outRefundNo 商户退款单号 * @param outRefundNo 商户退款单号
@ -112,14 +109,15 @@ public interface WxMpPayService {
* 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3) * 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3)
* *
* @param xmlbean Bean需要标记有XML注解默认使用配置中的PartnerKey进行签名 * @param xmlbean Bean需要标记有XML注解默认使用配置中的PartnerKey进行签名
* @since 2.5.0
* @return 签名字符串 * @return 签名字符串
* @see #createSign(Map, String) * @see #createSign(Map, String)
* @since 2.5.0
*/ */
String createSign(Object xmlbean); String createSign(Object xmlbean);
/** /**
* 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3) * 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3)
*
* @param xmlbean Bean需要标记有XML注解 * @param xmlbean Bean需要标记有XML注解
* @param signKey 签名Key * @param signKey 签名Key
* @return 签名字符串 * @return 签名字符串
@ -129,8 +127,8 @@ public interface WxMpPayService {
/** /**
* 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3) * 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3)
*
* @param prams 参数信息默认使用配置中的PartnerKey进行签名 * @param prams 参数信息默认使用配置中的PartnerKey进行签名
* @param signKey 签名Key
* @return 签名字符串 * @return 签名字符串
* @see #createSign(Map, String) * @see #createSign(Map, String)
*/ */
@ -139,6 +137,7 @@ public interface WxMpPayService {
/** /**
* 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3) * 微信公众号支付签名算法(详见:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3)
*
* @param prams 参数信息 * @param prams 参数信息
* @param signKey 签名Key * @param signKey 签名Key
* @return 签名字符串 * @return 签名字符串
@ -146,9 +145,9 @@ public interface WxMpPayService {
String createSign(Map<String, String> prams, String signKey); String createSign(Map<String, String> prams, String signKey);
/** /**
* 校验签名是否正确默认使用配置中的PartnerKey进行签名 * 校验签名是否正确默认使用配置中的PartnerKey进行签名
*
* @param xmlbean Bean需要标记有XML注解 * @param xmlbean Bean需要标记有XML注解
* @return true - 签名校验成功false - 签名校验失败 * @return true - 签名校验成功false - 签名校验失败
* @see #checkSign(Map, String) * @see #checkSign(Map, String)
@ -157,6 +156,7 @@ public interface WxMpPayService {
/** /**
* 校验签名是否正确 * 校验签名是否正确
*
* @param xmlbean Bean需要标记有XML注解 * @param xmlbean Bean需要标记有XML注解
* @param signKey 校验的签名Key * @param signKey 校验的签名Key
* @return true - 签名校验成功false - 签名校验失败 * @return true - 签名校验成功false - 签名校验失败
@ -166,6 +166,7 @@ public interface WxMpPayService {
/** /**
* 校验签名是否正确默认使用配置中的PartnerKey进行签名 * 校验签名是否正确默认使用配置中的PartnerKey进行签名
*
* @param prams 需要校验的参数Map * @param prams 需要校验的参数Map
* @return true - 签名校验成功false - 签名校验失败 * @return true - 签名校验成功false - 签名校验失败
* @see #checkSign(Map, String) * @see #checkSign(Map, String)
@ -174,13 +175,13 @@ public interface WxMpPayService {
/** /**
* 校验签名是否正确 * 校验签名是否正确
* @param prams 需要校验的参数Map *
* @param params 需要校验的参数Map
* @param signKey 校验的签名Key * @param signKey 校验的签名Key
* @return true - 签名校验成功false - 签名校验失败 * @return true - 签名校验成功false - 签名校验失败
* @see #checkSign(Map, String) * @see #checkSign(Map, String)
*/ */
boolean checkSign(Map<String, String> prams, String signKey); boolean checkSign(Map<String, String> params, String signKey);
/** /**
@ -206,6 +207,7 @@ public interface WxMpPayService {
* 是否需要证书 证书及使用说明详见商户证书 * 是否需要证书 证书及使用说明详见商户证书
* 请求方式 POST * 请求方式 POST
* </pre> * </pre>
*
* @param mchBillNo 商户发放红包的商户订单号比如10000098201411111234567890 * @param mchBillNo 商户发放红包的商户订单号比如10000098201411111234567890
* @param keyFile 证书文件对象即apiclient_cert.p12 商户证书文件详细参考https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3 * @param keyFile 证书文件对象即apiclient_cert.p12 商户证书文件详细参考https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3
*/ */

View File

@ -1,17 +1,16 @@
package me.chanjar.weixin.mp.api.impl; package me.chanjar.weixin.mp.api.impl;
import java.io.File; import com.thoughtworks.xstream.XStream;
import java.io.FileInputStream; import me.chanjar.weixin.common.bean.result.WxError;
import java.io.IOException; import me.chanjar.weixin.common.exception.WxErrorException;
import java.security.KeyStore; import me.chanjar.weixin.common.util.BeanUtils;
import java.util.Arrays; import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import java.util.HashMap; import me.chanjar.weixin.mp.api.WxMpConfigStorage;
import java.util.Map; import me.chanjar.weixin.mp.api.WxMpPayService;
import java.util.SortedMap; import me.chanjar.weixin.mp.api.WxMpService;
import java.util.TreeMap; import me.chanjar.weixin.mp.bean.pay.WxPayOrderNotifyResultConverter;
import me.chanjar.weixin.mp.bean.pay.request.*;
import javax.net.ssl.SSLContext; import me.chanjar.weixin.mp.bean.pay.result.*;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -29,36 +28,12 @@ import org.apache.http.util.EntityUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.thoughtworks.xstream.XStream; import javax.net.ssl.SSLContext;
import java.io.File;
import me.chanjar.weixin.common.bean.result.WxError; import java.io.FileInputStream;
import me.chanjar.weixin.common.exception.WxErrorException; import java.io.IOException;
import me.chanjar.weixin.common.util.BeanUtils; import java.security.KeyStore;
import me.chanjar.weixin.common.util.xml.XStreamInitializer; import java.util.*;
import me.chanjar.weixin.mp.api.WxMpConfigStorage;
import me.chanjar.weixin.mp.api.WxMpPayService;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.pay.WxPayOrderNotifyResultConverter;
import me.chanjar.weixin.mp.bean.pay.request.WxEntPayQueryRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayOrderCloseRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayOrderQueryRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayRedpackQueryRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundQueryRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest;
import me.chanjar.weixin.mp.bean.pay.request.WxPayUnifiedOrderRequest;
import me.chanjar.weixin.mp.bean.pay.result.WxEntPayQueryResult;
import me.chanjar.weixin.mp.bean.pay.result.WxEntPayResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayBaseResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayOrderCloseResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayOrderNotifyResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayOrderQueryResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayRedpackQueryResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayRefundQueryResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayRefundResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPaySendRedpackResult;
import me.chanjar.weixin.mp.bean.pay.result.WxPayUnifiedOrderResult;
/** /**
* Created by Binary Wang on 2016/7/28. * Created by Binary Wang on 2016/7/28.
@ -71,7 +46,7 @@ public class WxMpPayServiceImpl implements WxMpPayService {
private static final String[] TRADE_TYPES = new String[]{"JSAPI", "NATIVE", "APP"}; private static final String[] TRADE_TYPES = new String[]{"JSAPI", "NATIVE", "APP"};
private static final String[] REFUND_ACCOUNT = new String[]{"REFUND_SOURCE_RECHARGE_FUNDS", private static final String[] REFUND_ACCOUNT = new String[]{"REFUND_SOURCE_RECHARGE_FUNDS",
"REFUND_SOURCE_UNSETTLED_FUNDS"}; "REFUND_SOURCE_UNSETTLED_FUNDS"};
protected final Logger log = LoggerFactory.getLogger(this.getClass()); private final Logger log = LoggerFactory.getLogger(this.getClass());
private WxMpService wxMpService; private WxMpService wxMpService;
private WxMpConfigStorage config = null; private WxMpConfigStorage config = null;