PayOfflineState.java 2.21 KB
Newer Older
pye52 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
package com.bgycc.smartcanteen.state;

import androidx.annotation.IntDef;

import java.util.Objects;

public class PayOfflineState {
    // 在WebSocket未链接时,"在线支付"订单直接标记为"离线支付",并更新到数据库成功的状态
    public static final int MARK = 0;
    public static final int IDLE = 1;
    public static final int SEND = 2;
    public static final int SUCCESS = 3;
    public static final int FAILED = 4;

    @IntDef(value = {MARK, IDLE, SEND, SUCCESS, FAILED})
    public @interface PAY_OFFLINE_STATE {
    }

    private @PAY_OFFLINE_STATE
    int state;
    private String message;
    private String original;

    public PayOfflineState(@PAY_OFFLINE_STATE int state) {
        this(state, "");
    }

    public PayOfflineState(@PAY_OFFLINE_STATE int state, String message) {
        this(state, message, "");
    }

    public PayOfflineState(@PAY_OFFLINE_STATE int state, String message, String original) {
        this.state = state;
        this.message = message;
        this.original = original;
    }

    public int getState() {
        return state;
    }

    public void setState(@PAY_OFFLINE_STATE int state) {
        this.state = state;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getOriginal() {
        return original;
    }

    public void setOriginal(String original) {
        this.original = original;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PayOfflineState payOnlineState = (PayOfflineState) o;
        return state == payOnlineState.state &&
                Objects.equals(message, payOnlineState.message) &&
                Objects.equals(original, payOnlineState.original);
    }

    @Override
    public int hashCode() {
        return Objects.hash(state, message, original);
    }

    @Override
    public String toString() {
        return "PayOnlineState{" +
                "state=" + state +
                ", message='" + message + '\'' +
                ", original='" + original + '\'' +
                '}';
    }
}