SettingService.class.php 3.33 KB
<?php
/**
 * 配置表信息
 * User: 代军
 * Date: 2017-04-24
 */

namespace Common\Service;

use Com\Model;
use Common\Model\SceneModel;
use Common\Model\SettingModel;

class SettingService extends AbstractService
{
    /**
     * @var SceneModel
     */
    protected $_d_scene;

    // 构造方法
    public function __construct()
    {
        $this->_d = new SettingModel();
        $this->_d_scene = new SceneModel();

        parent::__construct();
    }

    /*
     * 获取 setting 的缓存信息
     *
     */
    public function Setting()
    {

        // 获取全部数据
        $listAll = $this->_d->list_all();

        // 获取键值对
        $setting = [];
        if (!empty($listAll)) {
            foreach ($listAll as $_set) {
                $setting[$_set['key']] = $_set['value'];
            }
        }

        return $setting;
    }

    /**
     * 执行自定义查询SQL语句(安装应用回调时用)
     * @author 侯英才
     * @param string $sql 执行的SQL语句
     * @return mixed
     */
    public function query($sql)
    {
        return $this->_d->query($sql);
    }

    /**
     * 执行自定义非查询SQL语句(安装应用回调时用)
     *
     * @author 侯英才
     * @param string $sql 执行的SQL语句
     *
     * @return mixed
     */
    public function execute($sql)
    {
        return $this->_d->execute($sql);
    }

    /**
     * 获权限设置数据
     * @return array
     */
    public function getChoiceData()
    {
        // 获取到审核配置
        $is_need_check = $this->list_by_conds(['key' => [CircleService::WORKMATE_CHECK_KEY, CircleService::WORKMATE_COMMENT_ANONYMOUS]]);

        $is_need_check = array_column($is_need_check, 'value', 'key');

        return [
            'is_need_check' => rintval($is_need_check[CircleService::WORKMATE_CHECK_KEY]),
            'anonymous' => $is_need_check[CircleService::WORKMATE_COMMENT_ANONYMOUS] ? rintval($is_need_check[CircleService::WORKMATE_COMMENT_ANONYMOUS]) : 2
        ];
    }

    /**
     * 获取配置信息
     * @return array
     */
    public function ConfigSettingData()
    {
        // 获取配置信息
        $setting = $this->Setting();
        $setting['right'] = !empty($setting['right']) ? unserialize($setting['right']) : []; // 权限
        $setting['is_need_check'] = !empty($setting['release']) ? $setting['release'] : 0; //是否开启帖子审核(0=否,1=是)
        $setting['anonymous'] = !empty($setting['anonymous']) ? $setting['anonymous'] : 2; // 是否开启匿名发帖(2=否,1=是)
        $setting['is_topic_check'] = !empty($setting['is_topic_check']) ? $setting['is_topic_check'] : 0; // 是否开启话题审核(0=否,1=是)
        $setting['is_comment_check'] = !empty($setting['comment']) ? $setting['comment'] : 0; // 是否开启评论审核(0=否,1=是)
        $setting['anonymous_topic'] = !empty($setting['anonymous_topic']) ? $setting['anonymous_topic'] : 2; // 是否开启匿名发布话题(2=否,1=是)
        $setting['anonymous_comment'] = !empty($setting['anonymous_comment']) ? $setting['anonymous_comment'] : 2; // 是否开启匿名评论(2=否,1=是)
        $scene_list = $this->_d_scene->list_by_conds([], null, [], 'sc_id,title'); // 场景列表
        $setting['scene_list'] = $scene_list;

        return $setting;
    }


}