139 lines
3.9 KiB
PHP
Executable File
139 lines
3.9 KiB
PHP
Executable File
<?php
|
|
|
|
namespace app\controller\admin;
|
|
|
|
use laytp\controller\Backend;
|
|
use think\facade\Config;
|
|
use laytp\library\CommonFun;
|
|
use app\validate\admin\member\Add;
|
|
use app\validate\admin\member\Edit;
|
|
use laytp\library\Str;
|
|
use laytp\library\UploadDomain;
|
|
|
|
/**
|
|
* 会员管理
|
|
*/
|
|
class Member extends Backend
|
|
{
|
|
|
|
/**
|
|
* member模型对象
|
|
* @var \app\model\Member
|
|
*/
|
|
protected $model;
|
|
protected $hasSoftDel=1;//是否拥有软删除功能
|
|
|
|
protected $noNeedLogin = []; // 无需登录即可请求的方法
|
|
protected $noNeedAuth = ['index', 'info']; // 无需鉴权即可请求的方法
|
|
|
|
public function _initialize()
|
|
{
|
|
$this->model = new \app\model\Member();
|
|
}
|
|
|
|
|
|
//查看和搜索列表
|
|
public function index(){
|
|
$where = $this->buildSearchParams();
|
|
$order = $this->buildOrder();
|
|
$data = $this->model->where($where)->order($order)->with(['avatar_pic_file']);
|
|
$paging = $this->request->param('paging', false);
|
|
if ($paging) {
|
|
$limit = $this->request->param('limit', Config::get('paginate.limit'));
|
|
$data = $data->paginate($limit)->toArray();
|
|
$data['data'] = $this->getSelectedData($data['data']);
|
|
} else {
|
|
$data = $data->select()->toArray();
|
|
}
|
|
return $this->success('数据获取成功', $data);
|
|
}
|
|
|
|
|
|
//添加
|
|
public function add()
|
|
{
|
|
$post = CommonFun::filterPostData($this->request->post());
|
|
$validate = new Add();
|
|
if(!$validate->check($post)){
|
|
return $this->error($validate->getError());
|
|
}
|
|
if(isset($post['password']) && $post['password']) $post['password'] = Str::createPassword($post['password']);
|
|
try {
|
|
if ($this->model->create($post)) {
|
|
return $this->success('添加成功', $post);
|
|
} else {
|
|
return $this->error('操作失败');
|
|
}
|
|
} catch (\Exception $e) {
|
|
return $this->exceptionError($e);
|
|
}
|
|
}
|
|
|
|
|
|
//查看详情
|
|
public function info()
|
|
{
|
|
$id = $this->request->param('id');
|
|
$info = $this->model->with(['avatar_pic_file'])->find($id);
|
|
return $this->success('获取成功', $info);
|
|
}
|
|
|
|
|
|
//编辑
|
|
public function edit(){
|
|
$id = $this->request->param('id');
|
|
$info = $this->model->find($id);
|
|
$post = CommonFun::filterPostData($this->request->post());
|
|
$validate = new Edit();
|
|
if(!$validate->check($post)){
|
|
return $this->error($validate->getError());
|
|
}
|
|
if(!$post['password']){
|
|
unset($post['password']);
|
|
}else{
|
|
$post['password'] = Str::createPassword($post['password']);
|
|
}
|
|
foreach ($post as $k => $v) {
|
|
$info->$k = $v;
|
|
}
|
|
try {
|
|
$updateRes = $info->save();
|
|
if ($updateRes) {
|
|
return $this->success('编辑成功');
|
|
} else {
|
|
return $this->error('操作失败');
|
|
}
|
|
} catch (\Exception $e) {
|
|
return $this->exceptionError($e);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//设置账号状态
|
|
public function setStatus()
|
|
{
|
|
$id = $this->request->post('id');
|
|
$fieldVal = $this->request->post('field_val');
|
|
$isRecycle = $this->request->post('is_recycle');
|
|
$update['status'] = $fieldVal;
|
|
try {
|
|
if($isRecycle) {
|
|
$updateRes = $this->model->onlyTrashed()->where('id', '=', $id)->update($update);
|
|
} else {
|
|
$updateRes = $this->model->where('id', '=', $id)->update($update);
|
|
}
|
|
if ($updateRes) {
|
|
return $this->success('操作成功');
|
|
} else if ($updateRes === 0) {
|
|
return $this->success('未作修改');
|
|
} else {
|
|
return $this->error('操作失败');
|
|
}
|
|
} catch (\Exception $e) {
|
|
return $this->error('数据库异常,操作失败');
|
|
}
|
|
}
|
|
}
|