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

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

/**
 * 用户管理
 * @author   Devil
 * @blog     http://gong.gg/
 * @version  0.0.1
 * @datetime 2016-12-01T21:51:08+0800
 */
class User 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 已提交
38
		$this->IsLogin();
D
v1.2.0  
devil_gong 已提交
39 40

		// 权限校验
D
devil_gong 已提交
41
		$this->IsPower();
D
v1.2.0  
devil_gong 已提交
42 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
		$total = UserService::UserTotal($this->form_where);
D
v1.2.0  
devil_gong 已提交
55 56

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

D
devil 已提交
66
		// 获取数据列表
D
v1.2.0  
devil_gong 已提交
67
		$data_params = [
D
devil 已提交
68 69 70
            'where'         => $this->form_where,
            'm'             => $page->GetPageStarNumber(),
            'n'             => $this->page_size,
D
devil 已提交
71
            'order_by'      => $this->form_order_by['data'],
D
devil 已提交
72 73
        ];
		$ret = UserService::UserList($data_params);
D
devil_gong 已提交
74

D
v1.2.0  
devil_gong 已提交
75
		// Excel地址
D
Devil 已提交
76
		MyViewAssign('excel_url', MyUrl('admin/user/excelexport', $this->data_request));
D
v1.2.0  
devil_gong 已提交
77

D
devil 已提交
78
        // 基础参数赋值
D
Devil 已提交
79 80 81 82
		MyViewAssign('params', $this->data_request);
		MyViewAssign('page_html', $page->GetPageHtml());
		MyViewAssign('data_list', $ret['data']);
		return MyView();
D
v1.2.0  
devil_gong 已提交
83 84
	}

D
devil 已提交
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
	/**
     * 详情
     * @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'])],
            ];

            // 获取列表
            $data_params = [
                'm'             => 0,
                'n'             => 1,
                'where'         => $where,
            ];
            $ret = UserService::UserList($data_params);
            $data = (empty($ret['data']) || empty($ret['data'][0])) ? [] : $ret['data'][0];
D
Devil 已提交
109
            MyViewAssign('data', $data);
D
devil 已提交
110
        }
D
Devil 已提交
111
        return MyView();
D
devil 已提交
112 113
    }

D
v1.2.0  
devil_gong 已提交
114 115 116 117 118 119 120 121 122
	/**
	 * [ExcelExport excel文件导出]
	 * @author   Devil
	 * @blog     http://gong.gg/
	 * @version  0.0.1
	 * @datetime 2017-01-10T15:46:00+0800
	 */
	public function ExcelExport()
	{
D
devil 已提交
123
        // 获取数据列表
D
v1.2.0  
devil_gong 已提交
124
		$data_params = [
D
devil 已提交
125
			'where'		=> $this->form_where,
D
v1.2.0  
devil_gong 已提交
126
			'm'			=> 0,
D
devil_gong 已提交
127
			'n'			=> 0,
D
v1.2.0  
devil_gong 已提交
128 129 130 131
		];
		$data = UserService::UserList($data_params);

		// Excel驱动导出数据
D
Devil 已提交
132
		$excel = new \base\Excel(array('filename'=>'user', 'title'=>MyConst('excel_user_title_list'), 'data'=>$data['data'], 'msg'=>'没有相关数据'));
D
v1.2.0  
devil_gong 已提交
133 134 135 136 137 138 139 140 141 142 143 144 145
		return $excel->Export();
	}

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

		// 用户编辑
149
		$data = [];
D
v1.2.0  
devil_gong 已提交
150 151 152 153 154 155 156
		if(!empty($params['id']))
		{
			$data_params = [
				'where'		=> ['id'=>$params['id']],
				'm'			=> 0,
				'n'			=> 1,
			];
157 158
			$ret = UserService::UserList($data_params);
			if(empty($ret['data'][0]))
D
v1.2.0  
devil_gong 已提交
159 160 161
			{
				return $this->error('用户信息不存在', MyUrl('admin/user/index'));
			}
162 163 164 165 166

			// 生日
			$ret['data'][0]['birthday_text'] = empty($ret['data'][0]['birthday']) ? '' : date('Y-m-d', $ret['data'][0]['birthday']);
			
			$data = $ret['data'][0];
D
v1.2.0  
devil_gong 已提交
167
		}
D
devil_gong 已提交
168 169

		// 用户编辑页面钩子
D
devil_gong 已提交
170
		$hook_name = 'plugins_view_admin_user_save';
D
Devil 已提交
171
        MyViewAssign($hook_name.'_data', MyEventTrigger($hook_name,
D
devil_gong 已提交
172
        [
D
devil_gong 已提交
173
            'hook_name'    	=> $hook_name,
D
devil_gong 已提交
174
            'is_backend'   	=> true,
D
devil_gong 已提交
175
            'user_id'      	=> isset($params['id']) ? $params['id'] : 0,
D
devil_gong 已提交
176 177 178
            'data'			=> &$data,
            'params'       	=> &$params,
        ]));
D
v1.2.0  
devil_gong 已提交
179 180

		// 性别
D
Devil 已提交
181
		MyViewAssign('common_gender_list', MyConst('common_gender_list'));
D
v1.2.0  
devil_gong 已提交
182

D
devil_gong 已提交
183
		// 数据
D
Devil 已提交
184
		unset($params['id']);
D
Devil 已提交
185 186 187
        MyViewAssign('data', $data);
		MyViewAssign('params', $params);
		return MyView();
D
v1.2.0  
devil_gong 已提交
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
	}


	/**
	 * [Save 用户添加/编辑]
	 * @author   Devil
	 * @blog     http://gong.gg/
	 * @version  0.0.1
	 * @datetime 2016-12-14T21:37:02+0800
	 */
	public function Save()
	{
		// 是否ajax
		if(!IS_AJAX)
		{
			return $this->error('非法访问');
		}

		// 开始操作
D
devil 已提交
207
		$params = $this->data_post;
D
v1.2.0  
devil_gong 已提交
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
		$params['admin'] = $this->admin;
		return UserService::UserSave($params);
	}

	/**
	 * [Delete 用户删除]
	 * @author   Devil
	 * @blog     http://gong.gg/
	 * @version  0.0.1
	 * @datetime 2016-12-15T11:03:30+0800
	 */
	public function Delete()
	{
		// 是否ajax
		if(!IS_AJAX)
		{
			return $this->error('非法访问');
		}

		// 开始操作
D
devil 已提交
228
		$params = $this->data_post;
D
v1.2.0  
devil_gong 已提交
229 230 231 232 233
		$params['admin'] = $this->admin;
		return UserService::UserDelete($params);
	}
}
?>