Procházet zdrojové kódy

【Add】积分订单增加发货状态等功能

liuxiangxin před 2 měsíci
rodič
revize
c939a08ff8

+ 32 - 18
app/Http/Controllers/Admin/ScoreOrders.php

@@ -71,31 +71,45 @@ class ScoreOrders extends Auth{
 		return						$this->fetch();
     }
 
-
 	/**
 	 * 状态
 	 * 
 	 * */
 	public function set_status( Request $request, Model $Model,Product $Product){
-		// 验证参数
-		$request->scene('set_status')->validate();
 		// 接收参数
-		$id				= request('id',0);
-		$status			= request('status',0);
-		// 获取产品和数量
-		$oldData 		= $Model->query()->find($id,['prouduct_id','buy_num']);
-		// 如果用户不存在
-		if( !$oldData )	return json_send(['code'=>'error','msg'=>'用户不存在']);
+		$id							= request('id',0);
 		// 查询数据
-		$result			= $Model->edit($id,['status'=>$status]);
-		// 提示新增失败
-		if( !$result )	return json_send(['code'=>'error','msg'=>'设置失败']);
-		// 如果是取消订单,库存更新
-		if( $status == 4 ) $Product->updateStock($oldData['product_id'],$oldData['buy_num']);
-		// 记录行为
-		$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],['status'=>$status]);
-		// 告知结果
-		return			json_send(['code'=>'success','msg'=>'设置成功','path'=>'']);
+		$oldData					= $Model->where(['id'=>$id])->first();
+		// 参数
+		if( request()->isMethod('post') ){
+			// 验证参数
+			$request->scene('set_status')->validate();
+			// 接收参数
+			$id						= request('id',0);
+			$data['status']			= request('status',0);
+			$data['track_number']	= request('track_number','');
+			// 获取产品和数量
+			$oldData 				= $Model->query()->find($id);
+			// 如果用户不存在
+			if( !$oldData )			return json_send(['code'=>'error','msg'=>'用户不存在']);
+			// 查询数据
+			$result					= $Model->edit($id,$data);
+			// 提示新增失败
+			if( !$result )			return json_send(['code'=>'error','msg'=>'设置失败']);
+			// 如果是取消订单,库存更新
+			if( $data['status'] == 4 ) 		$Product->updateStock($oldData['product_id'],$oldData['buy_num']);
+			// 记录行为
+			$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,$oldData,$data);
+			// 告知结果
+			return					json_send(['code'=>'success','msg'=>'设置成功','path'=>'']);
+		}
+		// 状态列表
+		$statusList					= $Model->getStatusList();
+		// 分配数据
+		$this->assign('oldData',$oldData);
+		$this->assign('statusList',$statusList);
+		// 加载模板
+		return						$this->fetch();
 	}
 
 }

+ 14 - 2
app/Http/Controllers/Api/Redpacket/Active.php

@@ -34,6 +34,8 @@ class Active extends Api{
 		$data			                = $Model->getOne($id);
 		// 如果存在的话
 		if( !$data )					return json_send(['code'=>'error','msg'=>'暂无活动','data'=>$data]);
+		// 活动时间判断
+		if( $data['end_time'] < time() ) 	return json_send(['code'=>'error','msg'=>'活动已结束','data'=>$data]);
 		// 获取客户信息
 		$custom							= $Custom->getOne($uid);
 		// 如果存在的话
@@ -92,7 +94,17 @@ class Active extends Api{
 			// 如果没有下单数据
 			if( !$orderTotal )			$data['allow_join']	= 0;
 			// 获取产品列表
-			if( $data['product_scope'] ) $data['product_list'] = $Product->getListByIds(explode(',',$data['product_scope']));
+			if( $data['product_scope'] ) {
+				// 产品列表
+				$data['product_list'] = $Product->getListByIds(explode(',',$data['product_scope']));
+				// 产品列表
+				foreach ($data['product_list'] as $key => $value) {
+					// 图片路径
+					$value['product_thumb'] = path_compat($value['product_thumb']);
+					// 重组数据					
+					$data['product_list'][$key] = $value;
+				}
+			}
 		}
 		// 奖品
 		$reward 						= $ActiveReward->getListByLottery($data['id']);
@@ -240,7 +252,7 @@ class Active extends Api{
 					// 是否直接发放
 					if( $data['is_arrive'] )	{
 						// 发放红包
-						$result 				= $CustomAmount->trade($uid,$activeId,$rewardResult['money'],8,1,'红包活动');
+						$result 		= $CustomAmount->trade($uid,$activeId,$rewardResult['money'],8,1,'红包活动');
 						// 发放失败,改为未中奖
 						if( isset($result['error']) ) {
 							// 回退数据

+ 4 - 1
resources/views/admin/redpacket_active/index.blade.php

@@ -58,7 +58,10 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 									@endif
 								@endif
 							</td>
-							<td>/pages/redpacket/active?id={{$a['id']}}</td>
+							<td>
+								<p>/pages/redpacket/active?id={{$a['id']}}&pageIndex=0【着落页】</p>
+								<p>/pages/redpacket/active?id={{$a['id']}}&pageIndex=1【抽奖页】</p>
+							</td>
 							<td>{{$a['mp_urllink']}}</td>
 							<td> {{date('Y/m/d H:i:s',$a['update_time'])}}</td>
 							<td>

+ 0 - 85
resources/views/admin/score_orders/detail.blade.php

@@ -1,85 +0,0 @@
-@extends('admin.public.base')
-@section('body_class')
-style="margin: 0 auto;width: 96%;padding: 30px 0px;"
-@endsection
-@section('content')
-<div class="row">
-	<div class="col-xs-12">
-		<div class="table-responsive">
-			<label for="">订单信息</label>
-			<table class="table table-bordered text-center">
-				<tbody>
-					<tr>
-						<th>订单ID</th>
-						<th>订单状态</th>
-						<th>订单描述</th>
-					</tr>
-					<tr>
-						<td>{{$order['order_id']}}</td>
-						<td>
-						    @if ( isset($order['order_status_id']) )
-    							@switch ($order['order_status_id'])
-    								@case(config('default_order_status')) 
-    									<span class="text-red">待支付</span>
-    								@break
-    								@case(config('paid_order_status')) 
-    									<span class="text-success">已支付</span>
-    								@break
-    								@default
-    									未知
-    							@endswitch
-							@endif
-						</td>
-						<td>{{$order['order_subject']?? ''}}</td>
-					</tr>
-					<tr>
-						<th>下单地区</th>
-						<th>下单系统</th>
-						<th>下单终端</th>
-					</tr>
-					<tr>
-						<td>{{$order['buyer_area'] ?? '未知'}}</td>
-						<td>{{$order['buyer_system'] ?? '未知'}}</td>
-						<td>{{$order['buyer_client'] ?? '未知'}}</td>
-					</tr>
-					@if (!empty($order['pay_id']))
-					<tr>
-						<th>支付类型--支付ID</th>
-						<th>支付时间</th>
-						<th>实际支付</th>
-					</tr>
-					<tr>
-						<td>{{$order['payment_code'] ?? ''}} -- {{$order['pay_id'] ?? ''}}</td>
-						<td>{{date('Y-m-d H:i:s',$order['pay_time'])}}</td>
-						<td>{{$order['pay_fee'] ?? ''}}</td>
-					</tr>
-					@endif
-				</tbody>
-			</table>
-		</div>
-		<div class="table-responsive">
-			<label for="">商品列表</label>
-			<table class="table table-striped table-bordered text-center table-hover">
-				<thead>
-					<tr>
-						<th>表盘ID</th>
-						<th>购买数量</th>
-						<th>购买单价</th>
-					</tr>
-				</thead>
-				<tbody>
-				    @if ( !empty($order['orders_dial'][0]) )
-    					@foreach ($order['orders_dial'] as $a)
-    					<tr class="active">
-    						<td>ID:{{$a['dial_id']}}</td>
-    						<td>{{$a['buy_num']}}件</td>
-    						<td>{{$a['buy_price']}}元</td>
-    					</tr>
-    					@endforeach
-					@endif
-				</tbody>
-			</table>
-		</div>
-	</div>
-</div>
-@endsection

+ 22 - 1
resources/views/admin/score_orders/index.blade.php

@@ -64,7 +64,11 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<td>{{$a['state']}}</td>
 						<td>{{date('Y-m-d H:i:s',$a['insert_time']??0)}}</td>
 						<td>
-							
+							@if( check_auth('admin/score_orders/set_status') )
+								<a class="modal_show btn btn-sm btn-primary" href="javascript:;" data-url="{{url('admin/score_orders/set_status?'.http_build_query(['id'=>$a['id'],'status'=>2]))}}" title="状态设置">
+									状态
+								</a>
+							@endif
 						</td>
 					</tr>
 					@endforeach
@@ -80,4 +84,21 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 		</div>
 	</div>
 </div>
+<div class="row">
+	<div class="col-xs-12">
+		<!-- Modal -->
+		<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
+			<div class="modal-dialog" role="document">
+				<div class="modal-content">
+					<div class="modal-header">
+						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+						<h4 class="modal-title" id="myModalLabel"></h4>
+					</div>
+					<div class="modal-body"></div>
+					<div class="modal-footer"></div>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
 @endsection

+ 20 - 0
resources/views/admin/score_orders/set_status.blade.php

@@ -0,0 +1,20 @@
+<form class="post-form" action="{{url('admin/score_orders/set_status')}}" method="post">
+	<div class="form-group col-sm-12">
+		<label class="control-label">设置状态</label>
+		<select name="status" required="required" class="form-control">
+			<option value="1" @if ( $oldData['status'] === '1' ) selected="selected" @endif >待发货</option>
+			<option value="3" @if ( $oldData['status'] === '3' ) selected="selected" @endif >已发货</option>
+			<option value="4" @if ( $oldData['status'] === '4' ) selected="selected" @endif >已取消</option>
+			<option value="8" @if ( $oldData['status'] === '8' ) selected="selected" @endif >已完成</option>
+		</select>
+	</div>
+	<div class="form-group col-sm-12">
+		<label class="control-label">物流单号</label>
+		<input class="form-control" type="text" placeholder="物流单号,设置" maxlength="32" name="track_number" value="{{$oldData['track_number']}}" />
+	</div>
+	<div class="form-group col-sm-12">
+		@csrf
+		<input type="hidden" name="id" value="{{$oldData['id']}}">
+		<input id="send" type="submit" value="提交" class="btn btn-primary btn-block" />
+	</div>
+</form>

+ 2 - 2
routes/web.php

@@ -798,7 +798,7 @@ Route::middleware('admin')->prefix('admin')->group(function(){
     // 状态
     Route::any('redpacket_active/set_status',[App\Http\Controllers\Admin\RedpacketActive::class,'set_status']);
 
-    /* 答题抽奖 奖品配置 */
+    /* 红包活动 奖品配置 */
     // 列表
     Route::any('redpacket_active_reward/index',[App\Http\Controllers\Admin\RedpacketActiveReward::class,'index']);
     // 详情
@@ -808,7 +808,7 @@ Route::middleware('admin')->prefix('admin')->group(function(){
     // 状态
     Route::any('redpacket_active_reward/set_status',[App\Http\Controllers\Admin\RedpacketActiveReward::class,'set_status']);
 
-    /* 答题抽奖记录 */
+    /* 红包活动 */
     // 列表
     Route::any('redpacket_active_record/index',[App\Http\Controllers\Admin\RedpacketActiveRecord::class,'index']);
     // 状态