2
0

2 Achegas 40891b4c24 ... 89510e5e14

Autor SHA1 Mensaxe Data
  junghwi 89510e5e14 Merge branch 'master' of http://git.meme100.com:10180/yigao/qpapi %!s(int64=6) %!d(string=hai) anos
  junghwi 36d67b7c54 'asas' %!s(int64=6) %!d(string=hai) anos

+ 39 - 0
app/Http/Controllers/Admin/MessageController.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
 use App\Models\Member;
 use App\Models\Message;
 use App\Models\User;
+use App\Models\Notice;
 use App\Traits\PushMessage;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
@@ -286,4 +287,42 @@ class MessageController extends Controller
         return response()->json(['code'=>1,'msg'=>'系统错误']);
     }
 
+    public function notice(Request $request){
+        if ($request->ajax()){
+            $model = new Notice();
+            $title = $request->only(['title']);
+            if (!empty($title)){
+                $model = $model->where('title','like','%'.$title.'%');
+            }
+            $res = $model::orderBy('create_at','asc')->get();
+            $data = [
+                'code' => 0,
+                'msg'   => '正在请求中...',
+                'count' => '',
+                'data'  => $res
+            ];
+            return response()->json($data);
+        }
+
+        return view('admin.message.notice');
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function noticeDel(Request $request)
+    {
+        $ids = $request->get('ids');
+        if (empty($ids)){
+            return response()->json(['code'=>1,'msg'=>'请选择删除项']);
+        }
+        if (Notice::destroy($ids)){
+            return response()->json(['code'=>0,'msg'=>'删除成功']);
+        }
+        return response()->json(['code'=>1,'msg'=>'删除失败']);
+    }
+
 }

+ 10 - 19
app/Http/Controllers/Api/NoticeController.php

@@ -2,16 +2,16 @@
 
 namespace App\Http\Controllers\Api;
 
+use App\Http\Models\Common;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
-use Illuminate\Support\Facades\Redis;
 use App\Models;
 class NoticeController extends Controller
 {
     /*
-     * 公告
+     * 系统公告
      */
-    public function notice(Request $req){
+     public function notice(Request $req){
         $Notice = new Models\Notice;
         $data = $Notice->notice_info();
         if(!$data){
@@ -19,21 +19,12 @@ class NoticeController extends Controller
         }
         return toJson(1,'',$data);
     }
-
-    /*
-   * 添加系统公告
-   */
-    public function redisNotice(array $msg){
-        foreach($msg as $k => $v){
-            Redis::rpush('msg',$v);
-        }
-    }
-    /*
-    * 获取后删除系统公告
-    */
-    public function redisPop(){
-        $msg = Redis::lrange('msg',0,-1);
-        Redis::ltrim('msg',1,0);
-        return toJson(1,'',$msg);
+//    测试redis消息队列方法
+    public function cs(){
+        $msg = ['恭喜aa用户中奖1000元','恭喜bb用户中奖1000元','恭喜cc用户中奖1000元'];
+        Common::addNotification($msg);
+//        $get = Common::getNotification();
+//        dump($get);die;
     }
+
 }

+ 27 - 1
app/Http/Models/Common.php

@@ -3,7 +3,7 @@
 namespace App\Http\Models;
 
 use Illuminate\Database\Eloquent\Model;
-
+use Illuminate\Support\Facades\Redis;
 /**
  * 代理管理模型类
  */
@@ -93,5 +93,31 @@ class Common extends Model
 
     }//end sportsAgentParams()
 
+    /**
+     * 添加系统通知
+     *
+     * @access public
+     * @param array $msg 通知内容
+     * @return
+     */
+    static public function addNotification(array $msg){
+        foreach($msg as $k => $v){
+           Redis::rpush('MSG_INDEX_QIPAI',$v);
+        }
+    }
 
+    /**
+     * 获取后删除栈内系统通知
+     * @access public
+     * @param array $msg 通知内容
+     * @return
+     */
+    static public function getNotification(){
+        $msg = Redis::lrange('MSG_INDEX_QIPAI',0,-1);
+        if(!empty($msg)){
+            Redis::ltrim('MSG_INDEX_QIPAI',1,0);
+            return $msg;
+        }
+        return [];
+    }
 }

+ 0 - 10
composer.lock

@@ -449,17 +449,7 @@
                 "type": "zip",
                 "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/c26463ff9241f27907112fbcd0c86fa670cfef98",
                 "reference": "c26463ff9241f27907112fbcd0c86fa670cfef98",
-<<<<<<< HEAD
-                "shasum": "",
-                "mirrors": [
-                    {
-                        "url": "https://dl.laravel-china.org/%package%/%reference%.%type%",
-                        "preferred": true
-                    }
-                ]
-=======
                 "shasum": ""
->>>>>>> fda7c2d48b055ac204de8003ffacee6ebcbb8ec9
             },
             "require": {
                 "doctrine/lexer": "^1.0.1",

+ 115 - 0
resources/views/admin/message/notice.blade.php

@@ -0,0 +1,115 @@
+@extends('admin.base')
+
+@section('content')
+    <div class="layui-card">
+        <div class="layui-card-header layuiadmin-card-header-auto">
+            <div class="layui-btn-group ">
+                @can('message.message.destroy')
+                    <button class="layui-btn layui-btn-sm layui-btn-danger" id="listDelete">删除</button>
+                @endcan
+                @can('message.message.create')
+                    <a class="layui-btn layui-btn-sm" href="{{ route('admin.message.create') }}">添加</a>
+                @endcan
+                <button type="button" class="layui-btn layui-btn-sm" id="searchBtn">搜索</button>
+            </div>
+            <div class="layui-form" >
+                <div class="layui-input-inline">
+                    <input type="text" name="title" id="title" placeholder="请输入消息标题" class="layui-input" >
+                </div>
+            </div>
+        </div>
+        <div class="layui-card-body">
+            <table id="dataTable" lay-filter="dataTable"></table>
+            <script type="text/html" id="options">
+                <div class="layui-btn-group">
+                    @can('message.message.destroy')
+                        <a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
+                    @endcan
+                </div>
+            </script>
+            <script type="text/html" id="read">
+                <input disabled type="checkbox" lay-skin="switch" lay-text="未读|已读" @{{ d.read==1?'checked':'' }} >
+            </script>
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @can('message.message')
+        <script>
+            layui.use(['layer','table','form'],function () {
+                var layer = layui.layer;
+                var form = layui.form;
+                var table = layui.table;
+                //用户表格初始化
+                var dataTable = table.render({
+                    elem: '#dataTable'
+                    ,height: 500
+                    ,url: "{{ route('admin.message.notice') }}" //数据接口
+                    ,page: true //开启分页
+                    ,cols: [[ //表头
+                        {checkbox: true,fixed: true}
+                        ,{field: 'id', title: 'ID', sort: true,width:80}
+                        ,{field: 'title', title: '标题'}
+                        ,{field: 'content', title: '内容'}
+                        ,{field: 'create_at', title: '创建时间'}
+                        ,{fixed: 'right', width: 220, align:'center', toolbar: '#options',width:100}
+                    ]]
+                });
+
+                //监听工具条
+                table.on('tool(dataTable)', function(obj){ //注:tool是工具条事件名,dataTable是table原始容器的属性 lay-filter="对应的值"
+                    var data = obj.data //获得当前行数据
+                        ,layEvent = obj.event; //获得 lay-event 对应的值
+                    if(layEvent === 'del'){
+                        layer.confirm('确认删除吗?', function(index){
+                            $.post("{{ route('admin.message.noticeDel') }}",{_method:'delete',ids:[data.id]},function (result) {
+                                if (result.code==0){
+                                    obj.del(); //删除对应行(tr)的DOM结构
+                                }
+                                layer.close(index);
+                                layer.msg(result.msg)
+                            });
+                        });
+                    } else if(layEvent === 'edit'){
+                        location.href = '/admin/message/'+data.id+'/edit';
+                    }
+                });
+
+                //按钮批量删除
+                $("#listDelete").click(function () {
+                    var ids = []
+                    var hasCheck = table.checkStatus('dataTable')
+                    var hasCheckData = hasCheck.data
+                    if (hasCheckData.length>0){
+                        $.each(hasCheckData,function (index,element) {
+                            ids.push(element.id)
+                        })
+                    }
+                    if (ids.length>0){
+                        layer.confirm('确认删除吗?', function(index){
+                            $.post("{{ route('admin.message.noticeDel') }}",{_method:'delete',ids:ids},function (result) {
+                                if (result.code==0){
+                                    dataTable.reload()
+                                }
+                                layer.close(index);
+                                layer.msg(result.msg,)
+                            });
+                        })
+                    }else {
+                        layer.msg('请选择删除项')
+                    }
+                });
+
+                //搜索
+                $("#searchBtn").click(function () {
+                    var title = $("#title").val();
+                    dataTable.reload({
+                        where:{title},
+                        page:{curr:1}
+                    })
+                })
+            })
+        </script>
+    @endcan
+@endsection

+ 4 - 1
routes/admin.php

@@ -250,5 +250,8 @@ Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['aut
 
         Route::get('message/count', 'MessageController@getMessageCount')->name('admin.message.get_count');
     });
-
+    //系统公告
+    Route::get('notice/message', 'MessageController@notice')->name('admin.message.notice')->middleware('permission:message.message.notice');
+    //删除
+    Route::delete('message/noticeDel', 'MessageController@noticeDel')->name('admin.message.noticeDel')->middleware('permission:message.message.noticeDel');
 });