You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

168 lines
3.6 KiB

<?php
namespace app\adminapi\controller\v1;
use app\adminapi\ApiController;
use think\facade\Db;
class Admin extends ApiController
{
public function getAdminUsers()
{
if(!input('search')){
$result=Db::name('admin')
->page(input('current'),input('size'))
->select();
$total=Db::name('admin')
->count();
}else{
$result=Db::name('admin')
->where('username','like','%'.input('search').'%')
->page(input('current'),input('size'))
->select();
$total=Db::name('admin')
->where('username','like','%'.input('search').'%')
->count();
}
if(!$result){
$result=[];
}
$rtn=[
'total' => $total,
'data' => $result
];
return $this->Success($rtn);
}
public function getUser(){
$id=input('id');
$result=Db::name('admin')
->field('id,username,email,status,role_id as role')
->where('id',$id)
->find();
if(!$result){
$result=[];
}
return $this->success($result);
}
public function addUser(){
$req=input();
$password_hash = password_hash($req['password'], PASSWORD_DEFAULT);
$data=[
'username' => $req['username'],
'password' => $password_hash,
'email' => $req['email'],
'action_list' => '',
'status' => $req['status'],
];
$result=Db::name('admin')
->insert($data);
if(!$result){
$result=[];
}
return $this->success($result);
}
public function updateUser(){
$req=input();
$data=[
'username' => $req['username'],
'email' => $req['email'],
'role_id' => $req['role'],
'action_list' => '',
'status' => $req['status'],
];
if(strlen($req['password'])>0){
$data['password']=$req['password'];
}
$result=Db::name('admin')
->where('id',$req['id'])
->update($data);
if(!$result){
$result=[];
}
return $this->success($result);
}
public function deleteUser(){
$id=input('id');
$result=Db::name('admin')
->where('id',$id)
->delete();
return $this->success($result);
}
public function updateStatus(){
$id=input('id');
$status=input('status');
$result=Db::name('admin')
->where('id',$id)
->update(['status'=>$status]);
if(!$result){
$result=[];
}
return $this->success($result);
}
public function getAdminLogs()
{
if(!input('search')){
$result=Db::name('admin_log')
->page(input('current'),input('size'))
->order('id','desc')
->select();
$total=Db::name('admin_log')
->count();
}else{
$result=Db::name('admin_log')
->where('admin_name','like','%'.input('search').'%')
->page(input('current'),input('size'))
->order('id','desc')
->select();
$total=Db::name('admin_log')
->where('admin_name','like','%'.input('search').'%')
->count();
}
if(!$result){
$result=[];
}
$rtn=[
'total' => $total,
'data' => $result
];
return $this->Success($rtn);
}
}