wugg 1 year ago
parent
commit
c1c0717533

+ 5 - 1
app/admin/controller/Menu.php

@@ -49,7 +49,7 @@ class Menu extends Base{
             $condition['id'] = $menuid;
             $condition['level'] = [0,$level,2];
         }
-
+	
         $menuAll = Db::name("admin_menu")
             ->where($condition)
             ->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,level,status,weight");
@@ -305,6 +305,7 @@ class Menu extends Base{
             $result=Db::name("action")->where("id","=",$actid)->save($data);
             if($result){
                 Db::commit();
+                event('rolesave');
                 return app_show(0,"更新成功");
             }else{
                 Db::rollback();
@@ -335,6 +336,7 @@ class Menu extends Base{
             $data = ['status'=>$status,"updatetime"=>date("Y-m-d H:i:s")];
             $result=Db::name("action")->where("id","=",$actid)->save($data);
             if($result){
+            	 event('rolesave');
                 return app_show(0,"更新成功");
             }else{
                 return error_show(1004,"更新失败");
@@ -386,6 +388,7 @@ class Menu extends Base{
             $in = Db::name("action")->insert($data);
             if($in){
                     Db::commit();
+                    event("rolesave");
                   return app_show(0,"添加成功");
             }
 
@@ -412,6 +415,7 @@ class Menu extends Base{
             $data = ['is_del'=>1,"updatetime"=>date("Y-m-d H:i:s")];
             $result=Db::name("action")->where($act)->update($data);
             if($result){
+            	 event('rolesave');
                 return app_show(0,"删除成功");
             }else{
                 return error_show(1004,"删除失败");

+ 14 - 0
app/admin/model/Action.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class Action extends Model
+{
+    //
+}

+ 14 - 0
app/admin/model/RoleAction.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class RoleAction extends Model
+{
+    //
+}

+ 2 - 0
app/event.php

@@ -2,6 +2,7 @@
 // 事件定义文件
 return [
     'bind'      => [
+    	'rolesave'=>\app\event\roleEvent::class
     ],
 
     'listen'    => [
@@ -10,6 +11,7 @@ return [
         'HttpEnd'  => [],
         'LogLevel' => [],
         'LogWrite' => [],
+        "rolesave"=>[\app\listener\roleListen::class]
     ],
 
     'subscribe' => [

+ 8 - 0
app/event/roleEvent.php

@@ -0,0 +1,8 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\event;
+
+class roleEvent
+{
+}

+ 18 - 0
app/listener/roleListen.php

@@ -0,0 +1,18 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\listener;
+
+use app\admin\model\Action;use app\admin\model\RoleAction;class roleListen
+{
+    /**
+     * 事件监听处理
+     *
+     * @return mixed
+     */
+    public function handle($event)
+    {
+    	$acction= Action::where(["status"=>1,"is_del"=>0])->column("id");
+        RoleAction::where(["role_id"=>1])->save(["action_conllect"=>implode(",",$acction)]);
+    }
+}