<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Crawler_listen_model extends CI_Model
{
    protected $_table = 'crawler_listens';

    public function __construct()
    {
        parent::__construct();
        date_default_timezone_set("Asia/Ho_Chi_Minh");
    }

    /**
     * Hàm thực hiện reset lượt nghe ở nguồn tương ứng
     * khi user tích chọn không lấy lượt nghe ở nguồn src nào đó
     * Cập nhật thêm case: sau 6 tháng sẽ loại bỏ bài hát khỏi BXH (18/10/2020)
     *
     * @param $track_id
     * @param $src
     * @return bool
     */
    public function resetCrawlerListenBySrc($track_id, $src)
    {
        try {
            $this->db->select($this->_table . '.*');
            $this->db->from($this->_table);
            $this->db->where($this->_table . '.track_id', $track_id);
            $query = $this->db->get();
            $track = $query->result_array();
            //
            if (isset($track[0])) {
                switch ($src) {
                    case 'zing':
                        $data_reset = [
                            'yesterday_zing' => 0,
                            'today_zing' => 0,
                            'date_zing' => 0,
                            'week_zing' => 0,
                            'month_zing' => 0,
                            'year_zing' => 0,
                            'alltime_zing' => 0,
                            'zing_crawler_at' => null
                        ];
                        break;
                    case 'nct':
                        $data_reset = [
                            'yesterday_nct' => 0,
                            'today_nct' => 0,
                            'date_nct' => 0,
                            'week_nct' => 0,
                            'month_nct' => 0,
                            'year_nct' => 0,
                            'alltime_nct' => 0,
                            'nct_crawler_at' => null
                        ];
                        break;
                    case 'keeng':
                        $data_reset = [
                            'yesterday_keeng' => 0,
                            'today_keeng' => 0,
                            'date_keeng' => 0,
                            'week_keeng' => 0,
                            'month_keeng' => 0,
                            'year_keeng' => 0,
                            'alltime_keeng' => 0,
                            'keeng_crawler_at' => null
                        ];
                        break;
                    case 'all_6months':
                        $data_reset = [
                            'yesterday_zing' => 0,
                            'today_zing' => 0,
                            'date_zing' => 0,
                            'week_zing' => 0,
                            'month_zing' => 0,
                            'year_zing' => 0,
                            'alltime_zing' => 0,
                            'zing_crawler_at' => null,
                            'yesterday_nct' => 0,
                            'today_nct' => 0,
                            'date_nct' => 0,
                            'week_nct' => 0,
                            'month_nct' => 0,
                            'year_nct' => 0,
                            'alltime_nct' => 0,
                            'nct_crawler_at' => null,
                            'yesterday_keeng' => 0,
                            'today_keeng' => 0,
                            'date_keeng' => 0,
                            'week_keeng' => 0,
                            'month_keeng' => 0,
                            'year_keeng' => 0,
                            'alltime_keeng' => 0,
                            'keeng_crawler_at' => null
                        ];
                        break;
                    default:
                        $data_reset = [];
                }
                if (count($data_reset) > 0) {
                    $this->db->where('id', $track[0]['id']);
                    $this->db->update($this->_table, $data_reset);
                    //
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        } catch (Exception $e) {
            return false;
        }
    }



}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */