소스 검색

修改拉新后台管理筛选搜索

jun 5 달 전
부모
커밋
7cd64d63ff

+ 21 - 1
app/Http/Controllers/Admin/RecruitmentActive.php

@@ -1,7 +1,7 @@
 <?php namespace App\Http\Controllers\Admin;
 
 use App\Facades\Servers\WechatMini\Mini;
-use App\Http\Requests\Admin\Coupon\Active as Request;
+use App\Http\Requests\Admin\RecruitmentActive as Request;
 use App\Models\RecruitmentActive as Model;
 use App\Models\City;
 use App\Models\WeiBan\Tags as WeiBanTags;
@@ -30,10 +30,27 @@ class RecruitmentActive extends Auth{
     public function index(Model $Model,City $City){
 		// 接收参数
 		$name					= request('name','');
+		$idCode					= request('id_code','');
+		$status					= request('status','');
+		$start_time				= request('start_time','');
+		$end_time			    = request('end_time','');
 		// 查询条件
 		$map 					= [];
 		// 组合条件
 		if( $name )				$map[] = ['name','=',$name];
+        if( $idCode ){
+            $id                 =   $Model->codeToId($idCode);
+            $map[] = ['id','=',$id];
+        }
+        if( $status )			$map[] = ['status','=',$status];
+        if( $start_time )		{
+            $start_time         =   strtotime($start_time);
+            $map[] = ['start_time','>=',$start_time];
+        }
+        if( $end_time )		{
+            $end_time         =   strtotime($end_time);
+            $map[] = ['end_time','<=',$end_time];
+        }
 		// 查询数据
 		$list					= $Model->query()->where($map)->orderByDesc('id')->paginate(config('page_num',10));
 		// 循环处理数据
@@ -52,6 +69,9 @@ class RecruitmentActive extends Auth{
                 }
                 // 城市列表
                 $value['city_ids']	= implode('、',$cityids);
+            }
+            if ($value['id']){
+                $value['id_code']   =   $Model->idToCode($value['id']);
             }
 			// 重组
 			$list[$key]			= $value;

+ 91 - 0
app/Http/Controllers/Admin/RecruitmentRecord.php

@@ -0,0 +1,91 @@
+<?php namespace App\Http\Controllers\Admin;
+
+use App\Facades\Servers\WechatMini\Mini;
+use App\Models\RecruitmentRecord as Model;
+use App\Models\Custom;
+use App\Models\RecruitmentActive;
+
+
+use function PHPUnit\Framework\isNull;
+
+/**
+ * 拉新活动
+ *
+ * @author    刘相欣
+ *
+ */
+class RecruitmentRecord extends Auth{
+	
+	protected function _initialize(){
+		parent::_initialize();
+		$this->assign('breadcrumb1','拉新活动');
+		$this->assign('breadcrumb2','活动数据列表');
+	}
+
+	/**
+	 * 列表页
+	 * 
+	 * */
+    public function index(Model $Model,Custom  $Custom,RecruitmentActive $RecruitmentActive){
+		// 接收参数
+		$code					= request('code','');
+		$old_uid_code			= request('old_uid_code','');
+		$new_uid_code			= request('new_uid_code','');
+		$start_time			    = request('start_time','');
+		$end_time			    = request('end_time','');
+		// 查询条件
+		$map 					= [];
+		// 组合条件
+		if( $code )	{
+            $activeId           =   $RecruitmentActive->codeToId($code);
+            $map[] = ['active_id','=',$activeId];
+        }
+        if( $old_uid_code )	{
+            $old_uid           =   $Custom->codeToId($old_uid_code);
+            $map[] = ['old_uid','=',$old_uid];
+        }
+        if( $new_uid_code )	{
+            $new_uid           =   $Custom->codeToId($new_uid_code);
+            $map[] = ['new_uid','=',$new_uid];
+        }
+        if( $start_time )		{
+            $start_time         =   strtotime($start_time);
+            $map[] = ['insert_time','>=',$start_time];
+        }
+        if( $end_time )		{
+            $end_time         =   strtotime($end_time);
+            $map[] = ['insert_time','<=',$end_time];
+        }
+		// 查询数据
+		$list					= $Model->query()->where($map)->orderByDesc('id')->paginate(config('page_num',10));
+		// 循环处理数据
+		foreach ($list as $key => $value) {
+            if( $value['old_uid'] ) {
+                $oldCustom              = $Custom->getOne($value['old_uid']);
+                if ($oldCustom){
+                    $value['old_name']	    = $oldCustom['username'];
+                    $value['old_uid_code']	= $Custom->idToCode($oldCustom['uid']);
+                }
+            }
+            if( $value['new_uid'] ) {
+                $oldCustom              = $Custom->getOne($value['new_uid']);
+                if ($oldCustom){
+                    $value['new_name']	    = $oldCustom['username'];
+                    $value['new_uid_code']	= $Custom->idToCode($oldCustom['uid']);
+                }
+            }
+            if ($value['active_id']){
+                $value['active_id_code']	= $RecruitmentActive->idToCode($value['active_id']);
+                $value['active_name']	    = $RecruitmentActive::query()->where('id','=',$value['active_id'])->value('name');
+            }
+			// 重组
+			$list[$key]			= $value;
+		}
+		// 分配数据
+		$this->assign('empty', '<tr><td colspan="20">~~暂无数据</td></tr>');
+		$this->assign('list',$list);
+		// 加载模板
+		return 					$this->fetch();
+    }
+
+}

+ 5 - 1
app/Http/Controllers/Api/Recruitment.php

@@ -80,6 +80,10 @@ class Recruitment extends Api{
                 }
             }
         }
+        if ($activeInfo){
+            $activeInfo['start_time']       =   date('Y-m-d H:i:s',$activeInfo['start_time']);
+            $activeInfo['end_time']         =   date('Y-m-d H:i:s',$activeInfo['end_time']);
+        }
         return							json_send(['code'=>'success','msg'=>'获取成功','data'=>$activeInfo]);
     }
 
@@ -99,7 +103,7 @@ class Recruitment extends Api{
         // 查询数据
         $Paginator					= $recruitmentPrizeRecord->query()
             ->join('recruitment_record','recruitment_record.id','=','recruitment_prize_record.recruitment_record_id')
-            ->join('custom','custom.id','=','recruitment_record.new_uid')
+            ->join('custom','custom.uid','=','recruitment_record.new_uid')
             ->where($map)
             ->orderByDesc('id')
             ->paginate($limit,['recruitment_prize_record.id','recruitment_prize_record.prize_type','recruitment_prize_record.prize','recruitment_prize_record.type','recruitment_prize_record.custom_uid','recruitment_prize_record.insert_time','recruitment_prize_record.recruitment_record_id','custom.username']);

+ 51 - 0
app/Http/Requests/Admin/RecruitmentActive.php

@@ -0,0 +1,51 @@
+<?php namespace App\Http\Requests\Admin;
+
+use App\Http\Requests\BaseRequest;
+
+/**
+ * 发放规则验证器
+ * 
+ */
+class RecruitmentActive extends BaseRequest
+{
+    /**
+     * 获取应用于请求的规则
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        // 返回结果
+        return      [
+            // 有时候我们希望某个字段在第一次验证失败后就停止运行验证规则,只需要将 bail 添加到规则中:
+            // 验证字段,验证规则,提示信息
+	        'name' 			    => 'required|unique:coupon_active,name,'.request('id',0),
+	        'id'                => 'required|integer|gt:0',
+        ];
+    }
+
+    
+    // 场景列表
+    protected   $scenes         = [
+		'add'  		            => ['name'],
+        'edit'  		        => ['id','name'],
+        'set_status'  		    => ['id'],
+	];
+
+    /**
+     * 获取已定义验证规则的错误消息
+     *
+     * @return array
+     */
+    public function messages()
+    {
+        return [
+            'name.required'     => '活动名称必填',
+            'name.unique'	    => '活动名称已经存在',
+            'id.required'       => 'ID未知',
+            'id.integer'        => 'ID格式错误',
+            'id.gt'   		    => 'ID格式错误',
+        ];
+    }
+    
+}

+ 24 - 4
app/Models/RecruitmentActive.php

@@ -65,7 +65,7 @@ class RecruitmentActive extends Model
     public function getList($force = false)
     {
         // 结果数据
-        $list                  = $force ? [] : cache('admin:coupon:active:list');
+        $list                  = $force ? [] : cache('admin:recruitment:active:list');
         // 不存在数据
         if ( !$list ) {
             // 从数据库获取数据
@@ -80,7 +80,7 @@ class RecruitmentActive extends Model
                 $list[$value['id']] = $value;
             }
             // 存起来
-            cache(['admin:coupon:active:list'=>$list]);
+            cache(['admin:recruitment:active:list'=>$list]);
         }
         // 返回结果
         return                  $list;
@@ -88,10 +88,10 @@ class RecruitmentActive extends Model
 
     /**
      * 获取配置平台对应的应用数据
-     * 
+     *
      * @param   Array      用户ID
      * @param   String     指定字段
-     * 
+     *
      */
     public function getOne($id,$field='')
     {
@@ -103,4 +103,24 @@ class RecruitmentActive extends Model
         return                  empty($field) ? $one : ( isset($one[$field]) ? $one[$field] : null);
     }
 
+    /**
+     * 编码转id
+     *
+     * @param  string $code 编码
+     *
+     */
+    public function codeToId($code){
+        return intval(str_ireplace('kllx','',$code));
+    }
+
+    /**
+     * id转编码
+     *
+     * @param  int  $uid 编码
+     *
+     */
+    public function idToCode($uid){
+        return 'kllx'. str_pad($uid, 9, '0', STR_PAD_LEFT);
+    }
+
 }

+ 18 - 1
resources/views/admin/recruitment_active/index.blade.php

@@ -14,6 +14,23 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
 		<input type="text" class="form-control" name="name" value="{{request('name','')}}" placeholder="请输入活动名称查询" />
 	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="text" class="form-control" name="id_code" value="{{request('id_code','')}}" placeholder="请输入活动编码查询" />
+	</div>
+	<div class="form-group col col-md-1" style="margin-right: 2px;">
+		<select name="status" class="form-control">
+			<option value="" >状态</option>
+			<option value="1" @if (request('status') === '1' ) selected="selected" @endif >启用</option>
+			<option value="2" @if (request('status') === '2' ) selected="selected" @endif >停用</option>
+			<option value="3" @if (request('status') === '3' ) selected="selected" @endif >结束</option>
+		</select>
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="date" class="form-control" name="start_time" value="{{request('start_time','')}}" placeholder="请输入创建时间查询" />
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="date" class="form-control" name="end_time" value="{{request('end_time','')}}" placeholder="请输入结束查询" />
+	</div>
 	<input type="submit" class="btn btn-sm btn-primary" value="查询"/>
 	<a href="{{url('admin/recruitment_active/index')}}" class="btn btn-sm btn-default" >重置</a>
 </form>
@@ -41,7 +58,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 				<tbody>
 						@foreach ($list as $a)
 						<tr>
-							<th>{{$a['id']}}</th>
+							<th>{{$a['id_code']}}</th>
 							<td>{{$a['name']}}</td>
 							<td>{{$a['city_ids']}}</td>
 							<td>{{$a['tag_scope']}}</td>

+ 67 - 0
resources/views/admin/recruitment_record/index.blade.php

@@ -0,0 +1,67 @@
+@extends('admin.public.base')
+@section('body_class')
+style="margin: 0 auto;width: 96%;padding: 30px 0px;"
+@endsection
+@section('content')
+
+<form action="" method="get" class="form-horizontal form-line">
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="text" class="form-control" name="code" value="{{request('code','')}}" placeholder="请输入活动编码查询" />
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="text" class="form-control" name="old_uid_code" value="{{request('old_uid_code','')}}" placeholder="请输入客户编码查询(老)" />
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="text" class="form-control" name="new_uid_code" value="{{request('new_uid_code','')}}" placeholder="请输入客户编码查询(新)" />
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="date" class="form-control" name="start_time" value="{{request('start_time','')}}" placeholder="请输入创建时间查询" />
+	</div>
+	<div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
+		<input type="date" class="form-control" name="end_time" value="{{request('end_time','')}}" placeholder="请输入结束查询" />
+	</div>
+	<input type="submit" class="btn btn-sm btn-primary" value="查询"/>
+	<a href="{{url('admin/recruitment_record/index')}}" class="btn btn-sm btn-default" >重置</a>
+</form>
+
+<div class="row">
+	<div class="col-xs-12">	
+		<div class="table-responsive">
+			<table class="table table-striped table-bordered table-hover">
+				<thead>
+					<tr>
+						<th>活动编码</th>
+						<th>活动名称</th>
+						<th>客户编码(老)</th>
+						<th>客户昵称(老)</th>
+						<th>客户编码(新)</th>
+						<th>客户昵称(新)</th>
+						<th>账号创建时间(新)</th>
+					</tr>
+				</thead>
+				
+				<tbody>
+						@foreach ($list as $a)
+						<tr>
+							<th>{{$a['active_id_code']}}</th>
+							<td>{{$a['active_name']}}</td>
+							<td>{{$a['old_uid_code']}}</td>
+							<td>{{$a['old_name']}}</td>
+							<td>{{$a['new_uid_code']}}</td>
+							<td>{{$a['new_name']}}</td>
+							<td> {{date('Y/m/d H:i:s',$a['insert_time'])}}</td>
+						</tr>  
+						@endforeach
+						<tr>
+							<td colspan="20" class="page">{{$list->render()}}</td>
+						</tr>
+						<tr>
+							<td colspan="20">总计 {{$list->total()}} 个商店</td>
+						</tr>
+				</tbody>
+				
+			</table>
+		</div>
+	</div>
+</div>
+@endsection

+ 2 - 0
routes/web.php

@@ -523,5 +523,7 @@ Route::middleware('admin')->prefix('admin')->group(function(){
     Route::any('recruitment_active/set_status',[App\Http\Controllers\Admin\RecruitmentActive::class,'set_status']);
     //奖励配置
     Route::any('recruitment_active_prize/edit',[App\Http\Controllers\Admin\RecruitmentActivePrize::class,'edit']);
+    // 拉新活动数据列表
+    Route::any('recruitment_record/index',[App\Http\Controllers\Admin\RecruitmentRecord::class,'index']);
 
 });