From 7f90f489ce96de464b16133b43ed3fe613b1d06a Mon Sep 17 00:00:00 2001 From: egzosn Date: Sun, 17 May 2020 23:36:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=8F=91=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/demo/controller/WxPayController.java | 66 +++++-- .../com/egzosn/pay/wx/api/WxPayService.java | 162 ++++++----------- .../egzosn/pay/wx/api/WxRedPackService.java | 33 ++++ .../com/egzosn/pay/wx/bean/RedpackOrder.java | 164 +++++++----------- .../egzosn/pay/wx/bean/WxSendredpackType.java | 2 +- 5 files changed, 207 insertions(+), 220 deletions(-) create mode 100644 pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxRedPackService.java diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxPayController.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxPayController.java index 4f72fb3..ef58916 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxPayController.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxPayController.java @@ -2,27 +2,16 @@ package com.egzosn.pay.demo.controller; -import com.egzosn.pay.common.api.Callback; -import com.egzosn.pay.common.api.PayService; import com.egzosn.pay.common.bean.*; import com.egzosn.pay.common.http.HttpConfigStorage; -import com.egzosn.pay.common.http.UriVariables; -import com.egzosn.pay.demo.entity.PayType; import com.egzosn.pay.demo.request.QueryOrder; -import com.egzosn.pay.demo.service.PayResponse; -import com.egzosn.pay.demo.service.handler.AliPayMessageHandler; -import com.egzosn.pay.demo.service.handler.WxPayMessageHandler; import com.egzosn.pay.wx.api.WxPayConfigStorage; import com.egzosn.pay.wx.api.WxPayService; -import com.egzosn.pay.wx.bean.WxBank; -import com.egzosn.pay.wx.bean.WxTransactionType; -import com.egzosn.pay.wx.bean.WxTransferType; -import org.springframework.beans.factory.config.AutowireCapableBeanFactory; +import com.egzosn.pay.wx.bean.*; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.PostConstruct; -import javax.annotation.Resource; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import java.io.ByteArrayOutputStream; @@ -43,7 +32,7 @@ import java.util.UUID; @RequestMapping("wx") public class WxPayController { - private PayService service = null; + private WxPayService service = null; @@ -334,8 +323,8 @@ public class WxPayController { * @return 返回支付方查询退款后的结果 */ @RequestMapping("refundquery") - public Map refundquery(QueryOrder order) { - return service.refundquery(order.getTradeNo(), order.getOutTradeNo()); + public Map refundquery(RefundOrder order) { + return service.refundquery(order); } /** @@ -428,4 +417,51 @@ public class WxPayController { //默认查询银行卡的记录 com.egzosn.pay.wx.bean.WxTransferType#QUERY_BANK return service.transferQuery(outNo, wxTransferType); } + + /** + * 微信发红包 + * @param redpackOrder 红包订单 + * @return 结果 + */ + public Map sendredpack(RedpackOrder redpackOrder) { + redpackOrder.setTransferType(WxSendredpackType.SENDREDPACK); + return service.sendredpack(redpackOrder); + } + + /** + * 发放裂变红包 + * @param redpackOrder 红包订单 + * @return 结果 + */ + public Map sendgroupredpack(RedpackOrder redpackOrder) { + redpackOrder.setTransferType(WxSendredpackType.SENDGROUPREDPACK); + return service.sendredpack(redpackOrder); + } + + + /** + * 小程序发红包 + * @param redpackOrder 红包订单 + * @return 结果 + */ + public Map sendminiprogramhb(RedpackOrder redpackOrder) { + redpackOrder.setTransferType(WxSendredpackType.SENDMINIPROGRAMHB); + return service.sendredpack(redpackOrder); + } + + + /** + * 查询红包记录 + * 用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包 + * 查询红包记录API只支持查询30天内的红包订单,30天之前的红包订单请登录商户平台查询。 + * + * @param mchBillno 商户发放红包的商户订单号 + * @return 返回查询结果 + */ + public Map gethbinfo(String mchBillno) { + return service.gethbinfo(mchBillno); + } + + + } diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java index a69bff2..b882ddc 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java @@ -2,23 +2,22 @@ package com.egzosn.pay.wx.api; import com.alibaba.fastjson.JSONObject; import com.egzosn.pay.common.api.BasePayService; -import com.egzosn.pay.common.api.Callback; import com.egzosn.pay.common.bean.*; import com.egzosn.pay.common.bean.result.PayException; import com.egzosn.pay.common.exception.PayErrorException; import com.egzosn.pay.common.http.HttpConfigStorage; import com.egzosn.pay.common.util.DateUtils; import com.egzosn.pay.common.util.Util; +import com.egzosn.pay.common.util.XML; import com.egzosn.pay.common.util.sign.SignUtils; import com.egzosn.pay.common.util.sign.encrypt.RSA2; import com.egzosn.pay.common.util.str.StringUtils; import com.egzosn.pay.wx.bean.*; -import com.egzosn.pay.common.util.XML; import java.io.IOException; import java.io.InputStream; -import java.math.BigDecimal; import java.net.URLEncoder; +import java.security.GeneralSecurityException; import java.util.*; import static com.egzosn.pay.wx.api.WxConst.*; @@ -29,13 +28,11 @@ import static com.egzosn.pay.wx.bean.WxTransferType.*; * * @author egan *
- *                 email egzosn@gmail.com
- *                 date 2016-5-18 14:09:01
- *                 
+ * email egzosn@gmail.com + * date 2016-5-18 14:09:01 + * */ -public class WxPayService extends BasePayService { - - +public class WxPayService extends BasePayService implements WxRedPackService { /** @@ -94,15 +91,15 @@ public class WxPayService extends BasePayService { public boolean verify(Map params) { if (!(SUCCESS.equals(params.get(RETURN_CODE)) && SUCCESS.equals(params.get(RESULT_CODE)))) { - if (LOG.isErrorEnabled()){ - LOG.error(String.format("微信支付异常:return_code=%s,参数集=%s", params.get(RETURN_CODE), params)); + if (LOG.isErrorEnabled()) { +LOG.error(String.format("微信支付异常:return_code=%s,参数集=%s", params.get(RETURN_CODE), params)); } return false; } if (null == params.get(SIGN)) { - if (LOG.isDebugEnabled()){ - LOG.debug(String.format("微信支付异常:签名为空!%s=%s", OUT_TRADE_NO, params.get(OUT_TRADE_NO))); + if (LOG.isDebugEnabled()) { +LOG.debug(String.format("微信支付异常:签名为空!%s=%s", OUT_TRADE_NO, params.get(OUT_TRADE_NO))); } return false; } @@ -243,24 +240,24 @@ public class WxPayService extends BasePayService { if (verify(preOrderHandler(result, order))) { //如果是扫码支付或者刷卡付无需处理,直接返回 if (((WxTransactionType) order.getTransactionType()).isReturn()) { - return result; +return result; } Map params = new TreeMap(); if (WxTransactionType.JSAPI == order.getTransactionType()) { - params.put("signType", payConfigStorage.getSignType()); - params.put("appId", payConfigStorage.getAppid()); - params.put("timeStamp", System.currentTimeMillis() / 1000); - params.put("nonceStr", result.get(NONCE_STR)); - params.put("package", "prepay_id=" + result.get("prepay_id")); +params.put("signType", payConfigStorage.getSignType()); +params.put("appId", payConfigStorage.getAppid()); +params.put("timeStamp", System.currentTimeMillis() / 1000); +params.put("nonceStr", result.get(NONCE_STR)); +params.put("package", "prepay_id=" + result.get("prepay_id")); } else if (WxTransactionType.APP == order.getTransactionType()) { - params.put("partnerid", payConfigStorage.getPid()); - params.put(APPID, payConfigStorage.getAppid()); - params.put("prepayid", result.get("prepay_id")); - params.put("timestamp", System.currentTimeMillis() / 1000); - params.put("noncestr", result.get(NONCE_STR)); - params.put("package", "Sign=WXPay"); +params.put("partnerid", payConfigStorage.getPid()); +params.put(APPID, payConfigStorage.getAppid()); +params.put("prepayid", result.get("prepay_id")); +params.put("timestamp", System.currentTimeMillis() / 1000); +params.put("noncestr", result.get(NONCE_STR)); +params.put("package", "Sign=WXPay"); } String paySign = createSign(SignUtils.parameterText(params), payConfigStorage.getInputCharset()); params.put(SIGN, paySign); @@ -480,23 +477,6 @@ public class WxPayService extends BasePayService { return secondaryInterface(transactionId, outTradeNo, WxTransactionType.REVERSE); } - /** - * 退款 - * - * @param transactionId 微信订单号 - * @param outTradeNo 商户单号 - * @param refundAmount 退款金额 - * @param totalAmount 总金额 - * @return 返回支付方申请退款后的结果 - * @see #refund(RefundOrder, Callback) - */ - @Deprecated - @Override - public Map refund(String transactionId, String outTradeNo, BigDecimal refundAmount, BigDecimal totalAmount) { - - return refund(new RefundOrder(transactionId, outTradeNo, refundAmount, totalAmount)); - } - @@ -527,18 +507,6 @@ public class WxPayService extends BasePayService { } - /** - * 查询退款 - * - * @param transactionId 支付平台订单号 - * @param outTradeNo 商户单号 - * @return 返回支付方查询退款后的结果 - */ - @Override - public Map refundquery(String transactionId, String outTradeNo) { - return secondaryInterface(transactionId, outTradeNo, WxTransactionType.REFUNDQUERY); - } - /** * 查询退款 * @@ -607,7 +575,7 @@ public class WxPayService extends BasePayService { if (transactionType == WxTransactionType.DOWNLOADBILL) { if (transactionIdOrBillDate instanceof Date) { - return downloadbill((Date) transactionIdOrBillDate, outTradeNoBillType); +return downloadbill((Date) transactionIdOrBillDate, outTradeNoBillType); } throw new PayErrorException(new PayException(FAILURE, "非法类型异常:" + transactionIdOrBillDate.getClass())); } @@ -631,13 +599,12 @@ public class WxPayService extends BasePayService { * @param order 转账订单 *
      *
-     *                                        注意事项:
-     *                                        ◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。
-     *                                        ◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。
-     *                                        ◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。
-     *                                        ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
-     *
-     *                                        
+ *注意事项: + *◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。 + *◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。 + *◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。 + *◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。 + * * @return 对应的转账结果 */ @Override @@ -711,11 +678,11 @@ public class WxPayService extends BasePayService { * * @param outNo 商户转账订单号 * @param wxTransferType 微信转账类型,.....这里没办法了只能这样写(┬_┬),请见谅 {@link com.egzosn.pay.wx.bean.WxTransferType} - *

- *

- * 企业付款到零钱 - * 商户企业付款到银行卡 - *

+ *

+ *

+ * 企业付款到零钱 + * 商户企业付款到银行卡 + *

* @return 对应的转账订单 */ @Override @@ -740,7 +707,7 @@ public class WxPayService extends BasePayService { public String keyPublic(String content) { try { return RSA2.encrypt(content, payConfigStorage.getKeyPublic(), CIPHER_ALGORITHM, payConfigStorage.getInputCharset()); - } catch (Exception e) { + } catch (GeneralSecurityException | IOException e) { throw new PayErrorException(new WxPayError(FAILURE, e.getLocalizedMessage())); } } @@ -758,70 +725,51 @@ public class WxPayService extends BasePayService { /** * 微信发红包 - * @author: faymanwang 1057438332@qq.com + * * @param redpackOrder 红包实体 * @return 返回发红包实体后的结果 + * @author: faymanwang 1057438332@qq.com */ + @Override public Map sendredpack(RedpackOrder redpackOrder) { Map parameters = new TreeMap(); - redpackParam(redpackOrder, parameters); + redPackParam(redpackOrder, parameters); + if (WxSendredpackType.SENDGROUPREDPACK == redpackOrder.getTransferType()) { + parameters.put("amt_type", "ALL_RAND"); + } else if (WxSendredpackType.SENDMINIPROGRAMHB == redpackOrder.getTransferType()) { + parameters.put("notify_way", "MINI_PROGRAM_JSAPI"); + } + parameters.put(SIGN, createSign(SignUtils.parameterText(parameters, "&", SIGN), payConfigStorage.getInputCharset())); - return requestTemplate.postForObject(getReqUrl( WxSendredpackType.SENDREDPACK), XML.getMap2Xml(parameters) , JSONObject.class); + return requestTemplate.postForObject(getReqUrl(redpackOrder.getTransferType()), XML.getMap2Xml(parameters), JSONObject.class); } - /** - * 发放裂变红包 - * 裂变红包:一次可以发放一组红包。首先领取的用户为种子用户,种子用户领取一组红包当中的一个,并可以通过社交分享将剩下的红包给其他用户。裂变红包充分利用了人际传播的优势。 - * - * @author: faymanwang 1057438332@qq.com - * @param redpackOrder 红包实体 - * @return 返回发红包实体后的结果 - */ - public Map sendgroupredpack(RedpackOrder redpackOrder) { - Map parameters = new TreeMap(); - redpackParam(redpackOrder, parameters); - parameters.put("amt_type", "ALL_RAND"); - parameters.put(SIGN, createSign(SignUtils.parameterText(parameters, "&", SIGN), payConfigStorage.getInputCharset())); - return requestTemplate.postForObject(getReqUrl( WxSendredpackType.SENDGROUPREDPACK), XML.getMap2Xml(parameters) , JSONObject.class); - } - - /** - * 小程序发红包 - * @author: faymanwang 1057438332@qq.com - * @param redpackOrder 红包实体 - * @return 返回发红包实体后的结果 - */ - public Map sendminiprogramhb(RedpackOrder redpackOrder) { - Map parameters = new TreeMap(); - redpackParam(redpackOrder, parameters); - parameters.put("notify_way", "MINI_PROGRAM_JSAPI"); - parameters.put(SIGN, createSign(SignUtils.parameterText(parameters, "&", SIGN), payConfigStorage.getInputCharset())); - return requestTemplate.postForObject(getReqUrl( WxSendredpackType.SENDMINIPROGRAMHB), XML.getMap2Xml(parameters) , JSONObject.class); - } /** * 查询红包记录 * 用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包 * 查询红包记录API只支持查询30天内的红包订单,30天之前的红包订单请登录商户平台查询。 * - * @author: faymanwang 1057438332@qq.com * @param mchBillno 商户发放红包的商户订单号 * @return 返回查询结果 + * @author: faymanwang 1057438332@qq.com */ - public Map gethbinfo (String mchBillno) { + @Override + public Map gethbinfo(String mchBillno) { Map parameters = this.getPublicParameters(); parameters.put("mch_billno", mchBillno); parameters.put("bill_type", "MCHT"); parameters.put(SIGN, createSign(SignUtils.parameterText(parameters, "&", SIGN), payConfigStorage.getInputCharset())); - return requestTemplate.postForObject(getReqUrl( WxSendredpackType.GETHBINFO), XML.getMap2Xml(parameters) , JSONObject.class); + return requestTemplate.postForObject(getReqUrl(WxSendredpackType.GETHBINFO), XML.getMap2Xml(parameters), JSONObject.class); } /** * 微信红包构造参数方法 + * * @param redpackOrder 红包实体 - * @param parameters + * @param parameters 接收参数 */ - private void redpackParam(RedpackOrder redpackOrder, Map parameters) { + private void redPackParam(RedpackOrder redpackOrder, Map parameters) { parameters.put(NONCE_STR, SignUtils.randomStr()); parameters.put(MCH_ID, payConfigStorage.getPid()); parameters.put("wxappid", payConfigStorage.getAppid()); @@ -829,12 +777,12 @@ public class WxPayService extends BasePayService { parameters.put("re_openid", redpackOrder.getReOpenid()); parameters.put("mch_billno", redpackOrder.getMchBillno()); parameters.put("total_amount", Util.conversionCentAmount(redpackOrder.getTotalAmount())); - parameters.put("total_num", redpackOrder.getTotalNum() > 0 ? redpackOrder.getTotalNum() : 1); + parameters.put("total_num", Math.max(redpackOrder.getTotalNum(), 1)); parameters.put("wishing", redpackOrder.getWishing()); parameters.put("client_ip", StringUtils.isNotEmpty(redpackOrder.getIp()) ? redpackOrder.getIp() : "192.168.0.1"); parameters.put("act_name", redpackOrder.getActName()); parameters.put("remark", redpackOrder.getRemark()); - if(StringUtils.isNotEmpty(redpackOrder.getSceneId())){ + if (StringUtils.isNotEmpty(redpackOrder.getSceneId())) { parameters.put("scene_id", redpackOrder.getSceneId()); } } diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxRedPackService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxRedPackService.java new file mode 100644 index 0000000..341f3a8 --- /dev/null +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxRedPackService.java @@ -0,0 +1,33 @@ +package com.egzosn.pay.wx.api; + +import com.egzosn.pay.wx.bean.RedpackOrder; + +import java.util.Map; + +/** + * 微信红包服务 + * @author egan + *
+ * email egzosn@gmail.com
+ * date 2020/5/17 22:24
+ * 
+ */ +public interface WxRedPackService { + /** + * 微信发红包 + * + * @param redpackOrder 红包实体 + * @return 返回发红包实体后的结果 + */ + Map sendredpack(RedpackOrder redpackOrder); + + /** + * 查询红包记录 + * 用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包 + * 查询红包记录API只支持查询30天内的红包订单,30天之前的红包订单请登录商户平台查询。 + * + * @param mchBillno 商户发放红包的商户订单号 + * @return 返回查询结果 + */ + Map gethbinfo(String mchBillno); +} diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/RedpackOrder.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/RedpackOrder.java index 801f94f..300c85e 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/RedpackOrder.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/RedpackOrder.java @@ -1,61 +1,105 @@ package com.egzosn.pay.wx.bean; +import com.egzosn.pay.common.bean.TransferOrder; + import java.math.BigDecimal; /** - * @description: + * @description: 发红包订单 * @author: 保网 faymanwang 1057438332@qq.com * @time: 2020/5/15 12:40 */ -public class RedpackOrder { +public class RedpackOrder extends TransferOrder { + + /** * 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z) * 接口根据商户订单号支持重入,如出现超时可再调用 + * @return 商户订单号 */ - private String mchBillno; + public String getMchBillno() { + return getOutNo(); + } + + public void setMchBillno(String mchBillno) { + setOutNo(mchBillno); + } /** * 商户名称:红包发送者名称 + * @return 红包发送者名称 */ - private String sendName; + public String getSendName() { + return getPayerName(); + } + + public void setSendName(String sendName) { + super.setPayerName(sendName); + } /** * 用户openid + * @return 用户openid */ - private String reOpenid; + public String getReOpenid() { + return getPayeeAccount(); + } + + public void setReOpenid(String reOpenid) { + super.setPayeeAccount(reOpenid); + } /** * 付款金额 每个红包金额必须在默认额度内(默认大于1元,小于200元,可在产品设置中自行申请调高额度) + * @return 付款金额 */ - private BigDecimal totalAmount; + public BigDecimal getTotalAmount() { + return getAmount(); + } + public void setTotalAmount(BigDecimal totalAmount) { + super.setAmount(totalAmount); + } /** * 红包发放总人数 * 普通红包:1 * 裂变:必须介于(包括)3到20之间 */ - private int totalNum; + public int getTotalNum() { + Object totalNum = getAttr("total_num"); + return null == totalNum ? 1 : (Integer)totalNum; + } + public void setTotalNum(int totalNum) { + addAttr("total_num", totalNum); + } /** * 红包祝福语 */ - private String wishing; + public String getWishing() { + return (String) getAttr("wishing"); + + } + + public void setWishing(String wishing) { + addAttr("wishing", wishing); + } - /** - * 操作者ip,根据支付平台所需进行设置 - */ - private String ip; /** * 活动名称 */ - private String actName; + public String getActName() { + return (String) getAttr("act_name"); + } - /** - * 备注 - */ - private String remark; + public void setActName(String actName) { + addAttr("act_name", actName); + } + public String getSceneId() { + return (String) getAttr("scene_id"); + } /** * 发放红包使用场景,红包金额大于200或者小于1元时必传 * PRODUCT_1:商品促销 @@ -67,86 +111,12 @@ public class RedpackOrder { * PRODUCT_7:彩票派奖 * PRODUCT_8:税务刮奖 */ - private String sceneId; - - - public String getMchBillno() { - return mchBillno; - } - - public void setMchBillno(String mchBillno) { - this.mchBillno = mchBillno; - } - - public String getSendName() { - return sendName; - } - - public void setSendName(String sendName) { - this.sendName = sendName; - } - - public String getReOpenid() { - return reOpenid; - } - - public void setReOpenid(String reOpenid) { - this.reOpenid = reOpenid; - } - - public BigDecimal getTotalAmount() { - return totalAmount; - } - - public void setTotalAmount(BigDecimal totalAmount) { - this.totalAmount = totalAmount; - } - - public int getTotalNum() { - return totalNum; - } - - public void setTotalNum(int totalNum) { - this.totalNum = totalNum; - } - - public String getWishing() { - return wishing; - } - - public void setWishing(String wishing) { - this.wishing = wishing; - } - - public String getIp() { - return ip; - } - - public void setIp(String ip) { - this.ip = ip; - } - - public String getActName() { - return actName; - } - - public void setActName(String actName) { - this.actName = actName; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - public String getSceneId() { - return sceneId; - } - public void setSceneId(String sceneId) { - this.sceneId = sceneId; + addAttr("scene_id", sceneId); + } + + + public void setTransferType(WxSendredpackType transferType) { + super.setTransferType(transferType); } } diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxSendredpackType.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxSendredpackType.java index 6e114b2..623b667 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxSendredpackType.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxSendredpackType.java @@ -3,7 +3,7 @@ package com.egzosn.pay.wx.bean; import com.egzosn.pay.common.bean.TransferType; /** - * @description: + * @description: 红包交易类型 * @author: faymanwang * @time: 2020/5/14 20:11 */