فهرست منبع

Merge remote-tracking branch 'origin/jun' into liuxiangxin

liuxiangxin 3 ماه پیش
والد
کامیت
bc6a9910ed

+ 45 - 5
app/Http/Controllers/Admin/CouponRewardRule.php

@@ -33,8 +33,15 @@ class CouponRewardRule extends Auth{
         $list                   = $list->orderByDesc('id')->paginate(config('page_num',10));
 		// 循环处理数据
 		foreach ($list as $key => $value) {
-			// 优惠券名称
-			$value['coupon_name']	= $Coupon->query()->where([['id','=',$value['coupon_id']]])->value('name');
+            if($value['coupon_id']){
+                $coupon_ids             = explode(',',$value['coupon_id']);
+                $coupon_names           = [];
+                foreach ($coupon_ids as $v){
+                    $coupon_names[]     = $Coupon->query()->where([['id','=',$v]])->value('name');
+                }
+                // 优惠券名称
+                $value['coupon_name']   = implode(',',$coupon_names);
+            }
 			// 重组
 			$list[$key]			= $value;
 		}
@@ -55,7 +62,18 @@ class CouponRewardRule extends Auth{
 			$request->scene('add')->validate();
 			// 接收数据
 			$couponCode				= request('coupon_code','');
-			$data['coupon_id']		= $Coupon->codeToId($couponCode);
+            $couponID               =   '';
+            if ($couponCode)  {
+                // 兼容逗号问题
+                $couponCode		    =   str_ireplace(',',',',$couponCode);
+                $couponCode         =   explode(',',$couponCode);
+                $couponID           =   [];
+                foreach ($couponCode as $value) {
+                    $couponID[]     =  $Coupon->codeToId($value);
+                }
+                $couponID           =   implode(',',$couponID);
+            }
+			$data['coupon_id']		= $couponID;
 			$data['name']			= request('name','');
 			$data['std_num']		= request('std_num',0);
 			$data['start_time']		= request('start_time','');
@@ -121,7 +139,18 @@ class CouponRewardRule extends Auth{
 			$request->scene('edit')->validate();
 			// 接收数据
 			$couponCode				= request('coupon_code','');
-			$data['coupon_id']		= $Coupon->codeToId($couponCode);
+            $couponID               =   '';
+            if ($couponCode)  {
+                // 兼容逗号问题
+                $couponCode		    =   str_ireplace(',',',',$couponCode);
+                $couponCode         =   explode(',',$couponCode);
+                $couponID           =   [];
+                foreach ($couponCode as $value) {
+                    $couponID[]     =  $Coupon->codeToId($value);
+                }
+                $couponID           =   implode(',',$couponID);
+            }
+            $data['coupon_id']		= $couponID;
 			$data['name']			= request('name','');
 			$data['std_num']		= request('std_num',0);
 			$data['start_time']		= request('start_time','');
@@ -164,8 +193,19 @@ class CouponRewardRule extends Auth{
 		}
 		// 错误告知
 		if( !$oldData )				return $this->error('查无数据');
+        $couponCodes            =   '';
+        $couponIDArray          =   [];
+        if ($oldData['coupon_id'])  {
+            // 兼容逗号问题
+            $couponIDs		     =   str_ireplace(',',',',$oldData['coupon_id']);
+            $couponIDs           =   explode(',',$couponIDs);
+            foreach ($couponIDs as $value) {
+                $couponIDArray[] =  $Coupon->idToCode($value);
+            }
+            $couponCodes         =   implode(',',$couponIDArray);
+        }
 		// 优惠券编码
-		$oldData['coupon_code']		= $Coupon->idToCode($oldData['coupon_id']);
+		$oldData['coupon_code']		= $couponCodes;
 		// 排除客户
 		if( $oldData['remove_custom'] ) {
 			// 列表

+ 15 - 10
app/Http/Controllers/Api/Orders.php

@@ -474,16 +474,21 @@ class Orders extends Api{
 			}
 			// 判断总数是不是达标
 			if( $total < $value['std_num'] )  continue;
-			// 达标的是否已经发送过优惠券
-			$havaCoupon			= $CustomCoupon->query()->where([['custom_uid','=',$uid],['coupon_id','=',$value['coupon_id']]])->first(['status']);
-			// 已经发过优惠券的,不发
-			if( $havaCoupon )   continue;
-			// 获取优惠券的可用时间
-			$expTime			= $Coupon->query()->where([['id','=',$value['coupon_id']]])->value('exp_time');
-			// 时间转时间
-			$expTime			= $Coupon->getExpTime($expTime);
-			// 发送优惠券
-			$CustomCoupon->add(['coupon_id'=>$value['coupon_id'],'custom_uid'=>$uid,'exp_time'=>$expTime]);
+            if ($value['coupon_id']){
+                $couponIdArray = explode(',',$value['coupon_id']);
+                foreach ($couponIdArray as $couponId) {
+                    // 达标的是否已经发送过优惠券
+                    $havaCoupon			= $CustomCoupon->query()->where([['custom_uid','=',$uid],['coupon_id','=',$couponId]])->first(['status']);
+                    // 已经发过优惠券的,不发
+                    if( $havaCoupon )   continue;
+                    // 获取优惠券的可用时间
+                    $expTime			= $Coupon->query()->where([['id','=',$couponId]])->value('exp_time');
+                    // 时间转时间
+                    $expTime			= $Coupon->getExpTime($expTime);
+                    // 发送优惠券
+                    $CustomCoupon->add(['coupon_id'=>$couponId,'custom_uid'=>$uid,'exp_time'=>$expTime]);
+                }
+            }
 		}
 		// 返回成功
 		return					['success'=>'操作成功'];

+ 1 - 1
resources/views/admin/coupon_reward_rule/add.blade.php

@@ -14,7 +14,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 	</div>
 	<div class="form-group col-sm-12">
 		<label class="control-label">优惠券编码</label>
-		<input class="form-control" required="required" type="text" placeholder="优惠券编码" name="coupon_code" value="" />
+		<textarea class="form-control" name="coupon_code" rows="3" placeholder="优惠券编码,多个用逗号拼接" ></textarea>
 	</div>
 	<div class="form-group col-sm-6">
 		<label class="control-label">开始时间</label>

+ 1 - 1
resources/views/admin/coupon_reward_rule/edit.blade.php

@@ -14,7 +14,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 	</div>
 	<div class="form-group col-sm-12">
 		<label class="control-label">优惠券编码</label>
-		<input class="form-control" required="required" type="text" placeholder="优惠券编码" name="coupon_code" value="{{$oldData['coupon_code']}}" />
+		<textarea class="form-control" name="coupon_code" rows="3" placeholder="优惠券编码,多个用逗号拼接" >{{$oldData['coupon_code']}}</textarea>
 	</div>
 	<div class="form-group col-sm-6">
 		<label class="control-label">开始时间</label>