86 lines
2.4 KiB
PHP
86 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\AdminUser;
|
|
use App\Helpers\Paginator;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use App\Http\Requestes\AdminUserRequest;
|
|
use App\Http\Resources\AdminUserResource;
|
|
|
|
class AdminUserController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$query = AdminUser::filter($request->all())->where('id', '>', 1);
|
|
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)) ;
|
|
return $this->json(AdminUserResource::collection($list));
|
|
}
|
|
|
|
public function store(AdminUserRequest $request)
|
|
{
|
|
$baseIds = $request->input('base_ids', []);
|
|
try{
|
|
DB::beginTransaction();
|
|
//添加基地信息
|
|
$user = AdminUser::create($request->input());
|
|
//添加基地农作物
|
|
$user->bases()->sync($baseIds);
|
|
DB::commit();
|
|
}catch(\Throwable $th){
|
|
DB::rollBack();
|
|
report($th);
|
|
return $this->error('添加失败,请稍后再试');
|
|
}
|
|
return $this->success('添加成功');
|
|
}
|
|
|
|
public function show(AdminUser $adminUser){
|
|
return $this->json(AdminUserResource::make($adminUser));
|
|
}
|
|
|
|
public function update(AdminUser $adminUser, AdminUserRequest $request)
|
|
{
|
|
$baseIds = $request->input('base_ids', []);
|
|
try{
|
|
DB::beginTransaction();
|
|
//添加基地信息
|
|
$adminUser->update($request->input());
|
|
//添加基地农作物
|
|
$adminUser->crops()->sync($baseIds);
|
|
DB::commit();
|
|
}catch(\Throwable $th){
|
|
DB::rollBack();
|
|
report($th);
|
|
return $this->error('修改失败,请稍后再试');
|
|
}
|
|
return $this->success('修改成功!');
|
|
}
|
|
|
|
public function destroy(AdminUser $adminUser){
|
|
try{
|
|
DB::beginTransaction();
|
|
$adminUser->crops()->sync([]);
|
|
$adminUser->delete();
|
|
DB::commit();
|
|
}catch(\Throwable $th){
|
|
DB::rollBack();
|
|
report($th);
|
|
return $this->error('删除失败,请稍后再试');
|
|
}
|
|
return $this->success('删除成功!');
|
|
}
|
|
|
|
/**
|
|
* 启用/禁用
|
|
*
|
|
* @param AdminUser $adminUser
|
|
* @return void
|
|
*/
|
|
public function endable(AdminUser $adminUser){
|
|
|
|
}
|
|
|
|
}
|