瀏覽代碼

'活动列表'

Ethan 6 年之前
父節點
當前提交
ad2e393ec5

+ 149 - 0
app/Http/Controllers/Admin/ActivityController.php

@@ -0,0 +1,149 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Http\Models\GameUrlData;
+use App\Http\Models\Activity;
+use App\Models\GameUrl;
+use App\Models\Activity as ActivityDatabase;
+use Illuminate\Http\Request;
+use App\Http\Controllers\PublicController;
+
+/**
+ * 活动管理类
+ */
+class ActivityController extends PublicController
+{
+
+
+    /**
+     * 视图加载
+     *
+     * @access public
+     * @return array
+     */
+    public function index()
+    {
+        return view('admin.activity.index');
+
+    }//end index()
+
+
+    /**
+     * 数据获取
+     *
+     * @access public
+     * @param  mixed $request 参数.
+     * @return array
+     */
+    public function data(Request $request)
+    {
+        $activityModel = new Activity;
+        $getActivityWhere = [];
+        // 查询参数.
+        if (empty($request->get('activity_title')) !== true) {
+            $getActivityWhere['activity_title'] = $request->get('activity_title');
+        }
+        // 查询参数.
+        if (strlen($request->get('activity_delete'))) {
+            $getActivityWhere['activity_delete'] = $request->get('activity_delete');
+        }
+
+        // 查询数据.
+        $res = $activityModel->getAllActivity($getActivityWhere, $request->get('limit', 30));
+        // 返回参数.
+        $data = [
+            'code'  => 0,
+            'msg'   => '正在请求中...',
+            'count' => $res['total'],
+            'data'  => $res['data'],
+        ];
+        return response()->json($data);
+
+    }//end data()
+
+
+    /**
+     * 视图加载
+     *
+     * @access public
+     * @return array
+     */
+    public function create()
+    {
+        return view('admin.gameUrl.create');
+
+    }//end create()
+
+
+    /**
+     * 添加数据
+     *
+     * @access public
+     * @param  mixed $request 参数.
+     * @return array
+     */
+    public function store(Request $request)
+    {
+        $data = $request->only(['gameUrl_name', 'gameUrl_type', 'gameUrl_url', 'gameUrl_data']);
+
+        if ( GameUrl::insert($data)) {
+            return redirect()->to(route('admin.gameUrl'))->with(['status'=>'添加成功']);
+        }
+        return redirect()->to(route('admin.gameUrl'))->withErrors('系统错误');
+
+    }//end store()
+
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function edit($id)
+    {
+        $gameUrlModel = new GameUrl;
+        $gameUrl = $gameUrlModel->where(['gameUrl_id' => $id])->first();
+        return view('admin.gameUrl.edit',compact('gameUrl'));
+    }
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request)
+    {
+        $gameUrlModel = new GameUrl;
+        $gameUrl = $gameUrlModel->where(['gameUrl_id' => $request->get('gameUrl_id')]);
+        $data = $request->only(['gameUrl_name', 'gameUrl_type', 'gameUrl_url', 'gameUrl_data']);
+
+        if ($gameUrl->update($data)){
+            return redirect()->to(route('admin.gameUrl'))->with(['status'=>'更新成功']);
+        }
+        return redirect()->to(route('admin.gameUrl'))->withErrors('系统错误');
+    }
+
+
+    /**
+     * 删除
+     *
+     * @access public
+     * @param  mixed $request 参数.
+     * @return array
+     */
+    public function destroy(Request $request)
+    {
+        $ids = $request->get('ids');
+        $status = $request->get('status') == 0 ? 1 : 0;
+        if (empty($ids)){
+            return response()->json(['code'=>1,'msg'=>'请选择删除项']);
+        }
+        if (ActivityDatabase::whereIn('activity_identity',$ids)->update(['activity_delete'=>$status])){
+            return response()->json(['code'=>0,'msg'=>'删除成功']);
+        }
+        return response()->json(['code'=>1,'msg'=>'删除失败']);
+    }
+}

+ 1 - 1
app/Http/Controllers/PublicController.php

@@ -81,4 +81,4 @@ class PublicController extends Controller
     }
 
 
-}
+}

+ 52 - 0
app/Http/Controllers/Sys/ActivityController.php

@@ -0,0 +1,52 @@
+<?php
+
+namespace App\Http\Controllers\Sys;
+
+use Illuminate\Http\Request;
+use App\Http\Controllers\Controller;
+use \App\Http\Models;
+use \Exception;
+
+/**
+ * 活动管理类
+ */
+class ActivityController extends Controller
+{
+
+
+    /**
+     * 活动查询
+     *
+     * @access public
+     * @param mixed $req 数据传输
+     * @return array JsonString
+     */
+    public function activityList(Request $req)
+    {
+        $code = -2;
+        $msg = '操作失败';
+        try {
+            $activityModel = new Models\Activity;
+            $activityWhere = [];
+            if (empty($req->input('type')) === false) {
+                $activityWhere['activity_type'] = $req->input('type');
+            }
+
+            if (empty($req->input('label')) === false) {
+                $activityWhere['activity_label'] = $req->input('label');
+            }
+
+            $activityData = $activityModel->getActivity($activityWhere);
+
+            $msg = '成功';
+            $code = 1;
+
+            return toJson($code, $msg, $activityData);
+        } catch (Exception $e) {
+            return toJson($code, $msg, []);
+        }
+
+    }//end activityList()
+
+
+}

+ 91 - 0
app/Http/Models/Activity.php

@@ -0,0 +1,91 @@
+<?php
+
+namespace App\Http\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use \App\Models;
+
+/**
+ * 活动管理模型类
+ */
+class Activity extends Model
+{
+
+
+    /**
+     * 获取活动
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @return String
+     */
+    public function getActivity($where)
+    {
+        $activityModel = new Models\Activity;
+        $select = [
+            'activity_title',
+            'activity_content',
+            'activity_beginTime',
+            'activity_endTime',
+            'activity_type',
+            'activity_label',
+            'activity_money',
+            'activity_identity',
+        ];
+        $where = $where;
+        $where['activity_delete'] = 0;
+        $newTime = date('Y-m-d H:i:s');
+        $result = $activityModel
+            ->select($select)
+            ->where($where)
+            ->where('activity_beginTime', '<=', $newTime)
+            ->where('activity_endTime', '>', $newTime)
+            ->orderBy('activity_beginTime', 'asc')
+            ->get();
+
+        return $result;
+
+    }//end getActivity()
+
+
+    /**
+     * 获取所有活动
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $paginate 分页
+     * @return String
+     */
+    public function getAllActivity($where, $paginate)
+    {
+        // 获取游戏地址数据.
+        $activityModel = new Models\Activity;
+        $select = [
+            'activity_title',
+            'activity_content',
+            'activity_delete',
+            'activity_type',
+            'activity_label',
+            'activity_money',
+            'activity_data',
+            'activity_data',
+            'activity_identity',
+            'activity_beginTime',
+            'activity_endTime',
+        ];
+        $getActivity = $activityModel->select($select);
+        if (empty($where) === false) {
+            $getActivity = $getActivity->where($where);
+        }
+
+        $getActivity = $getActivity
+            ->orderBy('activity_beginTime','asc')
+            ->paginate($paginate)
+            ->toArray();
+
+        return $getActivity;
+
+    }//end getActivity()
+
+
+}

+ 16 - 0
app/Models/Activity.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * activity
+ */
+class Activity extends Model
+{
+
+    protected $table = 'activity';
+
+
+}

+ 1 - 1
app/Models/Agent.php

@@ -5,7 +5,7 @@ namespace App\Models;
 use Illuminate\Database\Eloquent\Model;
 
 /**
- * 数据库gameUrl模型类
+ * 数据库agent模型类
  */
 class Agent extends Model
 {

+ 1 - 1
app/Models/GameMoney.php

@@ -5,7 +5,7 @@ namespace App\Models;
 use Illuminate\Database\Eloquent\Model;
 
 /**
- * 数据库gameUrl模型类
+ * 数据库gameMoney模型类
  */
 class GameMoney extends Model
 {

+ 1 - 1
app/Models/MembersDetailed.php

@@ -5,7 +5,7 @@ namespace App\Models;
 use Illuminate\Database\Eloquent\Model;
 
 /**
- * 数据库gameUrl模型类
+ * 数据库membersDetailed模型类
  */
 class MembersDetailed extends Model
 {

+ 1 - 1
app/Models/MoneyDetails.php

@@ -5,7 +5,7 @@ namespace App\Models;
 use Illuminate\Database\Eloquent\Model;
 
 /**
- * 数据库gameUrl模型类
+ * 数据库moneyDetails模型类
  */
 class MoneyDetails extends Model
 {

File diff suppressed because it is too large
+ 0 - 0
public/static/admin/layuiadmin/modules/sample.js


+ 40 - 0
resources/views/admin/activity/_form.blade.php

@@ -0,0 +1,40 @@
+{{csrf_field()}}
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">游戏地址指向名</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_name" value="{{ $gameUrl->gameUrl_name ?? old('gameUrl_name') }}" lay-verify="required" placeholder="请输入游戏地址指向名" class="layui-input" >
+    </div>
+</div>
+
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">游戏地址指向类型</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_type" value="{{$gameUrl->gameUrl_type??old('gameUrl_type')}}" required="required" placeholder="请输入游戏地址指向类型" class="layui-input">
+    </div>
+</div>
+
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">游戏地址</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_url" value="{{ $gameUrl->gameUrl_url ?? old('gameUrl_url') }}" lay-verify="required"  placeholder="请输入游戏地址" class="layui-input" style="width: 600px">
+    </div>
+    <br/>
+    <div class="layui-form-mid layui-word-aux" style="padding: 20px 0 !important; margin-left: -200px;">实例:http://www.kaiyou.com/InApi-index/dobusiness</div>
+</div>
+
+<div class="layui-form-item">
+    <label for="" class="layui-form-label">所需参数</label>
+    <div class="layui-input-inline">
+        <input type="text" name="gameUrl_data" value="{{ $gameUrl->gameUrl_data ?? old('gameUrl_data') }}" lay-verify="required"  placeholder="请输入所需参数" class="layui-input" style="width: 750px">
+    </div>
+    <br/>
+    <div class="layui-form-mid layui-word-aux" style="padding: 20px 0 !important; margin-left: -200px;">实例:{"agent":"test1agent","method":"gb"}</div>
+</div>
+
+
+<div class="layui-form-item">
+    <div class="layui-input-block">
+        <button type="submit" class="layui-btn" lay-submit="" lay-filter="formDemo">确 认</button>
+        <a  class="layui-btn" href="{{route('admin.gameUrl')}}" >返 回</a>
+    </div>
+</div>

+ 69 - 0
resources/views/admin/activity/_js.blade.php

@@ -0,0 +1,69 @@
+<style>
+    #layui-upload-box li{
+        width: 120px;
+        height: 100px;
+        float: left;
+        position: relative;
+        overflow: hidden;
+        margin-right: 10px;
+        border:1px solid #ddd;
+    }
+    #layui-upload-box li img{
+        width: 100%;
+    }
+    #layui-upload-box li p{
+        width: 100%;
+        height: 22px;
+        font-size: 12px;
+        position: absolute;
+        left: 0;
+        bottom: 0;
+        line-height: 22px;
+        text-align: center;
+        color: #fff;
+        background-color: #333;
+        opacity: 0.6;
+    }
+    #layui-upload-box li i{
+        display: block;
+        width: 20px;
+        height:20px;
+        position: absolute;
+        text-align: center;
+        top: 2px;
+        right:2px;
+        z-index:999;
+        cursor: pointer;
+    }
+</style>
+<script>
+    layui.use(['upload'],function () {
+        var upload = layui.upload
+        //普通图片上传
+        var uploadInst = upload.render({
+            elem: '#uploadPic'
+            ,url: '{{ route("admin.uploadImg") }}'
+            ,multiple: false
+            ,data:{"_token":"{{ csrf_token() }}"}
+            ,before: function(obj){
+                //预读本地文件示例,不支持ie8
+                /*obj.preview(function(index, file, result){
+                 $('#layui-upload-box').append('<li><img src="'+result+'" /><p>待上传</p></li>')
+                 });*/
+                obj.preview(function(index, file, result){
+                    $('#layui-upload-box').html('<li><img src="'+result+'" /><p>上传中</p></li>')
+                });
+
+            }
+            ,done: function(res){
+                //如果上传失败
+                if(res.code == 0){
+                    $("#iconUrl").val(res.url);
+                    $('#layui-upload-box li p').text('上传成功');
+                    return layer.msg(res.msg,{icon:6});
+                }
+                return layer.msg(res.msg,{icon:5});
+            }
+        });
+    });
+</script>

+ 18 - 0
resources/views/admin/activity/create.blade.php

@@ -0,0 +1,18 @@
+@extends('admin.base')
+
+@section('content')
+    <div class="layui-card">
+        <div class="layui-card-header layuiadmin-card-header-auto">
+            <h2>添加数据</h2>
+        </div>
+        <div class="layui-card-body">
+            <form class="layui-form" action="{{route('admin.gameUrl.store')}}" method="post">
+                @include('admin.gameUrl._form')
+            </form>
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @include('admin.gameUrl._js')
+@endsection

+ 20 - 0
resources/views/admin/activity/edit.blade.php

@@ -0,0 +1,20 @@
+@extends('admin.base')
+
+@section('content')
+    <div class="layui-card">
+        <div class="layui-card-header layuiadmin-card-header-auto">
+            <h2>更新</h2>
+        </div>
+        <div class="layui-card-body">
+            <form class="layui-form" action="{{route('admin.gameUrl.update',['gameUrl'=>$gameUrl])}}" method="post">
+                <input type="hidden" name="gameUrl_id" value="{{$gameUrl->gameUrl_id}}">
+                {{method_field('put')}}
+                @include('admin.gameUrl._form')
+            </form>
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @include('admin.gameUrl._js')
+@endsection

+ 185 - 0
resources/views/admin/activity/index.blade.php

@@ -0,0 +1,185 @@
+@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.activity.destroy')
+                    <button class="layui-btn layui-btn-sm layui-btn-danger" id="listDelete">更改状态</button>
+                @endcan--}}
+                @can('message.activity.create')
+                    <a class="layui-btn layui-btn-sm" href="{{ route('admin.activity.create') }}">添加</a>
+                @endcan
+                <button class="layui-btn layui-btn-sm" id="memberSearch">搜索</button>
+                <button class="layui-btn layui-btn-sm" id="memberSearchOn">上线</button>
+                <button class="layui-btn layui-btn-sm" id="memberSearchOff">下线</button>
+            </div>
+            <div class="layui-form">
+
+                <div class="layui-input-inline">
+                    <input type="text" name="activity_title" id="activity_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="activity_delete">
+                @{{ d.activity_delete === 0 ? '<p style="color: lawngreen">上线</p>' : '<p style="color: red">下线</p>' }}
+            </script>
+            {{--<script type="text/html" id="info">
+                <div>
+                    <a style="cursor:pointer; color: #4141ef;" onclick="showInfo()">查看详情</a>
+                    <div class="layui-layer layui-layer-page layui-layer-prompt" id="layui-layer1" type="page" times="1"
+                         showtime="0" contype="string" style="display: none">
+                        <div class="layui-layer-title" style="cursor: move;">活动详情:@{{ d.activity_title}}</div>
+                        <div id="" class="layui-layer-content">
+                            <p>
+                                活动内容:
+                            </p>
+                            <p style="width: 100%; height: 70px; padding: 0 20px 0 20px;">
+                                @{{ d.activity_content}}
+                            </p>
+                            <p>
+                                活动数据:
+                            </p>
+                            <p style="height: 70px; padding: 0 20px 0 20px;">
+                                @{{ d.activity_data}}
+                            </p>
+                        </div>
+                        <span class="layui-layer-setwin">
+                            <a class="layui-layer-ico layui-layer-close layui-layer-close1" href="javascript:;" onclick="hideInfo()">
+                            </a>
+                        </span>
+                    </div>
+                </div>
+            </script>--}}
+            <script type="text/html" id="options">
+                <div class="layui-btn-group">
+                    @can('message.activity.edit')
+                        <a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>
+                    @endcan
+                    @can('message.activity.destroy')
+                        <a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">更改状态</a>
+                    @endcan
+                </div>
+            </script>
+            {{--<script type="text/html" id="avatar">
+                <a href="@{{d.avatar}}" target="_blank" title="点击查看"><img src="@{{d.avatar}}" alt="" width="28" height="28"></a>
+            </script>--}}
+        </div>
+    </div>
+@endsection
+
+@section('script')
+    @can('message.activity')
+        <script>
+            /*function showInfo() {
+                $("#layui-layer1").css({"z-index":"19891015", "top":"49px", "left":"378.5px", "display": "block", "width": "500px"});
+            }
+            function hideInfo() {
+                $("#layui-layer1").css({"display": "none"});
+            }*/
+            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.activity.data') }}" //数据接口
+                    ,where:{model:"activity"}
+                    ,page: true //开启分页
+                    ,cols: [[ //表头
+                        {checkbox: true,fixed: true}
+                        ,{field: 'activity_title', title: '活动主题'}
+                        ,{field: 'activity_content', title: '活动内容'}
+                        ,{field: 'activity_data', title: '活动数据'}
+                        ,{field: 'activity_beginTime', title: '活动开始'}
+                        ,{field: 'activity_endTime', title: '活动结束'}
+                        ,{field: 'activity_delete', title: '状态', width: 60, toolbar: '#activity_delete'}
+                        ,{field: 'activity_money', title: '购买金额'}
+                        ,{field: 'info', title: '详情', toolbar: '#info'}
+
+                        ,{fixed: 'right', width: 120, align:'center', toolbar: '#options'}
+                    ]]
+                });
+
+                //监听工具条
+                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.activity.destroy') }}",{_method:'delete',ids:[data.activity_identity],status:data.activity_delete},function (result) {
+                                if (result.code==0){
+                                    var activity_title = $("#activity_title").val();
+                                    dataTable.reload({
+                                        where:{activity_title:activity_title},
+                                        page:{curr:1}
+                                    })
+                                }
+                                layer.close(index);
+                                layer.msg(result.msg)
+                            });
+                        });
+                    } else if(layEvent === 'edit'){
+                        location.href = '/admin/activity/'+data.activity_identity+'/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.activity_identity)
+                        })
+                    }
+                    if (ids.length>0){
+                        layer.confirm('确认更改状态吗?', function(index){
+                            $.post("{{ route('admin.activity.destroy') }}",{_method:'delete',ids:ids},function (result) {
+                                if (result.code==0){
+                                    dataTable.reload()
+                                }
+                                layer.close(index);
+                                layer.msg(result.msg)
+                            });
+                        })
+                    }else {
+                        layer.msg('请选择更改状态项')
+                    }
+                })
+                //搜索
+                $("#memberSearch").click(function () {
+                    var activity_title = $("#activity_title").val();
+                    dataTable.reload({
+                        where:{activity_title:activity_title},
+                        page:{curr:1}
+                    })
+                })
+                //搜索
+                $("#memberSearchOn").click(function () {
+                    dataTable.reload({
+                        where:{activity_delete:0},
+                        page:{curr:1}
+                    })
+                })
+                //搜索
+                $("#memberSearchOff").click(function () {
+                    dataTable.reload({
+                        where:{activity_delete:1},
+                        page:{curr:1}
+                    })
+                })
+            })
+        </script>
+    @endcan
+@endsection
+
+
+

+ 1 - 1
resources/views/admin/index/index2.blade.php

@@ -590,4 +590,4 @@
     <script>
         layui.use(['index', 'sample']);
     </script>
-@endsection
+@endsection

+ 17 - 0
routes/admin.php

@@ -260,4 +260,21 @@ Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => ['aut
     Route::get('message/noticeAdd', 'MessageController@noticeAdd')->name('admin.message.noticeAdd')->middleware('permission:message.message.noticeAdd');
     Route::post('message/noticeStore', 'MessageController@noticeStore')->name('admin.message.noticeStore')->middleware('permission:message.message.noticeStore');
 
+
+    //活动
+    Route::group(['middleware' => 'permission:message.activity'], function () {
+
+        Route::get('activity/data', 'ActivityController@data')->name('admin.activity.data');
+        Route::get('activity', 'ActivityController@index')->name('admin.activity');
+        //添加
+        Route::get('activity/create', 'ActivityController@create')->name('admin.activity.create')->middleware('permission:message.activity.create');
+        Route::post('activity/store', 'ActivityController@store')->name('admin.activity.store')->middleware('permission:message.activity.create');
+        //编辑
+        Route::get('activity/{id}/edit', 'ActivityController@edit')->name('admin.activity.edit')->middleware('permission:message.activity.edit');
+        Route::put('activity/update', 'ActivityController@update')->name('admin.activity.update')->middleware('permission:message.activity.edit');
+        //删除
+        Route::delete('activity/destroy', 'ActivityController@destroy')->name('admin.activity.destroy')->middleware('permission:message.activity.destroy');
+
+
+    });
 });

Some files were not shown because too many files changed in this diff