package cc.mrbird.febs.pay.model;
|
|
import cc.mrbird.febs.pay.service.impl.JsApiPayComService;
|
import cc.mrbird.febs.pay.service.impl.JsApiPayService;
|
import cc.mrbird.febs.pay.service.impl.RefundService;
|
import cc.mrbird.febs.pay.service.impl.ScanPayQueryService;
|
import cc.mrbird.febs.pay.util.Util;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.BeanUtils;
|
|
@Slf4j
|
public class JsApiPayBusiness {
|
|
private JsApiPayService jsApiPayService;
|
|
public JsApiPayBusiness() throws Exception {
|
jsApiPayService = new JsApiPayService();
|
}
|
|
|
|
/**
|
*
|
* 生成预付订单
|
* @author:姜友瑶
|
* 返回类型 void
|
* @throws Exception
|
* @date 2016年10月13日
|
*/
|
public JsApiPayResData createPrapareOrder(JsApiPayReqData jsApiPayReqData) throws Exception {
|
// 接受API返回
|
String payServiceResponseString;
|
|
long costTimeStart = System.currentTimeMillis();
|
|
payServiceResponseString = jsApiPayService.request(jsApiPayReqData);
|
|
long costTimeEnd = System.currentTimeMillis();
|
long totalTimeCost = costTimeEnd - costTimeStart;
|
|
log.info("------------------request createPrapareOrder taking :" + totalTimeCost + "ms"+"--response="+payServiceResponseString);
|
|
// 将从API返回的XML数据映射到Java对象
|
Object data = Util.getObjectFromXML(payServiceResponseString,
|
JsApiPayResData.class);
|
JsApiPayResData jsApiPayResData=new JsApiPayResData();
|
BeanUtils.copyProperties(data,jsApiPayResData);
|
return jsApiPayResData;
|
}
|
|
/**
|
*
|
* 支付成功后查询微信订单
|
* @author:jiangyouyao
|
* 返回类型 void
|
* @throws Exception
|
* @date 2016年10月13日
|
*/
|
public ScanPayQueryResData queryPrapareOrder(ScanPayQueryService scanPayQueryService , ScanPayQueryReqData scanPayQueryReqData) throws Exception {
|
// 接受API返回
|
String payServiceResponseString;
|
|
long costTimeStart = System.currentTimeMillis();
|
|
payServiceResponseString = scanPayQueryService.request(scanPayQueryReqData);
|
|
long costTimeEnd = System.currentTimeMillis();
|
long totalTimeCost = costTimeEnd - costTimeStart;
|
|
log.info("------------------request createPrapareOrder taking :" + totalTimeCost + "ms"+"--response="+payServiceResponseString);
|
|
// 将从API返回的XML数据映射到Java对象
|
ScanPayQueryResData scanPayQueryResData = (ScanPayQueryResData) Util.getObjectFromXML(payServiceResponseString,
|
ScanPayQueryResData.class);
|
|
return scanPayQueryResData;
|
}
|
|
|
/**
|
*
|
* 专家提现,商家向用户(该系统中的专家)支付
|
* @author:jiangyouyao
|
* 返回类型 void
|
* @throws Exception
|
* @date 2017年5月25日
|
*/
|
public JsApiPayComResData payComOrder(JsApiPayComService jsApiPayComService , JsApiPayComReqData jsApiPayComReqData) throws Exception {
|
// 接受API返回
|
String payServiceResponseString;
|
|
long costTimeStart = System.currentTimeMillis();
|
|
payServiceResponseString = jsApiPayComService.request(jsApiPayComReqData);
|
|
long costTimeEnd = System.currentTimeMillis();
|
|
long totalTimeCost = costTimeEnd - costTimeStart;
|
|
log.info("------------------request createPrapareOrder taking :" + totalTimeCost + "ms"+"--response="+payServiceResponseString);
|
|
// 将从API返回的XML数据映射到Java对象
|
JsApiPayComResData jsApiPayComResData = (JsApiPayComResData) Util.getObjectFromXML(payServiceResponseString,
|
JsApiPayComResData.class);
|
|
return jsApiPayComResData;
|
}
|
|
|
/**
|
*
|
* 退款,商家向用户(该系统中的专家)支付
|
* @author:jiangyouyao
|
* @param scanPayReqData
|
* 返回类型 void
|
* @throws Exception
|
* @date 2017年5月25日
|
*/
|
public RefundResData refundComOrder(RefundService refundService , RefundReqData refundReqData) throws Exception {
|
// 接受API返回
|
String payServiceResponseString;
|
|
long costTimeStart = System.currentTimeMillis();
|
|
payServiceResponseString = refundService.request(refundReqData);
|
|
long costTimeEnd = System.currentTimeMillis();
|
|
long totalTimeCost = costTimeEnd - costTimeStart;
|
|
log.info("------------------request createPrapareOrder taking :" + totalTimeCost + "ms"+"--response="+payServiceResponseString);
|
|
// 将从API返回的XML数据映射到Java对象
|
RefundResData RefundResData = (RefundResData) Util.getObjectFromXML(payServiceResponseString,
|
RefundResData.class);
|
|
return RefundResData;
|
}
|
|
|
}
|