Mike 7 年之前
父節點
當前提交
f6d0ee7827

+ 136 - 0
server/app/Http/Controllers/Admin/Suggest/InfoController.php

xqd
@@ -0,0 +1,136 @@
+<?php
+/**
+ *  客服信息
+ *  @author  system
+ *  @version    1.0
+ *  @date 2018-04-26 18:01:34
+ *
+ */
+namespace App\Http\Controllers\Admin\Suggest;
+use App\Http\Controllers\Admin\Controller;
+use Illuminate\Http\Request;
+use App\Repositories\Base\Criteria\OrderBy;
+use App\Repositories\Suggest\Criteria\MultiWhere;
+use App\Repositories\Suggest\InfoRepository;
+
+class InfoController extends Controller
+{
+    private $repository;
+
+    public function __construct(InfoRepository $repository) {
+        if(!$this->repository) $this->repository = $repository;
+    }
+
+    function index(Request $reqeust) {
+        $search['keyword'] = $reqeust->input('keyword');
+        $query = $this->repository->pushCriteria(new MultiWhere($search));
+
+        if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
+        $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
+        }
+        $list = $query->paginate();
+        return view('admin.suggest.info.index',compact('list'));
+    }
+
+
+    function check(Request $reqeust) {
+        $request = $reqeust->all();
+        $search['keyword'] = $reqeust->input('keyword');
+        $orderby = array();
+        if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
+            $orderby[$request['sort_field']] = $request['sort_field_by'];
+        }
+        $list = $this->repository->search($search,$orderby);
+        return view('admin.suggest.info.check',compact('list'));
+    }
+
+
+    /**
+     * 添加
+     * 
+     */
+    public function create(Request $reqeust)
+    {
+        if($reqeust->method() == 'POST') {
+            return $this->_createSave();
+        }
+        return view('admin.suggest.info.edit');
+    }
+
+    /**
+     * 保存修改
+     */
+    private function _createSave(){
+        $data = (array) request('data');
+        $id = $this->repository->create($data);
+        if($id) {
+            $url[] = array('url'=>U( 'Suggest/Info/index'),'title'=>'返回列表');
+            $url[] = array('url'=>U( 'Suggest/Info/create'),'title'=>'继续添加');
+            $this->showMessage('添加成功',$url);
+        }else{
+            $url[] = array('url'=>U( 'Suggest/Info/index'),'title'=>'返回列表');
+            return $this->showWarning('添加失败',$url);
+        }
+    }
+    
+    /**
+     * 
+     * 修改
+     * 
+     * 
+     */
+    public function update(Request $reqeust) {
+        if($reqeust->method() == 'POST') {
+            return $this->_updateSave();
+        }
+        $data = $this->repository->find($reqeust->get('id'));
+        return view('admin.suggest.info.edit',compact('data'));
+    }
+
+    /**
+     * 保存修改
+     */
+    private function _updateSave() {
+        $data = (array) request('data');
+        $ok = $this->repository->update(request('id'),$data);
+        if($ok) {
+            $url[] = array('url'=>U( 'Suggest/Info/index'),'title'=>'返回列表');
+            return $this->showMessage('操作成功',urldecode(request('_referer')));
+        }else{
+            $url[] = array('url'=>U( 'Suggest/Info/index'),'title'=>'返回列表');
+            return $this->showWarning('操作失败',$url);
+        }
+    }
+
+    public function view(Request $reqeust) {
+        $data = $this->repository->find(request('id'));
+        return view('admin.suggest.info.view',compact('data'));
+    }
+
+
+    /**
+     *
+     * 状态改变
+     *
+     */
+    public function status(Request $reqeust) {
+        $ok = $this->repository->updateStatus(request('id'),request('status'));
+        if($ok) {
+            return $this->showMessage('操作成功');
+        }else{
+            return $this->showWarning('操作失败');
+        }
+    }
+    
+    /**
+     * 删除
+     */
+    public function destroy(Request $reqeust) {
+        $bool = $this->repository->destroy($reqeust->get('id'));
+        if($bool) {
+            return  $this->showMessage('操作成功');
+        }else{
+            return  $this->showWarning("操作失败");
+        }
+    }
+}

+ 2 - 2
server/app/Http/Controllers/Admin/User/InfoController.php

xqd xqd
@@ -12,7 +12,7 @@ use App\Models\AccountLog;
 use App\Models\BaseAttachmentModel;
 use App\Models\MeetInfoModel;
 use App\Models\SearchInfoModel;
-use App\Models\Suggest;
+use App\Models\SuggestInfoModel;
 use App\Models\SupportDreamModel;
 use App\Models\SystemInfoModel;
 use App\Models\UserBanksModel;
@@ -215,7 +215,7 @@ class InfoController extends Controller
             UserBanksModel::where('user_id',$user_id)->delete();
             SystemInfoModel::where('user_id',$user_id)->delete();
             SupportDreamModel::where('user_id',$user_id)->delete();
-            Suggest::where('user_id',$user_id)->delete();
+            SuggestInfoModel::where('user_id',$user_id)->delete();
             SearchInfoModel::where('user_id',$user_id)->delete();
             MeetInfoModel::where('user_id',$user_id)->delete();
             return  $this->showMessage('操作成功');

+ 2 - 2
server/app/Http/Controllers/Api/V1/MyController.php

xqd xqd
@@ -9,7 +9,7 @@ use App\Models\CommentInfoModel;
 use App\Models\DreamInfoModel;
 use App\Models\InteractionInfo;
 use App\Models\SearchInfoModel;
-use App\Models\Suggest;
+use App\Models\SuggestInfoModel;
 use App\Models\SupportDreamModel;
 use App\Models\SystemInfoModel;
 use App\Models\UserBank;
@@ -684,7 +684,7 @@ class MyController extends Controller
         );
         if($validator->fails()) return $this->validatorError($validator->messages()->all(),ErrorCode::CLIENT_WRONG_PARAMS);
         $data['user_id'] = $user->id;
-        $ok =Suggest::create($data);
+        $ok =SuggestInfoModel::create($data);
         if ($ok) {
             return $this->api('');
         }else{

+ 2 - 2
server/app/Models/Suggest.php

xqd
@@ -4,9 +4,9 @@ namespace App\Models;
 
 use Illuminate\Database\Eloquent\Model;
 
-class Suggest extends Model
+class SuggestInfoModel extends Model
 {
-    protected $table = 'suggest';
+    protected $table = 'suggest_info';
     protected $fillable = [
         'user_id',
         'content',

+ 41 - 0
server/app/Models/SuggestInfoModel.php

xqd
@@ -0,0 +1,41 @@
+<?php
+namespace App\Models;
+use App\Models\BaseModel;
+/**
+ *  @description 客服信息
+ *  @author  system;
+ *  @version    1.0
+ *  @date 2018-04-26 18:01:34
+ *
+ */
+class SuggestInfoModel extends BaseModel
+{
+    /**
+     * 数据表名
+     *
+     * @var string
+     *
+     */
+    protected $table = 'suggest_info';
+    /**
+    主键
+     */
+    protected $primaryKey = 'id';
+
+    //分页
+    protected $perPage = PAGE_NUMS;
+
+    /**
+     * 可以被集体附值的表的字段
+     *
+     * @var string
+     */
+    protected $fillable = [
+                           'user_id',
+                           'dream_id',
+                           'content',
+                           'email',
+                           'reply'
+                          ];
+
+}

+ 45 - 0
server/app/Repositories/Suggest/Criteria/MultiWhere.php

xqd
@@ -0,0 +1,45 @@
+<?php
+/**
+ * User: Mike
+ * Email: m@9026.com
+ * Date: 2017/1/12
+ * Time: 17:52
+ */
+
+namespace App\Repositories\Suggest\Criteria;
+
+
+
+
+use App\Repositories\Base\Criteria;
+use App\Repositories\Contracts\RepositoryInterface as Repository;
+
+class MultiWhere extends Criteria {
+
+    private $search = [];
+
+    /**
+     * MultiWhere constructor.
+     * @param array $search
+     *
+     */
+    public function __construct(array $search)
+    {
+        $this->search = $search;
+    }
+
+    /**
+    * @param $model
+    * @param RepositoryInterface $repository
+    * @return mixed
+    */
+    public function apply($model, Repository $repository)
+    {
+          if(isset($this->search['updated_at']) && $this->search['updated_at']) {
+                                    $model = $model->where('updated_at',$this->search['updated_at']);
+                                 }
+
+         return $model;
+    }
+
+}

+ 21 - 0
server/app/Repositories/Suggest/InfoRepository.php

xqd
@@ -0,0 +1,21 @@
+<?php
+/**
+ *   客服信息
+ *  @author  system
+ *  @version    1.0
+ *  @date 2018-04-26 18:01:34
+ *
+ */
+namespace App\Repositories\Suggest;
+
+use App\Repositories\Base\Repository;
+
+
+class InfoRepository extends Repository {
+
+    public function model() {
+        return \App\Models\SuggestInfoModel::class;
+    }
+
+    
+}

+ 92 - 0
server/resources/views/admin/suggest/info/check.blade.php

xqd
@@ -0,0 +1,92 @@
+@extends('admin.layout')
+
+@section('content')
+	<div class="wrapper wrapper-content animated fadeInRight">
+		<div class="row">
+			<div class="col-sm-12">
+				<div class="ibox float-e-margins">
+					<div class="ibox-title">
+						<h5>客服信息</h5>
+						<div class="ibox-tools">
+							<a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+							</a>
+						</div>
+					</div>
+					<div class="ibox-content">
+						<div class="row">
+							<form method="GET" action="" accept-charset="UTF-8">
+
+								<div class="col-sm-4">
+									<div class="input-group">
+										<input type="text" value="{{Request::get('keyword')}}"	placeholder="请输入关键词" name="keyword"class="input-sm form-control">
+								<span class="input-group-btn">
+									<button type="submit" class="btn btn-sm btn-primary">搜索</button>
+								</span>
+									</div>
+								</div>
+							</form>
+							@if(role('Suggest/Info/create'))
+								<div class="col-sm-3 pull-right">
+									<a href="{{ U('Suggest/Info/create')}}" class="btn btn-sm btn-primary pull-right">添加</a>
+								</div>
+							@endif
+						</div>
+
+						<table class="table table-striped table-bordered table-hover dataTables-example dataTable dataCheckTable">
+							<thead>
+							<tr>
+								<th><input class="btSelectAll" name="btSelectAll" type="checkbox"></th>
+								
+            <th class="sorting" data-sort="id">  </th>
+            <th class="sorting" data-sort="user_id"> 用户ID </th>
+            <th class="sorting" data-sort="dream_id">  </th>
+            <th class="sorting" data-sort="content"> 建议 </th>
+            <th class="sorting" data-sort="email"> 收信邮箱 </th>
+            <th class="sorting" data-sort="reply"> 回复内容 </th>
+            <th class="sorting" data-sort="created_at">  </th>
+								<th width="22%">相关操作</th>
+							</tr>
+							</thead>
+							<tbody>
+							@if(isset($list))
+								@foreach($list as $key => $item)
+									<tr>
+									<td><input data-json='{!! json_encode($item) !!}'  name="btSelectItem" class="data_key" type="checkbox" value="{{ $item->id or 0 }}" /></td>
+									
+            <td>{{ $item->id }}</td>
+            <td>{{ $item->user_id }}</td>
+            <td>{{ $item->dream_id }}</td>
+            <td>{{ $item->content }}</td>
+            <td>{{ $item->email }}</td>
+            <td>{{ $item->reply }}</td>
+            <td>{{ $item->created_at }}</td>
+									<td>
+										@if(role('Suggest/Info/view'))
+											<button onclick="layer.open({type: 2,area: ['80%', '90%'],content: '{{ U('Suggest/Info/view',['id'=>$item->id])}}'});"  class="btn btn-primary ">查看</button>
+										@endif
+									</td>
+								</tr>
+								@endforeach
+							@endif
+
+							</tbody>
+						</table>
+						<div class="row">
+							<div class="col-sm-6">
+								<div class="dataTables_info" id="DataTables_Table_0_info"
+									 role="alert" aria-live="polite" aria-relevant="all">每页{{ $list->count() }}条,共{{ $list->lastPage() }}页,总{{ $list->total() }}条。</div>
+							</div>
+							<div class="col-sm-6">
+								<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
+									{!! $list->setPath('')->appends(Request::all())->render() !!}
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	@include('admin.tools.check_script');
+
+@endsection

+ 106 - 0
server/resources/views/admin/suggest/info/edit.blade.php

xqd
@@ -0,0 +1,106 @@
+@extends('admin.layout')
+
+@section('content')
+
+<?php
+    if(!isset($data)) $data = array();
+    if(!$data && session("data")){
+        $data = session("data");
+    }
+    if(!$data && session('_old_input')){
+        $data = session("_old_input");
+    }
+?>
+<div class="wrapper wrapper-content animated fadeInRight">
+	<div class="row">
+		<div class="col-sm-12">
+			<div class="ibox float-e-margins">
+				<div class="ibox-title">
+					<h5>客服信息</h5>
+					<div class="ibox-tools">
+						<a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+						</a>
+					</div>
+				</div>
+				<div class="ibox-content">
+                    @if(role('Suggest/Info/index'))
+				    <div class="row">
+    					<div class="col-sm-3 pull-right">
+    					   <a href="{{ U('Suggest/Info/index')}}" class="btn btn-sm btn-primary pull-right">返回列表</a>
+    					</div>
+					</div>
+                    @endif
+
+		            <div class="row">
+                        <div class="col-lg-10">
+                            <form name="form_product" id="form-validation" action="" class="form-horizontal form-validation" accept-charset="UTF-8" method="post">
+
+                                    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">用户ID</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_user_id" name="data[user_id]" class="form-control" value="{{ $data['user_id'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">梦想id</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_dream_id" name="data[dream_id]" class="form-control" value="{{ $data['dream_id'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">建议</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_content" name="data[content]" class="form-control" value="{{ $data['content'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">收信邮箱</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_email" name="data[email]" class="form-control" value="{{ $data['email'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">回复内容</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_reply" name="data[reply]" class="form-control" value="{{ $data['reply'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                </div>
+                                
+                                <div class="form-group">
+                                    <label class="control-label col-sm-3">&nbsp;</label>
+                                    <div class="col-sm-9">
+                                        <input type="hidden" name="_referer" value="<?php echo urlencode(request()->server('HTTP_REFERER'));?>"/>
+                                        <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"/>
+                                        <input type="submit" class="btn btn-success" style="margin-right:20px;">
+                                        <input type="reset" class="btn btn-default" >
+                                    </div>
+                                </div>
+        
+                            </form>
+                        </div>
+                        <!-- /.col-lg-10 -->
+                    </div>
+                    <!-- /.row -->
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+@endsection

+ 107 - 0
server/resources/views/admin/suggest/info/index.blade.php

xqd
@@ -0,0 +1,107 @@
+@extends('admin.layout') 
+
+@section('content')
+<div class="wrapper wrapper-content animated fadeInRight">
+	<div class="row">
+		<div class="col-sm-12">
+			<div class="ibox float-e-margins">
+				<div class="ibox-title">
+					<h5>客服信息</h5>
+					<div class="ibox-tools">
+						<a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+						</a>
+					</div>
+				</div>
+				<div class="ibox-content">
+				    <div class="row">
+				        <form method="GET" action="" accept-charset="UTF-8">
+
+				        <div class="col-sm-4">
+				            <div class="input-group">
+								<input type="text" value="{{Request::get('keyword')}}"	placeholder="请输入关键词" name="keyword"class="input-sm form-control"> 
+								<span class="input-group-btn">
+									<button type="submit" class="btn btn-sm btn-primary">搜索</button>
+								</span>
+    						</div>
+				        </div>
+				        </form>
+						@if(role('Suggest/Info/create'))
+    					<div class="col-sm-3 pull-right">
+    					   <a href="{{ U('Suggest/Info/create')}}" class="btn btn-sm btn-primary pull-right">添加</a>
+    					</div>
+						@endif
+					</div>
+					
+					<table class="table table-striped table-bordered table-hover dataTables-example dataTable">
+						<thead>
+    						<tr>
+								
+            <th class="sorting" data-sort="id">  </th>
+            <th class="sorting" data-sort="user_id"> 用户ID </th>
+            <th class="sorting" data-sort="dream_id"> 梦想id </th>
+            <th class="sorting" data-sort="content"> 建议 </th>
+            <th class="sorting" data-sort="email"> 收信邮箱 </th>
+            <th class="sorting" data-sort="reply"> 回复内容 </th>
+            <th class="sorting" data-sort="created_at"> 创建时间 </th>
+        						<th width="22%">相关操作</th>
+        					</tr>
+						</thead>
+						<tbody>
+						@if(isset($list))
+							@foreach($list as $key => $item)							<tr>
+								
+            <td>{{ $item->id }}</td>
+            <td>{{ $item->user_id }}</td>
+            <td>{{ $item->dream_id }}</td>
+            <td>{{ $item->content }}</td>
+            <td>{{ $item->email }}</td>
+            <td>{{ $item->reply }}</td>
+            <td>{{ $item->created_at }}</td>
+								<td>
+									<div class="btn-group">
+										<button data-toggle="dropdown"
+											class="btn btn-warning btn-sm dropdown-toggle"
+											aria-expanded="false">
+											操作 <span class="caret"></span>
+										</button>
+										<ul class="dropdown-menu">
+
+
+											@if(role('Suggest/Info/update'))
+											<li><a href="{{ U('Suggest/Info/update',['id'=>$item->id])}}" class="font-bold">修改</a></li>
+											@endif
+
+											@if(role('Suggest/Info/destroy'))
+											<li class="divider"></li>
+											<li><a href="{{ U('Suggest/Info/destroy',['id'=>$item->id])}}" onclick="return confirm('你确定执行删除操作?');">删除</a></li>
+											@endif
+
+										</ul>
+									</div>
+								@if(role('Suggest/Info/view'))
+										<button onclick="layer.open({type: 2,area: ['80%', '90%'],content: '{{ U('Suggest/Info/view',['id'=>$item->id])}}'});"  class="btn btn-primary ">查看</button>
+									@endif
+								</td>
+							</tr>
+							@endforeach
+							@endif
+
+						</tbody>
+					</table>
+					<div class="row">
+						<div class="col-sm-6">
+							<div class="dataTables_info" id="DataTables_Table_0_info"
+								role="alert" aria-live="polite" aria-relevant="all">每页{{ $list->count() }}条,共{{ $list->lastPage() }}页,总{{ $list->total() }}条。</div>
+						</div>
+						<div class="col-sm-6">
+						<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
+						{!! $list->setPath('')->appends(Request::all())->render() !!}
+						</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+@endsection

+ 67 - 0
server/resources/views/admin/suggest/info/view.blade.php

xqd
@@ -0,0 +1,67 @@
+@extends('admin.layout')
+
+@section('content')
+<div class="row">
+    <div class="ibox-content">
+        <div class="list-group">
+                                 
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading"></h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['id'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading">用户ID</h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['user_id'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading">梦想id</h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['dream_id'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading">建议</h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['content'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading">收信邮箱</h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['email'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading">回复内容</h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['reply'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading">创建时间</h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['created_at'] or ''}}</p>
+                                                 
+               </div>                     
+               <div class="list-group-item">
+                                                  
+                   <h3 class="list-group-item-heading"></h3>
+                                                   
+                   <p class="list-group-item-text"> {{ $data['updated_at'] or ''}}</p>
+                                                 
+               </div>
+        </div>
+    </div>
+</div>
+@endsection