InstallerController.php 4.4 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
<?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
{
    //装维人员列表
冯超鹏's avatar
冯超鹏 committed
20 21 22 23 24 25
    public function installerlist (Request $request){
        $pagenNum= (int)$request->input('page')-1;//页数
        $limit = (int)$request->input('limit');
        $instllerdata = Installer::offset($pagenNum)->limit($limit)->get();
        $count = Installer::count();
       return $this->jsonSuccessData(['instllerdata'=>$instllerdata,'count'=>$count]);
冯超鹏's avatar
冯超鹏 committed
26 27 28 29
    }

    //用户添加
    public function addinstaller(Request $request){
冯超鹏's avatar
冯超鹏 committed
30
        $keys = $request->all();
冯超鹏's avatar
冯超鹏 committed
31 32 33 34 35
        $validator = Validator::make($request->all(), $this->getValidationRulesinstaller(false));
        if ($validator->fails()) {
            return response()->json(['errors' => $validator->errors()], 403);
        }
        $type = new Installer();
冯超鹏's avatar
冯超鹏 committed
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 62
        foreach ($keys as $key => $val) {
            if ($key == 'ispassword') {
                unset($keys[$key]);
            }
        }
        return $this->jsonSuccessData($type->addinstall($keys));
    }
    // 用户搜索
    public function seekInstaller(Request $request){
        $keys = $request->all();
        $handle = DB::table('installer');
        foreach ($keys as $key => $val) {
            if ($key == 'page') {
                unset($keys[$key]);
            } elseif ($key == 'limit'){
                unset($keys[$key]);
            }
        }
        foreach ($keys as $k => $v) {
            if ($v == '正常'){
                $v = 1;
            }else if ($v == '禁用'){
                $v = 2;
            }
            $keys[$key] && $handle->where($k, 'like', '%' . $v . '%');
        }
        return $this->jsonSuccessData(['instllerdata'=>$handle->get(),'count'=>$handle->count()]);
冯超鹏's avatar
冯超鹏 committed
63
    }
冯超鹏's avatar
冯超鹏 committed
64 65
    //更新用户操作
    public function updateinstaller(Request $request){
冯超鹏's avatar
冯超鹏 committed
66
        $uid =  $request->input('id');//用户id
冯超鹏's avatar
冯超鹏 committed
67 68 69 70
        $data = $request->all();
        if (is_null($uid)){
            return $this->jsonErrorData(105,'用户id不能为空');
        }
冯超鹏's avatar
冯超鹏 committed
71
        if ($request->isMethod('post')){
冯超鹏's avatar
冯超鹏 committed
72
            foreach ($data as $k => $v) {
冯超鹏's avatar
冯超鹏 committed
73
                if ($k == 'id') {
冯超鹏's avatar
冯超鹏 committed
74
                    unset($data[$k]);
冯超鹏's avatar
冯超鹏 committed
75 76 77 78
                }else if ($k == 'ispassword'){
                    unset($data[$k]);
                }else if ($k == 'password') {
                    $data['password'] =  md5(md5($v) . $data['salt']);
冯超鹏's avatar
冯超鹏 committed
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
                }
            }
            $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
96

冯超鹏's avatar
冯超鹏 committed
97 98 99 100 101 102 103 104 105 106 107 108
    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){//逻辑删除
冯超鹏's avatar
冯超鹏 committed
109
            return $this->jsonSuccessData(Installer::where('id','=',$uid)->update(['delete'=>2,'status'=>2]));
冯超鹏's avatar
冯超鹏 committed
110 111 112
        }

    }
冯超鹏's avatar
冯超鹏 committed
113 114 115 116
    //用户回复正常
    public function normalinstaller($id){
        return $this->jsonSuccessData(Installer::where('id','=',$id)->update(['delete'=>1,'status'=>1]));
    }
冯超鹏's avatar
冯超鹏 committed
117
    //验证用户提交表单
冯超鹏's avatar
冯超鹏 committed
118

冯超鹏's avatar
冯超鹏 committed
119 120 121 122 123 124 125 126 127 128
    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',
        ];
    }
}