22package com .egzosn .pay .demo .controller ;
33
44
5- import com .egzosn .pay .common .api .Callback ;
6- import com .egzosn .pay .common .api .PayService ;
75import com .egzosn .pay .common .bean .*;
86import com .egzosn .pay .common .http .HttpConfigStorage ;
9- import com .egzosn .pay .common .http .UriVariables ;
10- import com .egzosn .pay .demo .entity .PayType ;
117import com .egzosn .pay .demo .request .QueryOrder ;
12- import com .egzosn .pay .demo .service .PayResponse ;
13- import com .egzosn .pay .demo .service .handler .AliPayMessageHandler ;
14- import com .egzosn .pay .demo .service .handler .WxPayMessageHandler ;
158import com .egzosn .pay .wx .api .WxPayConfigStorage ;
169import com .egzosn .pay .wx .api .WxPayService ;
17- import com .egzosn .pay .wx .bean .WxBank ;
18- import com .egzosn .pay .wx .bean .WxTransactionType ;
19- import com .egzosn .pay .wx .bean .WxTransferType ;
20- import org .springframework .beans .factory .config .AutowireCapableBeanFactory ;
10+ import com .egzosn .pay .wx .bean .*;
2111import org .springframework .web .bind .annotation .RequestMapping ;
2212import org .springframework .web .bind .annotation .RestController ;
2313
2414import javax .annotation .PostConstruct ;
25- import javax .annotation .Resource ;
2615import javax .imageio .ImageIO ;
2716import javax .servlet .http .HttpServletRequest ;
2817import java .io .ByteArrayOutputStream ;
4332@ RequestMapping ("wx" )
4433public class WxPayController {
4534
46- private PayService service = null ;
35+ private WxPayService service = null ;
4736
4837
4938
@@ -155,7 +144,7 @@ public Map<String, Object> app() {
155144 PayOrder order = new PayOrder ("订单title" , "摘要" , new BigDecimal (0.01 ), UUID .randomUUID ().toString ().replace ("-" , "" ));
156145 //App支付
157146 order .setTransactionType (WxTransactionType .APP );
158- data .put ("orderInfo" , service .orderInfo (order ));
147+ data .put ("orderInfo" , service .app (order ));
159148 return data ;
160149 }
161150
@@ -334,8 +323,8 @@ public Map<String, Object> refund(RefundOrder order) {
334323 * @return 返回支付方查询退款后的结果
335324 */
336325 @ RequestMapping ("refundquery" )
337- public Map <String , Object > refundquery (QueryOrder order ) {
338- return service .refundquery (order . getTradeNo (), order . getOutTradeNo () );
326+ public Map <String , Object > refundquery (RefundOrder order ) {
327+ return service .refundquery (order );
339328 }
340329
341330 /**
@@ -350,18 +339,6 @@ public Object downloadbill(QueryOrder order) {
350339 }
351340
352341
353- /**
354- * 通用查询接口,根据 WxTransactionType 类型进行实现,此接口不包括退款
355- *
356- * @param order 订单的请求体
357- * @return 返回支付方对应接口的结果
358- */
359- @ RequestMapping ("secondaryInterface" )
360- public Map <String , Object > secondaryInterface (QueryOrder order ) {
361- TransactionType type = WxTransactionType .valueOf (order .getTransactionType ());
362- return service .secondaryInterface (order .getTradeNoOrBillDate (), order .getOutTradeNoBillType (), type );
363- }
364-
365342
366343
367344 /**
@@ -428,4 +405,51 @@ public Map<String, Object> transferQuery(String outNo, String wxTransferType) {
428405 //默认查询银行卡的记录 com.egzosn.pay.wx.bean.WxTransferType#QUERY_BANK
429406 return service .transferQuery (outNo , wxTransferType );
430407 }
408+
409+ /**
410+ * 微信发红包
411+ * @param redpackOrder 红包订单
412+ * @return 结果
413+ */
414+ public Map <String , Object > sendredpack (RedpackOrder redpackOrder ) {
415+ redpackOrder .setTransferType (WxSendredpackType .SENDREDPACK );
416+ return service .sendredpack (redpackOrder );
417+ }
418+
419+ /**
420+ * 发放裂变红包
421+ * @param redpackOrder 红包订单
422+ * @return 结果
423+ */
424+ public Map <String , Object > sendgroupredpack (RedpackOrder redpackOrder ) {
425+ redpackOrder .setTransferType (WxSendredpackType .SENDGROUPREDPACK );
426+ return service .sendredpack (redpackOrder );
427+ }
428+
429+
430+ /**
431+ * 小程序发红包
432+ * @param redpackOrder 红包订单
433+ * @return 结果
434+ */
435+ public Map <String , Object > sendminiprogramhb (RedpackOrder redpackOrder ) {
436+ redpackOrder .setTransferType (WxSendredpackType .SENDMINIPROGRAMHB );
437+ return service .sendredpack (redpackOrder );
438+ }
439+
440+
441+ /**
442+ * 查询红包记录
443+ * 用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包
444+ * 查询红包记录API只支持查询30天内的红包订单,30天之前的红包订单请登录商户平台查询。
445+ *
446+ * @param mchBillno 商户发放红包的商户订单号
447+ * @return 返回查询结果
448+ */
449+ public Map <String , Object > gethbinfo (String mchBillno ) {
450+ return service .gethbinfo (mchBillno );
451+ }
452+
453+
454+
431455}
0 commit comments