package org.xmx0632.deliciousfruit.api.v1.bo;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import org.xmx0632.deliciousfruit.api.v1.bo.SettlementResponse.PromotionDetails;
import org.xmx0632.deliciousfruit.erp.bo.DeductionMessage;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class OrderResponse {
private Result result = Result.SUCCESS_RESULT;
private String transactionID = "";// 流水号
private BigDecimal totalPrice = BigDecimal.valueOf(0.0);// 总价
private BigDecimal payAmount = BigDecimal.valueOf(0.0);// 实际支付
private String orderNumber = "";// 订单号
private BigDecimal freight = BigDecimal.valueOf(0.0); // 运费
private BigDecimal freightPay = BigDecimal.valueOf(0.0); // 实际运费
private int givePoint; // 赠送积分
private String paymentMethod = "";// 付款方式
private PromotionDetails promotionDetails = null;// 促销活动
private DeductionPay deductionPay = null; // 虚拟账户抵扣
private String orderStatus;
// 赠送电子活动券
private PayByEcoupon giveEcoupon;
public String getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus;
}
public PayByEcoupon getGiveEcoupon() {
return giveEcoupon;
}
public void setGiveEcoupon(PayByEcoupon giveEcoupon) {
this.giveEcoupon = giveEcoupon;
}
public Result getResult() {
return result;
}
public void setResult(Result result) {
this.result = result;
}
public String getTransactionID() {
return transactionID;
}
public void setTransactionID(String transactionID) {
this.transactionID = transactionID;
}
public BigDecimal getTotalPrice() {
return totalPrice;
}
public void setTotalPrice(BigDecimal totalPrice) {
this.totalPrice = totalPrice;
}
public BigDecimal getPayAmount() {
return payAmount;
}
public void setPayAmount(BigDecimal payAmount) {
this.payAmount = payAmount;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public BigDecimal getFreight() {
return freight;
}
public void setFreight(BigDecimal freight) {
this.freight = freight;
}
public BigDecimal getFreightPay() {
return freightPay;
}
public void setFreightPay(BigDecimal freightPay) {
this.freightPay = freightPay;
}
public int getGivePoint() {
return givePoint;
}
public void setGivePoint(int givePoint) {
this.givePoint = givePoint;
}
public String getPaymentMethod() {
return paymentMethod;
}
public void setPaymentMethod(String paymentMethod) {
this.paymentMethod = paymentMethod;
}
public PromotionDetails getPromotionDetails() {
return promotionDetails;
}
public void setPromotionDetails(PromotionDetails promotionDetails) {
this.promotionDetails = promotionDetails;
}
public DeductionPay getDeductionPay() {
return deductionPay;
}
public void setDeductionPay(DeductionPay deductionPay) {
this.deductionPay = deductionPay;
}
@Override
public String toString() {
return "OrderResponse [result=" + result + ", transactionID="
+ transactionID + ", totalPrice=" + totalPrice + ", payAmount="
+ payAmount + ", orderNumber=" + orderNumber + ", freight="
+ freight + ", freightPay=" + freightPay + ", givePoint="
+ givePoint + ", paymentMethod=" + paymentMethod
+ ", promotionDetails=" + promotionDetails + ", deductionPay="
+ deductionPay + ", orderStatus=" + orderStatus
+ ", giveEcoupon=" + giveEcoupon + "]";
}
/**
* 抵扣付款
*
* @author epeolvv
*
*/
public static class DeductionPay {
// 积分抵扣的金额
private BigDecimal payByPoint = BigDecimal.ZERO;
// 储值账户
private BigDecimal payFromAccount = BigDecimal.ZERO;
// 电子活动券
private List<PayByEcoupon> payByEcouponInfo = new ArrayList<PayByEcoupon>();
// 现金券
private List<PayByCashCoupon> payByCashCouponInfo = new ArrayList<PayByCashCoupon>();
// 礼品卡
private List<PayByGiftCard> payByGiftCardInfo = new ArrayList<PayByGiftCard>();
private DeductionMessage deductionMessage;
@Override
public String toString() {
return "DeductionPay [payByPoint=" + payByPoint
+ ", payFromAccount=" + payFromAccount
+ ", payByEcouponInfo=" + payByEcouponInfo
+ ", payByCashCouponInfo=" + payByCashCouponInfo
+ ", payByGiftCardInfo=" + payByGiftCardInfo + "]";
}
public List<PayByEcoupon> getPayByEcouponInfo() {
return payByEcouponInfo;
}
public void setPayByEcouponInfo(List<PayByEcoupon> payByEcouponInfo) {
this.payByEcouponInfo = payByEcouponInfo;
}
public BigDecimal getPayByPoint() {
return payByPoint;
}
public void setPayByPoint(BigDecimal payByPoint) {
this.payByPoint = payByPoint;
}
public BigDecimal getPayFromAccount() {
return payFromAccount;
}
public void setPayFromAccount(BigDecimal payFromAccount) {
this.payFromAccount = payFromAccount;
}
public List<PayByCashCoupon> getPayByCashCouponInfo() {
return payByCashCouponInfo;
}
public void setPayByCashCouponInfo(
List<PayByCashCoupon> payByCashCouponInfo) {
this.payByCashCouponInfo = payByCashCouponInfo;
}
public List<PayByGiftCard> getPayByGiftCardInfo() {
return payByGiftCardInfo;
}
public void setPayByGiftCardInfo(List<PayByGiftCard> payByGiftCardInfo) {
this.payByGiftCardInfo = payByGiftCardInfo;
}
public void setDeductionMessage(DeductionMessage deductionMessage) {
this.deductionMessage = deductionMessage;
}
@JsonIgnore
public DeductionMessage getDeductionMessage() {
return deductionMessage;
}
}
/**
* 电子活动券
*
* @author Jefferson
*
*/
public static class PayByEcoupon {
private String id;// 电子活动券
private BigDecimal amount; // 面值
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
@Override
public String toString() {
return "PayByEcoupon [id=" + id + ", amount=" + amount + "]";
}
}
public static class PayByCashCoupon {
private String id;// 现金券编号
private BigDecimal deductionAmount; // 抵扣金额
private int payLeftTimes;// 现金券剩余使用次数
@Override
public String toString() {
return "PayByCashCoupon [id=" + id + ", deductionAmount="
+ deductionAmount + ", payLeftTimes=" + payLeftTimes + "]";
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public BigDecimal getDeductionAmount() {
return deductionAmount;
}
public void setDeductionAmount(BigDecimal deductionAmount) {
this.deductionAmount = deductionAmount;
}
public int getPayLeftTimes() {
return payLeftTimes;
}
public void setPayLeftTimes(int payLeftTimes) {
this.payLeftTimes = payLeftTimes;
}
}
public static class PayByGiftCard {
private String id;// 礼品卡编号
private BigDecimal deductionAmount; // 抵扣金额
private BigDecimal balance; // 余额
@Override
public String toString() {
return "PayByGiftCard [id=" + id + ", deductionAmount="
+ deductionAmount + ", balance=" + balance + "]";
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public BigDecimal getDeductionAmount() {
return deductionAmount;
}
public void setDeductionAmount(BigDecimal deductionAmount) {
this.deductionAmount = deductionAmount;
}
public BigDecimal getBalance() {
return balance;
}
public void setBalance(BigDecimal balance) {
this.balance = balance;
}
}
}