xiaoyong931011
2022-07-27 3280d1bd977e8fb5c9c60e615612fabb7b99c3e3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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;
    }
 
 
}