فهرست منبع

【Add】首页轮播增加下单条件

liuxiangxin 6 ماه پیش
والد
کامیت
0911fcd66a

+ 13 - 0
app/Http/Controllers/Admin/Banner.php

@@ -59,6 +59,12 @@ class Banner extends Auth{
 			$data['link_url']		= request('link_url','');
 			$cityIds				= request('city_ids',[]);
 			$data['city_ids']		= implode(',',$cityIds);
+			$data['start_time']		= request('start_time','');
+			$data['end_time']		= request('end_time','');
+			$data['start_time']		= $data['start_time'] ? strtotime($data['start_time']) : 0;
+			$data['end_time']		= $data['end_time'] ? strtotime($data['end_time']) : 0;
+			// 限购提示
+			if( $data['type'] && ( !$data['start_time'] || !$data['end_time'] )) 	return json_send(['code'=>'error','msg'=>'下单显示请填写活动时间','data'=>['error'=>'下单显示请填写时间']]);
 			// 写入
 			$id						= $Model->add($data);
 			// 提示新增失败
@@ -89,9 +95,16 @@ class Banner extends Auth{
 			$id						= request('id',0);
 			$data['name']			= request('name','');
 			$data['thumb']			= request('thumb','');
+			$data['type']			= request('type',0);
 			$data['link_url']		= request('link_url','');
 			$cityIds				= request('city_ids',[]);
 			$data['city_ids']		= implode(',',$cityIds);
+			$data['start_time']		= request('start_time','');
+			$data['end_time']		= request('end_time','');
+			$data['start_time']		= $data['start_time'] ? strtotime($data['start_time']) : 0;
+			$data['end_time']		= $data['end_time'] ? strtotime($data['end_time']) : 0;
+			// 限购提示
+			if( $data['type'] && ( !$data['start_time'] || !$data['end_time'] )) 	return json_send(['code'=>'error','msg'=>'下单显示请填写活动时间','data'=>['error'=>'下单显示请填写时间']]);
 			// 如果没有选择,则意味着全部
 			$cityIds				= $cityIds ? $cityIds : [1];
 			// 写入

+ 1 - 1
app/Http/Controllers/Admin/WeibanExternal.php

@@ -42,7 +42,7 @@ class WeibanExternal extends Auth{
 		if( $startTime )		$map[] = ['weiban_external.insert_time','<=',Carbon::createFromFormat('Y-m-d',$startTime)->endOfDay()->getTimestamp()];
 		if( !is_null($status) )	$map[] = ['weiban_external.status','=',$status];
 		// 查询数据
-		$list					= $Model->query()->join('weiban_follow','weiban_follow.weiban_extid','=','weiban_external.id')->where($map)->orderByDesc('insert_time')->paginate(config('page_num',10),['weiban_external.*','weiban_follow.staff_id','weiban_follow.staff_name','weiban_follow.remark','weiban_follow.phone_number'])->appends(request()->all());
+		$list					= $Model->query()->join('weiban_follow','weiban_follow.weiban_extid','=','weiban_external.id')->where($map)->groupBy('weiban_external.id')->orderByDesc('insert_time')->paginate(config('page_num',10),['weiban_external.*','weiban_follow.staff_id','weiban_follow.staff_name','weiban_follow.remark','weiban_follow.remark_corp_name','weiban_follow.phone_number'])->appends(request()->all());
 		// 循环处理数据
 		foreach ($list as $key => $value) {
 			// 如果有手机号,但是没有客户ID

+ 26 - 13
app/Http/Controllers/Api/Banner.php

@@ -3,6 +3,7 @@
 use App\Http\Controllers\Api\Api;
 use App\Models\Banner as Model;
 use App\Models\Custom;
+use App\Models\Orders;
 
 /**
  * 首页Banner
@@ -19,7 +20,7 @@ class Banner extends Api{
 	 * @param	string		$code		授权码
 	 * 
 	 * */
-	public function get_list(Model $Model,Custom $Custom){
+	public function get_list(Model $Model,Custom $Custom,Orders $Orders){
 		// 接口验签
 		// $this->verify_sign();
 		// 检查登录
@@ -29,20 +30,32 @@ class Banner extends Api{
 		// 客户的城市ID
 		$cityId							= empty($custom['city_id']) ? 0 : $custom['city_id'];
 		// 查新客户类型
-		$list			                = $Model->getList();
+		$data			                = $Model->getList();
+		// 最终列表
+		$list							= [];
 		// 循环处理数据
-		foreach ($list as $key => $value) {
-			//  如果没有限制城市
-			if( !$value['city_ids'] )	continue;
-			// 如果限制了的话,转数组
-			$value['city_ids']			= explode(',',$value['city_ids']);
-			// 判断用户的城市是否在内
-			if( in_array($cityId,$value['city_ids']) )  continue;
-			// 不在范围的删除
-			unset($list[$key]);
+		foreach ( $data as $value ) {
+			// 城市列表转数组
+			$value['city_ids']			= $value['city_ids'] ? explode(',',$value['city_ids']) : [];
+			//  如果没有限制城市,或者存在城市限制,但是客户的城市ID符合
+			if( !$value['city_ids'] || in_array($cityId,$value['city_ids']) ) {
+				// 正常显示类型
+				if( empty($value['type']) ) {
+					// 追加到数组中
+					$list[]				= $value;
+					// 跳过循环
+					continue;
+				}
+				// 如果不存在客户,跳过此项
+				if( !$uid )				continue;
+				// 查询时间段内的订单数据
+				$order					= $Orders->query()->where([['custom_uid','=',$uid],['status','=',1],['insert_time','>=',$value['start_time']],['insert_time','<=',$value['end_time']]])->first(['id']);
+				// 有订单才显示
+				if( !$order )			continue;
+				// 有订单才显示
+				$list[]					= $value;
+			}
 		}
-		// 获取数组格式
-        $list                           = array_values($list);
 		// 返回结果
 		return							json_send(['code'=>'success','msg'=>'获取成功','data'=>$list]);
 	}

+ 1 - 1
app/Http/Controllers/Api/CustomCoupon.php

@@ -28,7 +28,7 @@ class CustomCoupon extends Api{
 		// 接收参数
 		$limit						= request('limit',10);
 		// 显示
-		$map						= [['custom_coupon.custom_uid','=',$uid]];
+		$map						= [['custom_coupon.custom_uid','=',$uid],['custom_coupon.status','<>','4']];
 		// 查询
 		$Paginator					= $Model->query()->join('coupon','custom_coupon.coupon_id','=','coupon.id')->where($map)->orderBy('custom_coupon.status')->paginate($limit,['custom_coupon.id','coupon.id as coupon_id','coupon.name','coupon.type_id','coupon.rebate_type','coupon.std_pay','coupon.rebate','custom_coupon.status','custom_coupon.exp_time']);
 		// 通过优惠券ID,查询赠品

+ 4 - 3
app/Http/Controllers/Api/Test.php

@@ -1,6 +1,7 @@
 <?php namespace App\Http\Controllers\Api;
 
 use App\Http\Controllers\Api\Api;
+use App\Facades\Servers\WechatMini\Mini;
 
 /**
  * 测试接口
@@ -16,9 +17,9 @@ class Test extends Api{
 	 * 
 	 * */
 	public function sync_user(){
-        $uid 		= 2;
-
-		 return		$this->autoCoupon($uid);
+        // 跳转链接
+		$link						= Mini::getUrlLink('pages/index/index');
+		return 						json_send(['code'=>'error','msg'=>'禁用账号','data'=>$link]);
     }
 
 	/**

+ 1 - 6
app/Http/Requests/Admin/Custom.php

@@ -18,11 +18,6 @@ class Custom extends BaseRequest
     {
         // 编辑时排除ID 
         $id			= request('uid',null);
-        // 编辑时排除ID 
-        // 非重规则
-		$unique  	= Rule::unique('custom')->where(function ($query) {
-                        return $query->where(['username'=>request('username','')]);
-                    })->ignore($id,'uid');
         // 非重规则phone
 		$uniphone  	= Rule::unique('custom')->where(function ($query){
                         return $query->where(['phone'=>request('phone','')]);
@@ -31,7 +26,7 @@ class Custom extends BaseRequest
         return      [
             // 有时候我们希望某个字段在第一次验证失败后就停止运行验证规则,只需要将 bail 添加到规则中:
             // 验证字段,验证规则,提示信息
-	        'username' 			=> ['required',$unique],
+	        'username' 			=> ['required'],
             'phone'		        => ['required','regex:/^1[3456789][0-9]{9}$/',$uniphone],
 	        'uid'               => 'required|integer|gt:0',
             'custom_file'       => 'required|file'

+ 1 - 1
app/Models/Banner.php

@@ -69,7 +69,7 @@ class Banner extends Model
         // 不存在数据
         if ( !$list )          {
             // 从数据库获取数据
-            $data              = $this->query()->where(['status'=>0])->get(['id','thumb','name','link_url','city_ids','status']);
+            $data              = $this->query()->where(['status'=>0])->get(['id','thumb','name','link_url','type','start_time','end_time','city_ids','status']);
             // 是否有数据
             $data              = $data ? $data->toArray() : [];
             // 循环处理数据

+ 19 - 4
resources/views/admin/banner/add.blade.php

@@ -4,7 +4,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 @endsection
 @section('content')
 <form class="post-form" action="" method="post">
-	<div class="form-group col-sm-2">
+	<div class="form-group col-sm-3">
 		<label class="control-label">轮播图片【1200 x 675】</label>
 		<div id="thumb">
 			<a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
@@ -13,15 +13,30 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 			<input type="hidden" name="thumb" value="" id="input-image" />
 		</div>
 	</div>
-	<div class="form-group col-sm-10">
+	<div class="form-group col-sm-3">
 		<label class="control-label">轮播名称</label>
 		<input class="form-control" required="required" type="text" placeholder="轮播名称" maxlength="50" name="name" value="" />
 	</div>
-	<div class="form-group col-sm-5">
+	<div class="form-group col-sm-3">
 		<label class="control-label">跳转链接</label>
 		<input class="form-control" type="text" placeholder="跳转链接,/pages/user/follow 添加客服路径" maxlength="120" name="link_url" value="" />
 	</div>
-	<div class="form-group col-sm-5">
+	<div class="form-group col-sm-3">
+		<label class="control-label">显示类型</label>
+		<select name="type" class="form-control" >
+			<option value="0" >正常显示</option>
+			<option value="1" >下单显示</option>
+		</select>
+	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">下单开始时间</label>
+		<input class="form-control" type="datetime-local" placeholder="下单开始时间"  name="start_time" value="" />
+	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">下单结束时间</label>
+		<input class="form-control" type="datetime-local" placeholder="下单结束时间" name="end_time" value="" />
+	</div>
+	<div class="form-group col-sm-3">
 		<label class="control-label">显示城市</label>
 		<select name="city_ids[]" class="form-control selectpicker" data-live-search="true" data-live-search-placeholder="搜索城市" data-none-results-text="未搜索到 {0}" title="选择城市" multiple>
 			@foreach ($cityList as $group)

+ 19 - 4
resources/views/admin/banner/edit.blade.php

@@ -4,7 +4,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 @endsection
 @section('content')
 <form class="post-form" action="" method="post">
-	<div class="form-group col-sm-2">
+	<div class="form-group col-sm-3">
 		<label class="control-label">轮播图片【1200 x 675】</label>
 		<div id="thumb">
 			<a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
@@ -13,15 +13,30 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 			<input type="hidden" name="thumb" value="{{$oldData['thumb']}}" id="input-image" />
 		</div>
 	</div>
-	<div class="form-group col-sm-10">
+	<div class="form-group col-sm-3">
 		<label class="control-label">轮播名称</label>
 		<input class="form-control" required="required" type="text" placeholder="轮播名称" maxlength="50" name="name" value="{{$oldData['name']}}" />
 	</div>
-	<div class="form-group col-sm-5">
+	<div class="form-group col-sm-3">
 		<label class="control-label">跳转链接</label>
 		<input class="form-control" type="text" placeholder="跳转链接 '/pages/user/follow' 添加客服路径" maxlength="120" name="link_url" value="{{$oldData['link_url']}}" />
 	</div>
-	<div class="form-group col-sm-5">
+	<div class="form-group col-sm-3">
+		<label class="control-label">下单显示</label>
+		<select name="type" class="form-control" >
+			<option value="0" @if( $oldData['type'] == 0 ) selected @endif>正常显示</option>
+			<option value="1" @if( $oldData['type'] == 1 ) selected @endif >下单显示</option>
+		</select>
+	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">下单开始时间</label>
+		<input class="form-control" type="datetime-local" placeholder="开始时间"  name="start_time" value="{{date('Y-m-d H:i',$oldData['start_time'])}}" />
+	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">下单结束时间</label>
+		<input class="form-control" type="datetime-local" placeholder="结束时间" name="end_time" value="{{date('Y-m-d H:i',$oldData['end_time'])}}" />
+	</div>
+	<div class="form-group col-sm-3">
 		<label class="control-label">服务城市</label>
 		<select name="city_ids[]" class="form-control selectpicker" data-live-search="true" data-live-search-placeholder="搜索城市" data-none-results-text="未搜索到 {0}" title="选择城市" multiple>
 			@foreach ($cityList as $group)

+ 6 - 0
resources/views/admin/banner/index.blade.php

@@ -23,6 +23,9 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<th>名称</th>
 						<th>轮播图片</th>
 						<th>跳转链接</th>
+						<th>显示类型</th>
+						<th>下单开始时间</th>
+						<th>下单结束时间</th>
 						<th>状态</th>
 						<th>修改时间</th>
 						<th>操作</th>
@@ -35,6 +38,9 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<td> {{$a['name']}}</td>
 						<td> <img src="{{$a['thumb']}}" alt="" height="50"> </td>
 						<td> {{$a['link_url']}} </td>
+						<td> {{$a['type']?'下单显示':'正常显示'}} </td>
+						<td> {{date('Y/m/d H:i:s',$a['start_time'])}}</td>
+						<td> {{date('Y/m/d H:i:s',$a['end_time'])}}</td>
 						<td> {{$a['status']?'停用':'启用'}} </td>
 						<td> {{date('Y/m/d H:i:s',$a['update_time'])}}</td>
 						<td>

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

@@ -48,7 +48,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<tr>
 							<td> {{$a['id']}} </td>
 							<td> <img src="{{$a['avatar']}}" height="30" alt="{{$a['name']}}"> </td>
-							<td> {{$a['name']}} <span class="btn btn-xs btn-default">{{$a['remark']}}</span> </td>
+							<td> {{$a['name']}} <span class="btn btn-xs btn-default">{{$a['remark']}} 【{{$a['remark_corp_name']}}】</span> </td>
 							<td> {{$a['phone_number']}}</td>
 							<td> <span class="btn btn-xs btn-default">{{$a['staff_name']}}</span> </td>
 							<td>