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

cn.zkdcloud.component.message.acceptMessage.AbstractAcceptEventMessage Maven / Gradle / Ivy

package cn.zkdcloud.component.message.acceptMessage;

import cn.zkdcloud.component.message.acceptMessage.eventMessage.LocationEventMessage;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.ScanEventMessage;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.SubscribeEventMessage;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.menuEventMessage.ClickEventMessage;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.menuEventMessage.MenuScanEventMessage;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.menuEventMessage.PhotoEventMessage;
import cn.zkdcloud.component.message.AbstractAcceptMessage;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.*;
import cn.zkdcloud.component.message.acceptMessage.eventMessage.menuEventMessage.ViewEventMessage;
import com.alibaba.fastjson.JSONObject;

/**
 * 事件消息
 */
public abstract class AbstractAcceptEventMessage extends AbstractAcceptMessage {
    /*
    事件类型
     */
    protected Event event;

    public Event getEvent() {
        return event;
    }

    public void setEvent(Event event) {
        this.event = event;
    }

    /**
     * 将data根据event类型转成不同的事件
     *
     * @param json json
     * @return acceptEventMessage
     * @throws Exception exception
     */
    public static AbstractAcceptEventMessage eventResolver(JSONObject json) throws Exception {
        AbstractAcceptEventMessage ret;
        json.put("Event", json.getString("Event").toUpperCase());

        switch (Event.valueOf(json.getString("Event").toUpperCase())) {
            case SCAN:
                ret = json.toJavaObject(ScanEventMessage.class);
                break;
            case VIEW:
                ret = json.toJavaObject(ViewEventMessage.class);
                break;
            case CLICK:
                ret = json.toJavaObject(ClickEventMessage.class);
                break;
            case LOCATION:
                ret = json.toJavaObject(LocationEventMessage.class);
                break;
            case SUBSCRIBE:
                ret = json.toJavaObject(SubscribeEventMessage.class);
                break;
            case UNSUBSCRIBE:
                ret = json.toJavaObject(SubscribeEventMessage.class);
                break;
            case SCANCODE_PUSH:
                ret = json.toJavaObject(MenuScanEventMessage.class);
                break;
            case SCANCODE_WAITMSG:
                ret = json.toJavaObject(MenuScanEventMessage.class);
                break;
            case PIC_SYSPHOTO:
                ret = json.toJavaObject(PhotoEventMessage.class);
                break;
            case PIC_PHOTO_OR_ALBUM:
                ret = json.toJavaObject(PhotoEventMessage.class);
                break;
            default:
                ret = null;
        }
        return ret;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy