<?php


namespace App\Libs\Push\HuaWei\Admin\Msg;


class PushMessage
{
    private $data;

    private $notification;

    private $android;

    private $apns;

    private $webpush;

    private $token;

    private $topic;

    private $condition;

    private $fields;

    public function __construct()
    {
        $this->fields       = array();
        $this->token        = null;
        $this->condition    = null;
        $this->topic        = null;
        $this->notification = null;
    }

    public function data($value)
    {
        $this->data = $value;
    }

    public function notification($value)
    {
        $this->notification = $value;
    }

    public function android($value)
    {
        $this->android = $value;
    }

    public function token($value)
    {
        $this->token = $value;
    }

    public function get_token()
    {
        return $this->token;
    }

    public function topic($value)
    {
        $this->topic = $value;
    }

    public function condition($value)
    {
        $this->condition = $value;
    }

    public function apns($value)
    {
        $this->apns = $value;
    }

    public function webpush($value)
    {
        $this->webpush = $value;
    }

    public function getFields()
    {
        return $this->fields;
    }

    public function buildFields()
    {
        $keys = array(
            'data',
            'notification',
            'android',
            'token',
            'topic',
            'condition',
            'apns',
            'webpush'
        );
        foreach ($keys as $key) {
            if (isset($this->$key)) {
                $this->fields[$key] = $this->$key;
            }
        }
    }
}