package com.renren.api.connect.android.pay.bean; import java.util.Date; import com.renren.api.connect.android.Util; /** * 返回给开发者的订单对象,本地存储用的订单对象,跟人人服务器交互的对象 * <p> * 该bean保留了服务器传回来的所有参数 在支付成功后该类会作为参数回调开发者 开发者可以获得这笔订单的任何信息 * <p> * 作为开发者只需要关心orderNumber和payment是否正确 订单状态是否是success * <p> * 跟Payment不一样 * * @see Payment * */ public class PayOrder { public static final int START_STATE = 0x00; public static final int ERROR_STATE = 0x01; public static final int SUCCESS_STATE = 0x02; /** * appId */ private String appId = ""; /** * 订单号 */ private String orderNumber = ""; /** * 开发者自定义字段,服务器原样返回 */ private String payment = ""; private boolean sandBox = false; private String redirect_url = ""; private int serverState = START_STATE; /** * 订单流水号,服务器生成 */ private String bid = ""; /** * 消费用户的id */ private long userId = 0L; /** * 消费金额 */ private int amount = 0; /** * 提交订单的时间 */ private Date orderTime = new Date(); /** * 成交的时间 */ private Date dealTime = new Date(); /** * 描述 */ private String descr = ""; /** * 修复订单相关参数,验证使用 */ private String payResultEncode = ""; /** * 修复订单相关参数 */ private int payStatusCode = 0; // 判断订单状态是否是已经成功 public boolean isSuccess() { return this.serverState == SUCCESS_STATE; } public String getLocalEncode() { return Util.md5(getAppId() + getOrderNumber() + getPayResultEncode() + getAmount() + getUserId()); } public String getAppId() { return appId; } public void setAppId(String appId) { if (appId != null) this.appId = appId; } public String getOrderNumber() { return orderNumber; } public void setOrderNumber(String orderNumber) { if (orderNumber != null) this.orderNumber = orderNumber; } public String getPayment() { return payment; } public void setPayment(String payment) { if (payment != null) this.payment = payment; } public int getServerState() { return serverState; } public void setServerState(int serverState) { this.serverState = serverState; } public String getBid() { return bid; } public void setBid(String bid) { if (bid != null) this.bid = bid; } public long getUserId() { return userId; } public void setUserId(long userId) { if (userId > 0) this.userId = userId; } public int getAmount() { return amount; } public void setAmount(int amount) { this.amount = amount; } public Date getOrderTime() { return orderTime; } public void setOrderTime(Date orderTime) { if (orderTime != null) this.orderTime = orderTime; } public Date getDealTime() { return dealTime; } public void setDealTime(Date dealTime) { if (dealTime != null) this.dealTime = dealTime; } public String getDescr() { return descr; } public void setDescr(String descr) { if (descr != null) this.descr = descr; } public PayOrder() { } public PayOrder(String appId, long userId, Payment p) { Date orderTime = new Date(); this.appId = appId; this.userId = userId; this.orderNumber = p.getOrderNumber(); this.amount = p.getAmount(); this.orderTime = orderTime; this.descr = p.getDescription(); this.serverState = START_STATE; } public PayOrder(PayOrder payOrder) { this.appId = payOrder.getAppId(); this.userId = payOrder.getUserId(); this.orderNumber = payOrder.getOrderNumber(); this.amount = payOrder.getAmount(); this.orderTime = payOrder.getOrderTime(); this.descr = payOrder.getDescr(); this.dealTime = payOrder.getDealTime(); this.bid = payOrder.getBid(); this.serverState = payOrder.getServerState(); this.payResultEncode = payOrder.getPayResultEncode(); this.payment = payOrder.getPayment(); this.payStatusCode = payOrder.getPayStatusCode(); } public void setPayState(int payState) { this.serverState = payState; } public void setPayStatusCode(int payStatusCode) { this.payStatusCode = payStatusCode; } public int getPayStatusCode() { return payStatusCode; } public void setPayResultEncode(String payEncode) { this.payResultEncode = payEncode; } public String getPayResultEncode() { return payResultEncode; } public void setRedirect_url(String redirect_url) { this.redirect_url = redirect_url; } public String getRedirect_url() { return redirect_url; } public void setSandBox(boolean sandBox) { this.sandBox = sandBox; } public boolean isSandBox() { return sandBox; } }