TaskMessage.java 1.66 KB
package com.diligrp.cashier.trade.domain;

import com.diligrp.cashier.shared.util.JsonUtils;

/**
 * 异步消息模型
 */
public class TaskMessage {
    // 收银台订单扫描,在固定周期后兜底处理预支付订单;
    // 查询交易订单的支付状态,根据支付状态完成交易订单,或关闭交易订单
    public static final int TYPE_CASHIER_ORDER_SCAN = 10;
    // 周期性查询退款状态
    public static final int TYPE_CASHIER_REFUND_SCAN = 20;

    // 消息类型
    private int type;
    // 消息体
    private String payload;
    // 消息参数
    private String params;

    public TaskMessage() {
    }

    public TaskMessage(int type, String payload, String params) {
        this.type = type;
        this.payload = payload;
        this.params = params;
    }


    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getPayload() {
        return payload;
    }

    public void setPayload(String payload) {
        this.payload = payload;
    }

    public String getParams() {
        return params;
    }

    public void setParams(String params) {
        this.params = params;
    }

    public static TaskMessage of(int type, String payload) {
        return of(type, payload, null);
    }

    public static TaskMessage of(int type, String payload, String params) {
        return new TaskMessage(type, payload, params);
    }

    public static TaskMessage fromJson(String json) {
        return JsonUtils.fromJsonString(json, TaskMessage.class);
    }

    @Override
    public String toString() {
        return JsonUtils.toJsonString(this);
    }
}