<?php
/**
 * HomepageLogic.php UTF-8
 *
 *
 * @date    : 2018/8/16 14:09
 *
 * @license 这不是一个自由软件,未经授权不许任何使用和传播。
 * @author  : luowei <lw@huosdk.com>
 * @version : HuoMP 1.0
 */

namespace huomp\logic\member;

use huo\controller\wap\Option;
use huo\model\common\CommonModel;
use huo\model\slide\SlideItemModel;
use huo\model\slide\SlideModel;
use huolib\constant\OptionConst;
use huolib\constant\SlideConst;
use huomp\model\homepage\HomepageModel;

class HomepageLogic extends CommonModel {
    /**
     * @param $mem_id
     *
     * @return array|bool|false|mixed|\PDOStatement|string|\think\Model
     */
    public function getHomepage($mem_id) {
        $_homepage_model = new HomepageModel();
        $_homepage_info = $_homepage_model->getInfoByMemId($mem_id);
        if (empty($_homepage_info)) {
            $_banners = $this->getBgImages();
            $_data = [
                'mem_id' => $mem_id,
                'title'  => '我的游戏盒子',
                'intro'  => '这是我的游戏盒子,来玩吧!',
                'banner' => $_banners['list'][0]['image'],
            ];
            $_homepage_model->addData($_data);
            $_homepage_info = $_homepage_model->getInfoByMemId($mem_id);
        }

        return $_homepage_info;
    }

    /**
     * 获取背景图
     *
     * @return array
     */
    public function getBgImages() {
        $_slide_id = (new SlideModel())->getSlideIdByCode(SlideConst::SLIDE_MP_MEM_BACKGROUND_IMG);
        $_map['slide_id'] = $_slide_id;
        $_slide_items = (new SlideItemModel())->getList($_map);
        $_cnt = 0;
        $_list = [];
        foreach ($_slide_items['list'] as $_k => $_v) {
            $_data['id'] = $_v['id'];
            $_data['image'] = $_v['image'];
            $_list[] = $_data;
            $_cnt++;
        }

        return ['count' => $_cnt, 'list' => $_list];
    }

    /**
     * 修改背景图
     *
     * @param int    $mem_id 玩家ID
     * @param string $banner
     *
     * @return bool
     */
    public function updateBgImages($mem_id, $banner = '') {
        $_homepage_model = new HomepageModel();
        $_data = [
            'mem_id' => $mem_id,
            'banner' => $banner
        ];

        return $_homepage_model->updateData($_data, $mem_id);
    }

    /**
     * 获取权限控制
     *
     * @param string $version 版本号
     *
     * @return array
     */
    public function getAuthSet($version = '') {
        $_setting_name = OptionConst::SETTING_AUTH_SWITCH;
        $_option_value = [
            OptionConst::SETTING_AUTH_SWITCH_RED       => 1, //游戏列表 -> 红包  默认1不显示
            OptionConst::SETTING_AUTH_SWITCH_SHARE     => 1,  //游戏列表 -> 分享 默认1不显示
            OptionConst::SETTING_AUTH_SWITCH_FAVORITE  => 1, //游戏列表 -> 收藏  默认1不显示
            OptionConst::SETTING_AUTH_SWITCH_GUIDE     => 1, //我的盒子 -> 指南  默认1不显示
            OptionConst::SETTING_AUTH_SWITCH_GAIN      => 1, //我的盒子 -> 佣金列表 默认1不显示
            OptionConst::SETTING_AUTH_SWITCH_ACTIVE    => 1, //我的盒子 -> 活跃成员 默认1不显示
            OptionConst::SETTING_AUTH_SWITCH_MEMCENTER => 1, //我的 -> 整个页面  默认1不显示
        ];
        if (empty($version)) {
            return $_option_value;
        }
        $_m = new Option();
        $_item = $_m->getOptionData($_setting_name, 1, true, json_encode($_option_value));
        if (!empty($_item['option_value'])) {
            $_item['option_value'] = json_decode($_item['option_value'], true);
        }
        if (!empty($_item['option_value'][$version])) {
            return $_item['option_value'][$version];
        }

        return $_option_value;
    }
}