Brand.php 6.0 KB
Newer Older
D
v1.2.0  
devil_gong 已提交
1 2 3 4
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
D
devil_gong 已提交
5
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
D
v1.2.0  
devil_gong 已提交
6 7 8 9 10 11 12
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;

D
devil_gong 已提交
13
use think\facade\Hook;
14
use app\service\BrandService;
D
devil 已提交
15
use app\service\BrandCategoryService;
D
v1.2.0  
devil_gong 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

/**
 * 品牌管理
 * @author   Devil
 * @blog     http://gong.gg/
 * @version  0.0.1
 * @datetime 2016-12-01T21:51:08+0800
 */
class Brand extends Common
{
	/**
	 * 构造方法
	 * @author   Devil
	 * @blog     http://gong.gg/
	 * @version  0.0.1
	 * @datetime 2016-12-03T12:39:08+0800
	 */
	public function __construct()
	{
		// 调用父类前置方法
		parent::__construct();

		// 登录校验
D
devil_gong 已提交
39
		$this->IsLogin();
D
v1.2.0  
devil_gong 已提交
40 41

		// 权限校验
D
devil_gong 已提交
42
		$this->IsPower();
D
v1.2.0  
devil_gong 已提交
43 44 45 46 47 48 49 50 51 52 53
	}

	/**
     * [Index 品牌列表]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-06T21:31:53+0800
     */
	public function Index()
	{
D
devil 已提交
54 55
        // 总数
        $total = BrandService::BrandTotal($this->form_where);
D
v1.2.0  
devil_gong 已提交
56 57

        // 分页
D
devil 已提交
58 59 60 61 62 63 64
        $page_params = [
            'number'    =>  $this->page_size,
            'total'     =>  $total,
            'where'     =>  $this->data_request,
            'page'      =>  $this->page,
            'url'       =>  MyUrl('admin/brand/index'),
        ];
D
v1.2.0  
devil_gong 已提交
65 66 67
        $page = new \base\Page($page_params);

        // 获取列表
D
devil 已提交
68 69 70 71
        $data_params = [
            'where'         => $this->form_where,
            'm'             => $page->GetPageStarNumber(),
            'n'             => $this->page_size,
D
devil 已提交
72
            'order_by'      => $this->form_order_by['data'],
D
devil 已提交
73 74 75 76 77 78 79 80 81
        ];
        $ret = BrandService::BrandList($data_params);

        // 基础参数赋值
        $this->assign('params', $this->data_request);
        $this->assign('page_html', $page->GetPageHtml());
        $this->assign('data_list', $ret['data']);
        return $this->fetch();
	}
D
v1.2.0  
devil_gong 已提交
82

D
devil 已提交
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
    /**
     * 详情
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  1.0.0
     * @datetime 2019-08-05T08:21:54+0800
     */
    public function Detail()
    {
        if(!empty($this->data_request['id']))
        {
            // 条件
            $where = [
                ['id', '=', intval($this->data_request['id'])],
            ];
D
v1.2.0  
devil_gong 已提交
98

D
devil 已提交
99 100 101 102 103 104 105 106 107 108
            // 获取列表
            $data_params = [
                'm'             => 0,
                'n'             => 1,
                'where'         => $where,
            ];
            $ret = BrandService::BrandList($data_params);
            $data = (empty($ret['data']) || empty($ret['data'][0])) ? [] : $ret['data'][0];
            $this->assign('data', $data);
        }
D
v1.2.0  
devil_gong 已提交
109
        return $this->fetch();
D
devil 已提交
110
    }
D
v1.2.0  
devil_gong 已提交
111 112 113 114 115 116 117 118 119 120 121

    /**
     * [SaveInfo 添加/编辑页面]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-14T21:37:02+0800
     */
    public function SaveInfo()
    {
        // 参数
D
devil 已提交
122
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
123 124

        // 数据
125
        $data = [];
D
v1.2.0  
devil_gong 已提交
126 127 128 129 130 131 132 133 134
        if(!empty($params['id']))
        {
            // 获取列表
            $data_params = array(
                'm'     => 0,
                'n'     => 1,
                'where' => ['id'=>intval($params['id'])],
                'field' => '*',
            );
135 136
            $ret = BrandService::BrandList($data_params);
            $data = empty($ret['data'][0]) ? [] : $ret['data'][0];
D
v1.2.0  
devil_gong 已提交
137 138 139 140 141 142
        }

        // 是否启用
        $this->assign('common_is_enable_list', lang('common_is_enable_list'));

        // 品牌分类
D
devil 已提交
143
		$brand_category = BrandCategoryService::BrandCategoryList(['field'=>'id,name']);
D
v1.2.0  
devil_gong 已提交
144 145
		$this->assign('brand_category', $brand_category['data']);

D
Devil 已提交
146
        // 编辑页面钩子
D
devil_gong 已提交
147 148 149 150 151
        $hook_name = 'plugins_view_admin_brand_save';
        $this->assign($hook_name.'_data', Hook::listen($hook_name,
        [
            'hook_name'     => $hook_name,
            'is_backend'    => true,
D
Devil 已提交
152
            'data_id'       => isset($params['id']) ? $params['id'] : 0,
D
devil_gong 已提交
153 154 155
            'data'          => &$data,
            'params'        => &$params,
        ]));
D
v1.2.0  
devil_gong 已提交
156 157 158 159

        // 编辑器文件存放地址
        $this->assign('editor_path_type', 'brand');

D
devil_gong 已提交
160
        // 数据
D
Devil 已提交
161
        unset($params['id']);
D
devil_gong 已提交
162 163
        $this->assign('data', $data);
        $this->assign('params', $params);
D
v1.2.0  
devil_gong 已提交
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
        return $this->fetch();
    }

	/**
	 * [Save 品牌保存]
	 * @author   Devil
	 * @blog     http://gong.gg/
	 * @version  0.0.1
	 * @datetime 2016-12-25T22:36:12+0800
	 */
	public function Save()
	{
		// 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 开始处理
D
devil 已提交
183
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
        return BrandService::BrandSave($params);
	}

	/**
	 * [Delete 品牌删除]
	 * @author   Devil
	 * @blog     http://gong.gg/
	 * @version  0.0.1
	 * @datetime 2016-12-25T22:36:12+0800
	 */
	public function Delete()
	{
		// 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 开始处理
D
devil 已提交
203
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
        $params['user_type'] = 'admin';
        return BrandService::BrandDelete($params);
	}

	/**
     * [StatusUpdate 状态更新]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2017-01-12T22:23:06+0800
     */
    public function StatusUpdate()
    {
        // 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 开始处理
D
devil 已提交
224
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
225 226 227 228
        return BrandService::BrandStatusUpdate($params);
    }
}
?>