RefundResult.java

  1. package com.foxinmy.weixin4j.payment.mch;

  2. import java.util.List;

  3. import javax.xml.bind.annotation.XmlAccessType;
  4. import javax.xml.bind.annotation.XmlAccessorType;
  5. import javax.xml.bind.annotation.XmlElement;
  6. import javax.xml.bind.annotation.XmlRootElement;

  7. import com.alibaba.fastjson.annotation.JSONField;
  8. import com.foxinmy.weixin4j.type.mch.RefundChannel;
  9. import com.foxinmy.weixin4j.xml.ListsuffixResult;

  10. /**
  11.  * 退款申请结果
  12.  *
  13.  * @className RefundResult
  14.  * @author jinyu(foxinmy@gmail.com)
  15.  * @date 2014年11月6日
  16.  * @since JDK 1.6
  17.  * @see
  18.  * @deprecated 迁移到子模块weixin4j-pay
  19.  */
  20. @Deprecated
  21. @XmlRootElement
  22. @XmlAccessorType(XmlAccessType.FIELD)
  23. public class RefundResult extends MerchantTradeResult {

  24.     private static final long serialVersionUID = -3687863914168618620L;

  25.     /**
  26.      * 商户退款单号
  27.      */
  28.     @XmlElement(name = "out_refund_no")
  29.     @JSONField(name = "out_refund_no")
  30.     private String outRefundNo;
  31.     /**
  32.      * 微信退款单号
  33.      */
  34.     @XmlElement(name = "refund_id")
  35.     @JSONField(name = "refund_id")
  36.     private String refundId;
  37.     /**
  38.      * 退款渠道:ORIGINAL—原路退款,默认 BALANCE—退回到余额
  39.      */
  40.     @XmlElement(name = "refund_channel")
  41.     @JSONField(name = "refund_channel")
  42.     private String refundChannel;
  43.     /**
  44.      * 退款总金额,单位为分,可以做部分退款
  45.      */
  46.     @XmlElement(name = "refund_fee")
  47.     @JSONField(name = "refund_fee")
  48.     private int refundFee;
  49.     /**
  50.      * 现金退款金额
  51.      */
  52.     @XmlElement(name = "cash_refund_fee")
  53.     @JSONField(name = "cash_refund_fee")
  54.     private Integer cashRefundFee;
  55.     /**
  56.      * 退款详情
  57.      *
  58.      * @see RefundDetail
  59.      */
  60.     @ListsuffixResult({ ".*(_\\d)$" })
  61.     private List<RefundDetail> refundList;

  62.     protected RefundResult() {
  63.         // jaxb required
  64.     }

  65.     public String getOutRefundNo() {
  66.         return outRefundNo;
  67.     }

  68.     public String getRefundId() {
  69.         return refundId;
  70.     }

  71.     public String getRefundChannel() {
  72.         return refundChannel;
  73.     }

  74.     @JSONField(serialize = false)
  75.     public RefundChannel getFormatRefundChannel() {
  76.         return refundChannel != null ? RefundChannel.valueOf(refundChannel
  77.                 .toUpperCase()) : null;
  78.     }

  79.     public int getRefundFee() {
  80.         return refundFee;
  81.     }

  82.     /**
  83.      * <font color="red">调用接口获取单位为分,get方法转换为元方便使用</font>
  84.      *
  85.      * @return 元单位
  86.      */
  87.     @JSONField(serialize = false)
  88.     public double getFormatRefundFee() {
  89.         return refundFee / 100d;
  90.     }

  91.     public Integer getCashRefundFee() {
  92.         return cashRefundFee;
  93.     }

  94.     /**
  95.      * <font color="red">调用接口获取单位为分,get方法转换为元方便使用</font>
  96.      *
  97.      * @return 元单位
  98.      */
  99.     @JSONField(serialize = false)
  100.     public double getFormatCashRefundFee() {
  101.         return cashRefundFee != null ? cashRefundFee.intValue() / 100d : 0d;
  102.     }

  103.     public List<RefundDetail> getRefundList() {
  104.         return refundList;
  105.     }

  106.     @Override
  107.     public String toString() {
  108.         return "RefundResult [" + super.toString() + ", outRefundNo="
  109.                 + outRefundNo + ", refundId=" + refundId + ", refundChannel="
  110.                 + refundChannel + ", refundFee=" + refundFee
  111.                 + ", cashRefundFee=" + cashRefundFee + ", refundList="
  112.                 + refundList + "]";
  113.     }
  114. }