quanwei
2 days ago 73b874c72ad55eb9eef21c36160ac0de58f0189e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
 
namespace app\common\model\branch;
 
use app\common\model\BaseModel;
use think\facade\Cache;
 
/**
 * 连盟设置模型
 */
class Setting extends BaseModel
{
    protected $name = 'branch_setting';
    protected $createTime = false;
 
    /**
     * 转义数组格式
     * @param $value
     * @return mixed
     */
    public function getValuesAttr($value)
    {
        return json_decode($value, true);
    }
 
    /**
     * 转义成json格式
     * @param $value
     * @return false|string
     */
    public function setValuesAttr($value)
    {
        return json_encode($value);
    }
 
    /**
     * 获取指定项设置
     * @param $key
     * @param null $app_id
     * @return array|mixed
     */
    public static function getItem($key, $app_id = null)
    {
        $data = static::getAll($app_id);
        return isset($data[$key]) ? $data[$key]['values'] : [];
    }
 
    /**
     * 获取设置
     */
    public static function getAll($app_id = null)
    {
        $self = new static;
        is_null($app_id) && $app_id = $self::$app_id;
        if (!$data = Cache::get('branch_setting_' . $app_id)) {
            $data = array_column($self->select()->toArray(), null, 'key');
            Cache::tag('cache')->set('branch_setting_' . $app_id, $data);
        }
        return array_merge_multiple($self->defaultData(), $data);
    }
 
    /**
     * 获取设置项信息
     */
    public static function detail($key)
    {
        return (new static())->find(compact('key'));
    }    
 
    /**
     * 默认配置
     */
    public function defaultData()
    {
        return [
            'basic' => [
                'key' => 'basic',
                'describe' => '基础设置',
                'values' => [
                    'visit_company' => '100',   // 被走访的企业获得积分
                    'space_company' => '100',   // 提供场地的企业获得积分
                    'organize_branch' => '10', // 组织活动的分会获得积分
                    'participate_user' => '10', // 参与活动的人获得积分
                    'download_image_points' => 1, // 下载活动图片消耗的积分
                    'download_video_points' => 2, // 下载活动视频消耗的积分
                    'show_position' => '1', // 前端是否显示职务
                    'show_mobile' => '1', // 前端是否显示成员手机号
                ],
            ],
            'license' => [
                'key' => 'license',
                'describe' => '申请协议',
                'values' => [
                    'license' => ''
                ]
            ],
            'words' => [
                'key' => 'words',
                'describe' => '自定义文字',
                'values' => [
                    'branch_list' => [
                        'default' => '分会风采',
                        'value' => '分会风采'
                    ],
                    'activity_list' => [
                        'default' => '分会活动',
                        'value' => '分会活动'
                    ],
                    'activity_shopping' => [
                        'default' => '活动超值购',
                        'value' => '活动超值购'
                    ],
                    'member_list' => [
                        'default' => '组织架构',
                        'value' => '组织架构'
                    ],
                ]
            ],
            'template_msg' => [
                'key' => 'template_msg',
                'describe' => '模板消息',
                'values' => [
                    'activity_start_tpl' => '',    // 活动开始通知
                ]
            ],
        ];
    }
}