InstallerController.php 2.91 KB
Newer Older
冯超鹏's avatar
冯超鹏 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
<?php
namespace App\Http\Controllers;

use App\Http\Resources\PermissionResource;
use App\Http\Requests\UsersRequest;
use App\Http\Resources\UserResource;
use App\Laravue\JsonResponse;
use App\Laravue\Models\Installer;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Redis;
use Validator;

class InstallerController extends Controller
{
    //装维人员列表
    public function installerlist (){
      return $this->jsonSuccessData(Installer::where('delete','=','1')
           ->get());
    }

    //用户添加
    public function addinstaller(Request $request){
        $validator = Validator::make($request->all(), $this->getValidationRulesinstaller(false));
        if ($validator->fails()) {
            return response()->json(['errors' => $validator->errors()], 403);
        }
        $type = new Installer();
        return $this->jsonSuccessData($type->addinstall($request->all()));
    }
冯超鹏's avatar
冯超鹏 committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
    //更新用户操作
    public function updateinstaller(Request $request){
        $uid =  $request->input('uid');//用户id
        $data = $request->all();
        if (is_null($uid)){
            return $this->jsonErrorData(105,'用户id不能为空');
        }
        if ($_POST){
            foreach ($data as $k => $v) {
                if ($k == 'uid') {
                    unset($data[$k]);
                }
            }
            $upin = Installer::where('id','=',(int)$uid)->update($data);
            if($upin !== false){
                return $this->jsonSuccessData($upin);
            }
            return $this->jsonErrorData(105,'更新失败');

        }else{
                return $this->jsonSuccessData(Installer::where('id','=',$uid)->first());
        }
    }

    /*
     *删除用户
     * type 1== 物理 2==逻辑删除
     * */
冯超鹏's avatar
冯超鹏 committed
62

冯超鹏's avatar
冯超鹏 committed
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
    public function  deleteinstaller(Request $request){
        $type = $request->input('type');
        $uid = $request->input('uid');
        if(is_null($type)){
            return $this->jsonErrorData(105,'type不能为空');
        }
        if (is_null($uid)){
            return $this->jsonErrorData(105,'uid不能为空');
        }
        if ($type == 1){//物理删除
            return $this->jsonSuccessData(Installer::where('id','=',$uid)->delete());
        }elseif($type == 2){//逻辑删除
            return $this->jsonSuccessData(Installer::where('id','=',$uid)->update(['delete'=>2]));
        }

    }
冯超鹏's avatar
冯超鹏 committed
79
    //验证用户提交表单
冯超鹏's avatar
冯超鹏 committed
80

冯超鹏's avatar
冯超鹏 committed
81 82 83 84 85 86 87 88 89 90
    private function getValidationRulesinstaller($isNew = true){
        return [
            'username'=>'required|unique:installer,username|max:3',
            'name'=> 'required|max:10',
            'phone'=> 'required|regex:/^1[3465789]\d{9}$/|unique:installer,phone|max:11',
            'email' => 'required|email',
            'password' =>'required|max:10',
        ];
    }
}