Browse Source

重新添加角色表的CRUD

DESKTOP-C21C1Q8\tangs 6 years ago
parent
commit
9190016243
2 changed files with 155 additions and 0 deletions
  1. 54 0
      app/Http/Controllers/RoleController.php
  2. 101 0
      app/Models/Role.php

+ 54 - 0
app/Http/Controllers/RoleController.php

@@ -0,0 +1,54 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models;
+use Illuminate\Http\Request;
+
+class RoleController extends Controller
+{
+    public function CreateRole(Request $request)
+    {
+        $params = [];
+        $params["name"] = $request->input("name");
+        $params["description"] = $request->input("description");
+
+        $role = new Models\Role();
+        $result = $role->CreateRole($params);
+        return $result;
+
+    }
+
+    public function ModifyRole(Request $request)
+    {
+        $params = [];
+        $params["id"] = $request->input("id");
+        $params["name"] = $request->input("name");
+        $params["description"] = $request->input("description");
+
+        $role = new Models\Role();
+        $result = $role->ModifyRole($params);
+        return $result;
+    }
+
+    public function DeleteRole(Request $request)
+    {
+        $params = [];
+        $params["id"] = $request->input("id");
+
+        $role = new Models\Role();
+        $result = $role->DeleteRole($params);
+        return $result;
+    }
+
+    public function ListRole(Request $request)
+    {
+        $params = [];
+        $params["page"] = $request->input("page");
+        $params["pageCount"] = $request->input("pageCount");
+
+        $role = new Models\Role();
+        $result = $role->ListRole($params);
+        return $result;
+    }
+}

+ 101 - 0
app/Models/Role.php

@@ -0,0 +1,101 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * 该类调用时应该在http控制层限制管理员才能调用
+ *
+ * Class Role
+ * @package App\Models
+ */
+class Role extends Model
+{
+    protected $table = "roles";
+    public $timestamps = false;
+
+
+    /**
+     * 创建一个用户的角色
+     *
+     * @param array $params
+     * @return string
+     */
+    public function CreateRole(array $params)
+    {
+        $this->name = $params["name"];
+        $this->description = $params["description"];
+        $this->status = "normal";
+
+        if ($this->name == "") {
+            return "empty role name";
+        }
+        $this->save();
+        return "success";
+    }
+
+    /**
+     * 修改用户的角色信息
+     *
+     * @param array $params
+     * @return string
+     */
+    public function ModifyRole(array $params)
+    {
+        $update = [];
+        $id = $params["id"];
+        if ($id == "") {
+            return "empty role id";
+        }
+        if ($params["name"] != "") {
+            $update["name"] = $params["name"];
+        }
+        if ($params["description"] != "") {
+            $update["description"] = $params["description"];
+        }
+        if (count($update) == 0) {
+            return "nothing to update";
+        }
+        $this->where("id", $id)
+            ->where("is_del", false)
+            ->update($update);
+        return "success";
+    }
+
+    /**
+     * 删除一个用户角色
+     *
+     * @param array $params
+     * @return string
+     */
+    public function DeleteRole(array $params)
+    {
+        $id = $params["id"];
+        if ($id == "") {
+            return "empty role id";
+        }
+        $this->where("id", $id)
+            ->where("is_del", false)
+            ->update(["is_del" => true]);
+        return "success";
+    }
+
+    /**
+     * 列出用户角色列表
+     *
+     * @param array $params
+     * @return mixed
+     */
+    public function ListRole(array $params)
+    {
+        $page = $params["page"];
+        $pageCount = $params["pageCount"];
+        $data = $this->where("is_del", false)
+            ->orderBy("created_at", "asc")
+            ->paginate($pageCount, ["*"], "page", $page)
+            ->get();
+        return $data;
+    }
+
+}