All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.ipokerface.weixin.proxy.redpack.RedPacketRecord Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package cn.ipokerface.weixin.proxy.redpack;

import cn.ipokerface.weixin.request.ApiXmlResult;
import cn.ipokerface.weixin.utils.DateUtils;
import com.alibaba.fastjson.annotation.JSONField;

import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Created by       PokerFace
 * Create Date      2019-12-28.
 * Email:           [email protected]
 * Version          1.0.0
 * 

* Description: */ @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class RedPacketRecord extends ApiXmlResult { private static final long serialVersionUID = 929959747323918458L; /** * 商户订单号(每个订单号必须唯一) 组成: mch_id+yyyymmdd+10位一天内不能重复的数字。 */ @XmlElement(name = "mch_billno") @JSONField(name = "mch_billno") private String outTradeNo; /** * 微信支付分配的商户号 */ @XmlElement(name = "mch_id") @JSONField(name = "mch_id") private String mchId; /** * 红包单号 */ @XmlElement(name = "detail_id") @JSONField(name = "detail_id") private String repacketId; /** * 红包状态 */ @XmlElement(name = "status") private String status; /** * 发放类型 */ @XmlElement(name = "send_type") @JSONField(name = "send_type") private String sendType; /** * 红包类型 */ @XmlElement(name = "hb_type") @JSONField(name = "hb_type") private String hbType; /** * 红包个数 */ @XmlElement(name = "total_num") @JSONField(name = "total_num") private int totalNum; /** * 红包总金额(单位分) */ @XmlElement(name = "total_amount") @JSONField(name = "total_amount") private int totalAmount; /** * 发送失败原因 */ @XmlElement(name = "reason") private String reason; /** * 发放时间 */ @XmlElement(name = "send_time") @JSONField(name = "send_time") private String sendTime; /** * 红包退款时间 */ @XmlElement(name = "refund_time") @JSONField(name = "refund_time") private String refundTime; /** * 红包退款金额 */ @XmlElement(name = "refund_amount") @JSONField(name = "refund_amount") private Integer refundAmount; /** * 祝福语 */ @XmlElement(name = "wishing") private String wishing; /** * 活动描述 */ @XmlElement(name = "remark") private String remark; /** * 活动名称 */ @XmlElement(name = "act_name") @JSONField(name = "act_name") private String actName; /** * 裂变红包领取列表 */ @XmlElement(name = "hbinfo") @XmlElementWrapper(name = "hblist") @JSONField(name = "hblist") private List receivers; public String getOutTradeNo() { return outTradeNo; } public String getMchId() { return mchId; } public String getRepacketId() { return repacketId; } @JSONField(serialize = false) public RedPacketStatus getFormatStatus() { return status != null ? RedPacketStatus.valueOf(status.toUpperCase()) : null; } @JSONField(serialize = false) public RedPacketSendType getFormatSendType() { return sendType != null ? RedPacketSendType.valueOf(sendType) : null; } @JSONField(serialize = false) public RedPacketType getFomatHbType() { return hbType != null ? RedPacketType.valueOf(hbType) : null; } public String getStatus() { return status; } public String getSendType() { return sendType; } public String getHbType() { return hbType; } public int getTotalNum() { return totalNum; } public int getTotalAmount() { return totalAmount; } /** * 调用接口获取单位为分,get方法转换为元方便使用 * * @return 元单位 */ @JSONField(serialize = false) public double getFormatTotalAmount() { return totalAmount / 100d; } public String getReason() { return reason; } public String getSendTime() { return sendTime; } @JSONField(serialize = false) public Date getFormatSendTime() { return sendTime != null ? DateUtils.parse2yyyyMMddHHmmss(sendTime) : null; } public String getRefundTime() { return refundTime; } @JSONField(serialize = false) public Date getFormatRefundTime() { return refundTime != null ? DateUtils.parse2yyyyMMddHHmmss(refundTime) : null; } public Integer getRefundAmount() { return refundAmount; } /** * 调用接口获取单位为分,get方法转换为元方便使用 * * @return 元单位 */ @JSONField(serialize = false) public double getFormatRefundAmount() { return refundAmount != null ? refundAmount.intValue() / 100d : 0d; } public String getWishing() { return wishing; } public String getRemark() { return remark; } public String getActName() { return actName; } public List getReceivers() { return receivers; } @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public static class RedpacketReceiver implements Serializable { private static final long serialVersionUID = 1L; /** * 领取红包的Openid */ @XmlElement(name = "openid") private String openId; /** * 领取状态 */ @XmlElement(name = "status") private RedPacketStatus status; /** * 领取金额 */ private int amount; /** * 领取时间 */ @XmlElement(name = "rcv_time") @JSONField(name = "rcv_time") private String receiveTime; public String getOpenId() { return openId; } public RedPacketStatus getStatus() { return status; } public int getAmount() { return amount; } public String getReceiveTime() { return receiveTime; } /** * 调用接口获取单位为分,get方法转换为元方便使用 * * @return 元单位 */ @JSONField(serialize = false) public double getFormatAmount() { return amount / 100d; } @JSONField(serialize = false) public Date getFormatReceiveTime() { return receiveTime != null ? DateUtils .parse2yyyyMMddHHmmss(receiveTime) : null; } @Override public String toString() { return "RedpacketReceiver [openId=" + openId + ", status=" + status + ", amount=" + getFormatAmount() + ", receiveTime=" + receiveTime + "]"; } } @Override public String toString() { return "RedpacketRecord [outTradeNo=" + outTradeNo + ", mchId=" + mchId + ", repacketId=" + repacketId + ", status=" + status + ", sendType=" + sendType + ", hbType=" + hbType + ", totalNum=" + totalNum + ", totalAmount=" + getFormatTotalAmount() + ", reason=" + reason + ", sendTime=" + sendTime + ", refundTime=" + refundTime + ", refundAmount=" + getFormatRefundAmount() + ", wishing=" + wishing + ", remark=" + remark + ", actName=" + actName + ", receivers=" + receivers + "]"; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy