<?php


namespace App\Libs\Push\OPPOPush;


class PushMessage
{
    private $app_message_id;

    private $style;

    private $big_picture_id;

    private $small_picture_id;

    private $title;

    private $sub_title;

    private $content;

    private $click_action_type;

    private $click_action_activity;

    private $click_action_url;

    private $action_parameters;

    private $show_time_type;

    private $show_start_time;

    private $show_end_time;

    private $off_line;

    private $off_line_ttl;

    private $push_time_type;

    private $push_start_time;

    private $time_zone;

    private $fix_speed;

    private $fix_speed_rate;

    private $network_type;

    private $call_back_url;

    private $call_back_parameter;

    private $channel_id;

    private $auth_token;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    public function call_back_parameter($value)
    {
        return $this->call_back_parameter;
    }

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

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

    public function getData()
    {
        $keys = [
            'style',
            'type',
            'title',
            'content',
            'click_action_type',
            'click_action_activity',
            'action_parameters',
            'channel_id',
            'auth_token'
        ];

        $result = [];
        foreach ($keys as $key) {
            if (isset($this->$key)) {
                $result[$key] = $this->$key;
            }
        }

        return $result;
    }
}