Browse Source

hua wei activity

zz 6 years ago
parent
commit
9f08cec6a2

+ 30 - 1
app/Http/Controllers/Wap/Pay/OrdersController.php

@@ -861,12 +861,13 @@ class OrdersController extends Controller
                     DB::rollback();
                     DB::rollback();
                     return 'Order not exist.';
                     return 'Order not exist.';
                 }
                 }
+
                 $this->successPayPushMsg($uid, $product, $order->id);
                 $this->successPayPushMsg($uid, $product, $order->id);
                 $this->orderStatistical($order);
                 $this->orderStatistical($order);
                 $key = 'leyuee:to_send_not_pay_uid:distribution_channel_id:' . $distribution_channel_id;
                 $key = 'leyuee:to_send_not_pay_uid:distribution_channel_id:' . $distribution_channel_id;
                 Redis::hdel($key, $uid);
                 Redis::hdel($key, $uid);
                 DB::commit();
                 DB::commit();
-
+                $this->huaweiActivity($order->activity_id,$uid,$product_id);
                 // 注册动作-》回调订单
                 // 注册动作-》回调订单
                 $action_type = 'CallBackOrder';
                 $action_type = 'CallBackOrder';
                 $param = [
                 $param = [
@@ -1022,6 +1023,7 @@ class OrdersController extends Controller
                     $this->orderStatistical($order);
                     $this->orderStatistical($order);
                     DB::commit();
                     DB::commit();
                     $this->userProperty($uid);
                     $this->userProperty($uid);
+                    $this->huaweiActivity($order->activity_id,$uid,$product_id);
                     //redis 删除未支付的uid
                     //redis 删除未支付的uid
                     try {
                     try {
                         $key = 'leyuee:to_send_not_pay_uid:distribution_channel_id:' . $distribution_channel_id;
                         $key = 'leyuee:to_send_not_pay_uid:distribution_channel_id:' . $distribution_channel_id;
@@ -1132,6 +1134,7 @@ class OrdersController extends Controller
                 $this->orderStatistical($order);
                 $this->orderStatistical($order);
                 DB::commit();
                 DB::commit();
                 $this->userProperty($uid);
                 $this->userProperty($uid);
+                $this->huaweiActivity($order->activity_id,$uid,$product_id);
                 //redis 删除未支付的uid
                 //redis 删除未支付的uid
                 $key = 'leyuee:to_send_not_pay_uid:distribution_channel_id' . $distribution_channel_id;
                 $key = 'leyuee:to_send_not_pay_uid:distribution_channel_id' . $distribution_channel_id;
                 Redis::hdel($key, $uid);
                 Redis::hdel($key, $uid);
@@ -1264,6 +1267,7 @@ class OrdersController extends Controller
                     UserService::PushUserActionToQueue($action_type, $distribution_channel_id, $param);
                     UserService::PushUserActionToQueue($action_type, $distribution_channel_id, $param);
 
 
                     $this->userProperty($uid);
                     $this->userProperty($uid);
+                    $this->huaweiActivity($order->activity_id,$uid,$product_id);
 
 
                 }
                 }
             } else {
             } else {
@@ -1703,4 +1707,29 @@ class OrdersController extends Controller
         }catch (\Exception $e){}
         }catch (\Exception $e){}
 
 
     }
     }
+
+    private function huaweiActivity($activity_id,$uid,$product_id){
+        $huawei_activity_id = redisEnv('HUAWEI_ACTIVITY_ID');
+
+        if($huawei_activity_id &&  $activity_id && $activity_id == $huawei_activity_id){
+            $product_id_relate_lottery_count = ['6117'=>1,'6118'=>2,'6119'=>3,'6120'=>4];
+            if(isset($product_id_relate_lottery_count[$product_id])){
+                $info = DB::table('huaweilottery_user_counts')->where('uid',$uid)->select('count')->first();
+                if($info){
+                    DB::table('huaweilottery_user_counts')->where('uid',$uid)->update([
+                        'uid'=>$uid,
+                        'count'=>$info->count+$product_id_relate_lottery_count[$product_id],
+                        'updated_at'=>date('Y-m-d H:i:s')
+                    ]);
+                }else{
+                    DB::table('huaweilottery_user_counts')->insert([
+                        'uid'=>$uid,
+                        'count'=>$product_id_relate_lottery_count[$product_id],
+                        'updated_at'=>date('Y-m-d H:i:s'),
+                        'created_at'=>date('Y-m-d H:i:s')
+                    ]);
+                }
+            }
+        }
+    }
 }
 }

+ 106 - 49
app/Http/Controllers/Wap/Web/ActivityController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Wap\Web;
 
 
 use App\Modules\Activity\Services\ActivityService;
 use App\Modules\Activity\Services\ActivityService;
 use App\Modules\Product\Services\ProductService;
 use App\Modules\Product\Services\ProductService;
+use App\Modules\User\Services\UserService;
 use Illuminate\Http\Request;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Wap\BaseController;
 use App\Http\Controllers\Wap\BaseController;
 use Redis;
 use Redis;
@@ -13,15 +14,16 @@ class ActivityController extends BaseController
 {
 {
 
 
     //渠道自定义活动  可以多少充值
     //渠道自定义活动  可以多少充值
-    public function channelCustomActivity(Request $request){
+    public function channelCustomActivity(Request $request)
+    {
         $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
         $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
         $token = $request->input('token');
         $token = $request->input('token');
         $activity_info = ActivityService::getByToken($token);
         $activity_info = ActivityService::getByToken($token);
         $img = 'https://cdn-novel.iycdm.com/h5/activity-chanel-custom/btn48.jpg';
         $img = 'https://cdn-novel.iycdm.com/h5/activity-chanel-custom/btn48.jpg';
         if ($activity_info && $activity_info->product_id) {
         if ($activity_info && $activity_info->product_id) {
-            $customer_activity_info = DB::table('channel_custom_activity')->where('product_id',$activity_info->product_id)->select('setting')->first();
-            if($customer_activity_info && $customer_activity_info->setting){
-                $img = json_decode($customer_activity_info->setting,1)['img'];
+            $customer_activity_info = DB::table('channel_custom_activity')->where('product_id', $activity_info->product_id)->select('setting')->first();
+            if ($customer_activity_info && $customer_activity_info->setting) {
+                $img = json_decode($customer_activity_info->setting, 1)['img'];
             }
             }
             $from = $request->input('fromtype', 'main');
             $from = $request->input('fromtype', 'main');
             $uv_key_format = 'activity:%s:distribution_channel_id:%s:date:%s:uv';
             $uv_key_format = 'activity:%s:distribution_channel_id:%s:date:%s:uv';
@@ -33,15 +35,15 @@ class ActivityController extends BaseController
             //$order = Order::where('uid',$this->uid)->where('status','PAID')->where('activity_id',$activity_info->id)->count();
             //$order = Order::where('uid',$this->uid)->where('status','PAID')->where('activity_id',$activity_info->id)->count();
             //渠道不符合
             //渠道不符合
             if ($activity_info->distribution_channel_id != $this->distribution_channel_id) {
             if ($activity_info->distribution_channel_id != $this->distribution_channel_id) {
-                return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img'=>$img,'code' => -1, 'start_time' => date('Y-m-d', time() - 86400 * 2), 'end_time' => date('Y-m-d', time() - 86400)]);
+                return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img' => $img, 'code' => -1, 'start_time' => date('Y-m-d', time() - 86400 * 2), 'end_time' => date('Y-m-d', time() - 86400)]);
             }
             }
             //活动未开始
             //活动未开始
             if (time() < strtotime($activity_info->start_time)) {
             if (time() < strtotime($activity_info->start_time)) {
-                return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img'=>$img, 'code' => -3, 'start_time' => date('Y-m-d', strtotime($activity_info->start_time)), 'end_time' => date('Y-m-d', strtotime($activity_info->end_time) - 100)]);
+                return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img' => $img, 'code' => -3, 'start_time' => date('Y-m-d', strtotime($activity_info->start_time)), 'end_time' => date('Y-m-d', strtotime($activity_info->end_time) - 100)]);
             }
             }
             //活动结束
             //活动结束
             if (time() > strtotime($activity_info->end_time)) {
             if (time() > strtotime($activity_info->end_time)) {
-                return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img'=>$img, 'code' => -1, 'start_time' => date('Y-m-d', strtotime($activity_info->start_time)), 'end_time' => date('Y-m-d', strtotime($activity_info->end_time) - 100)]);
+                return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img' => $img, 'code' => -1, 'start_time' => date('Y-m-d', strtotime($activity_info->start_time)), 'end_time' => date('Y-m-d', strtotime($activity_info->end_time) - 100)]);
             }
             }
 
 
             if (time() > strtotime($activity_info->start_time) && time() < strtotime($activity_info->end_time)) {
             if (time() > strtotime($activity_info->start_time) && time() < strtotime($activity_info->end_time)) {
@@ -55,10 +57,10 @@ class ActivityController extends BaseController
                     'pay_redirect_url' => env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/person'
                     'pay_redirect_url' => env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/person'
                 ];
                 ];
                 $url = env('CREATE_PAY_URL') . '?' . http_build_query($param);
                 $url = env('CREATE_PAY_URL') . '?' . http_build_query($param);
-                return view('pay.activity.ChannelCustomerV1', ['url' => $url, 'img'=>$img, 'code' => 0, 'start_time' => date('Y-m-d', strtotime($activity_info->start_time)), 'end_time' => date('Y-m-d', strtotime($activity_info->end_time) - 100)]);
+                return view('pay.activity.ChannelCustomerV1', ['url' => $url, 'img' => $img, 'code' => 0, 'start_time' => date('Y-m-d', strtotime($activity_info->start_time)), 'end_time' => date('Y-m-d', strtotime($activity_info->end_time) - 100)]);
             }
             }
         }
         }
-        return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img'=>$img, 'code' => -1, 'start_time' => date('Y-m-d', time() - 86400 * 2), 'end_time' => date('Y-m-d', time() - 86400)]);
+        return view('pay.activity.ChannelCustomerV1', ['url' => '###', 'img' => $img, 'code' => -1, 'start_time' => date('Y-m-d', time() - 86400 * 2), 'end_time' => date('Y-m-d', time() - 86400)]);
     }
     }
 
 
 
 
@@ -81,7 +83,7 @@ class ActivityController extends BaseController
                 $redirect_url = urldecode($redirect_url);
                 $redirect_url = urldecode($redirect_url);
             }
             }
             $product_id = $activity_info->product_id;
             $product_id = $activity_info->product_id;
-            if($activity_info->id == 6000){
+            if ($activity_info->id == 6000) {
                 $imgs['page_bd_img'] = 'https://cdn-novel.iycdm.com/h5/activity-2019-04-29/bg2.jpg';
                 $imgs['page_bd_img'] = 'https://cdn-novel.iycdm.com/h5/activity-2019-04-29/bg2.jpg';
                 $product_id = 5788;
                 $product_id = 5788;
             }
             }
@@ -110,96 +112,151 @@ class ActivityController extends BaseController
         return redirect()->to($default_url);
         return redirect()->to($default_url);
     }
     }
 
 
-    public function crmActivity(Request $request){
+    public function crmActivity(Request $request)
+    {
         $default_url = env('H5_SCHEME', 'https') . '://site' . $this->en_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/';
         $default_url = env('H5_SCHEME', 'https') . '://site' . $this->en_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/';
 
 
         $token = $request->input('token');
         $token = $request->input('token');
-        if(!$token){
+        if (!$token) {
             return redirect()->to($default_url);
             return redirect()->to($default_url);
         }
         }
         $activity_info = ActivityService::getByToken($token);
         $activity_info = ActivityService::getByToken($token);
-        if(!$activity_info){
+        if (!$activity_info) {
             return redirect()->to($default_url);
             return redirect()->to($default_url);
         }
         }
-        $img = \GuzzleHttp\json_decode($activity_info->setting,1);
+        $img = \GuzzleHttp\json_decode($activity_info->setting, 1);
         $param = [
         $param = [
             'uid' => $this->uid,
             'uid' => $this->uid,
             'distribution_channel_id' => $this->distribution_channel_id,
             'distribution_channel_id' => $this->distribution_channel_id,
             'product_id' => $activity_info->product_id,
             'product_id' => $activity_info->product_id,
             'activity_id' => $activity_info->id,
             'activity_id' => $activity_info->id,
             'fromtype' => 'crm',
             'fromtype' => 'crm',
-            'pay_redirect_url' => $default_url.'person',
+            'pay_redirect_url' => $default_url . 'person',
             'limit' => 100,
             'limit' => 100,
         ];
         ];
         $product_info = ProductService::getProductSingle($activity_info->product_id);
         $product_info = ProductService::getProductSingle($activity_info->product_id);
         $url = env('CREATE_PAY_URL') . '?' . http_build_query($param);
         $url = env('CREATE_PAY_URL') . '?' . http_build_query($param);
-        $fee = $product_info->price*100+$product_info->given;
-        return view('crm.crmActivity', ['url' => $url,'img'=>$img['button'],'fee'=>$fee]);
+        $fee = $product_info->price * 100 + $product_info->given;
+        return view('crm.crmActivity', ['url' => $url, 'img' => $img['button'], 'fee' => $fee]);
     }
     }
 
 
-    public function huaweiActivity(Request $request){
+    public function huaweiActivity(Request $request)
+    {
         $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
         $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
-        $token = $request->input('token');
-        $activity_info = ActivityService::getByToken($token);
+        $activity_id = redisEnv('HUAWEI_ACTIVITY_ID',0);
+        $activity_info = ActivityService::getById($activity_id);
         if ($activity_info && isset($activity_info->setting) && empty(!$activity_info->setting)) {
         if ($activity_info && isset($activity_info->setting) && empty(!$activity_info->setting)) {
-            $imgs = json_decode($activity_info->setting, 1);
             $from = $request->input('fromtype', 'main');
             $from = $request->input('fromtype', 'main');
+            $display_dialog = $request->input('display_dialog', 'none');
             $uv_key_format = 'activity:%s:distribution_channel_id:%s:date:%s:uv';
             $uv_key_format = 'activity:%s:distribution_channel_id:%s:date:%s:uv';
             $pv_key_format = 'activity:%s:distribution_channel_id:%s:pv';
             $pv_key_format = 'activity:%s:distribution_channel_id:%s:pv';
             $uv_key = sprintf($uv_key_format, $activity_info->id, $this->distribution_channel_id, date('Y-m-d'));
             $uv_key = sprintf($uv_key_format, $activity_info->id, $this->distribution_channel_id, date('Y-m-d'));
             $pv_key = sprintf($pv_key_format, $activity_info->id, $this->distribution_channel_id);
             $pv_key = sprintf($pv_key_format, $activity_info->id, $this->distribution_channel_id);
-
-            $redirect_url = env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/person';
-            if ($request->input('redirect_url')) {
-                $redirect_url = $request->input('redirect_url');
-                $redirect_url = urldecode($redirect_url);
-            }
             if (time() > strtotime($activity_info->start_time) && time() < strtotime($activity_info->end_time)) {
             if (time() > strtotime($activity_info->start_time) && time() < strtotime($activity_info->end_time)) {
                 Redis::sadd($uv_key, $this->uid);
                 Redis::sadd($uv_key, $this->uid);
                 Redis::hincrby($pv_key, date('Y-m-d'), 1);
                 Redis::hincrby($pv_key, date('Y-m-d'), 1);
-                $products = explode(',',$activity_info->setting);
+                $products = explode(',', $activity_info->setting);
                 $url = [];
                 $url = [];
-                foreach ($products as $v){
+                $request_param = $request->except('_url');
+                $request_param['display_dialog'] = 'block';
+                $count_info = DB::table('huaweilottery_user_counts')->where('uid', $this->uid)->select('count')->first();
+                $count = 0;
+                if($count_info && $count_info->count){
+                    $count = $count_info->count;
+                }
+                foreach ($products as $v) {
                     $param = [
                     $param = [
                         'uid' => $this->uid,
                         'uid' => $this->uid,
                         'distribution_channel_id' => $this->distribution_channel_id,
                         'distribution_channel_id' => $this->distribution_channel_id,
                         'product_id' => $v,
                         'product_id' => $v,
                         'activity_id' => $activity_info->id,
                         'activity_id' => $activity_info->id,
                         'fromtype' => $from,
                         'fromtype' => $from,
-                        'pay_redirect_url' => $redirect_url,
+                        'pay_redirect_url' => '/activity/huaweiActivity?'.http_build_query($request_param),
                         'limit' => 100,
                         'limit' => 100,
                     ];
                     ];
                     $url[] = env('CREATE_PAY_URL') . '?' . http_build_query($param);
                     $url[] = env('CREATE_PAY_URL') . '?' . http_build_query($param);
                 }
                 }
-                return view('pay.activity.huaweiActivity', ['url' => $url, 'code' => 0, 'img' => $imgs]);
+                return view('pay.activity.huaweiActivity', ['url' => $url, 'code' => 0,'display_dialog'=>$display_dialog,'count'=>$count ,'end_time'=>$activity_info->end_time]);
             } else if (time() <= strtotime($activity_info->start_time)) {
             } else if (time() <= strtotime($activity_info->start_time)) {
-                return view('pay.activity.huaweiActivity', ['url' => [], 'code' => 1, 'img' => $imgs]);
+                return view('pay.activity.huaweiActivity', ['url' => [], 'code' => 1 ,'display_dialog'=>'none','count'=>0,'end_time'=>$activity_info->end_time]);
             } else {
             } else {
-                return view('pay.activity.huaweiActivity', ['url' => [], 'code' => 2, 'img' => $imgs]);
+                return view('pay.activity.huaweiActivity', ['url' => [], 'code' => 2,'display_dialog'=>'none','count'=>0,'end_time'=>$activity_info->end_time]);
             }
             }
         }
         }
         $default_url = env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/';
         $default_url = env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/';
         return redirect()->to($default_url);
         return redirect()->to($default_url);
     }
     }
 
 
-    public function huaweiLotteryView(){
-        return view('pay.activity.huaweiLottery', ['count'=>10,'time_diff'=>6554]);
-    }
+    public function huaweiLotteryView()
+    {
+        $count_info = DB::table('huaweilottery_user_counts')->where('uid', $this->uid)->select('count')->first();
+        $count = 0;
+        if($count_info && $count_info->count){
+            $count = $count_info->count;
+        }
+        $activity_id = redisEnv('HUAWEI_ACTIVITY_ID',0);
 
 
-    public function huaweiLottery(){
-        $code = random_int(1,1000);
-        $count = random_int(6,10);
-        if($code <=20){
-            // 100书币
-            $point = 20+45*7;
-        }elseif($code <= 200){
-            $point = 20+45;
-        }elseif($code <= 700){
-            $point =20+45*3;
+        $activity_info = ActivityService::getById($activity_id);
+        if(!$activity_info){
+            $diff = 0;
         }else{
         }else{
-            $point =20+45*2;
+            $diff = time()-strtotime($activity_info->end_time);
+            $diff = $diff>0?$diff:0;
+        }
+        $list = DB::table('huaweilottery_record')
+            ->where('uid',$this->uid)
+            ->where('price','>',0)
+            ->select('created_at','price')
+            ->get();
+        return view('pay.activity.huaweiLottery', ['count' => $count, 'time_diff' => $diff,'list'=>$list]);
+    }
+
+    public function huaweiLottery()
+    {
+        $count_info = DB::table('huaweilottery_user_counts')->where('uid', $this->uid)->select('count')->first();
+        $rest_count = 0;
+        if ($count_info && $count_info->count) {
+            $rest_count = $count_info->count;
         }
         }
-        $rotate = $point+360*$count;
-        return response()->success(compact('rotate'));
+
+        $count = random_int(6, 10);
+        if ($rest_count <= 0) {
+            return response()->success(['rotate' => 20 + 45 * 2 * $count]);
+        }
+
+
+        DB::table('huaweilottery_user_counts')->where('uid', $this->uid)->update([
+            'count' => $rest_count - 1,
+            'updated_at' => date('Y-m-d H:i:s')
+        ]);
+
+        $code = random_int(1, 1000);
+        if ($code <= 20) {
+            // 1000书币
+            $point = 20 + 45 * 7;
+            $price = 1000;
+        } elseif ($code <= 200) {
+            //100
+            $point = 20 + 45;
+            $price = 100;
+        } elseif ($code <= 700) {
+            //50
+            $point = 20 + 45 * 3;
+            $price = 50;
+        } else {
+            $point = 20 + 45 * 2;
+            $price = 0;
+        }
+        $rotate = $point + 360 * $count;
+        if ($price > 0) {
+            UserService::addBalance($this->uid, $price, 0, $price);
+        }
+        DB::table('huaweilottery_record')->insert([
+            'uid' => $this->uid,
+            'price' => $price,
+            'created_at' => date('Y-m-d H:i:s'),
+            'updated_at' => date('Y-m-d H:i:s'),
+        ]);
+        return response()->success(compact('rotate','price'));
     }
     }
 }
 }

+ 1 - 0
app/Http/Routes/Wap/WapRoutes.php

@@ -250,6 +250,7 @@ Route::group(['domain'=>env('WAP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap
         Route::get('activity/common','Web\ActivityController@commonActivity');
         Route::get('activity/common','Web\ActivityController@commonActivity');
         Route::get('activity/crm','Web\ActivityController@crmActivity');
         Route::get('activity/crm','Web\ActivityController@crmActivity');
         Route::get('activity/huaweiLottery','Web\ActivityController@huaweiLotteryView');
         Route::get('activity/huaweiLottery','Web\ActivityController@huaweiLotteryView');
+        Route::get('activity/huaweiActivity','Web\ActivityController@huaweiActivity');
 
 
         Route::get('welfare/giving','Web\WelfareController@giving');
         Route::get('welfare/giving','Web\WelfareController@giving');
 
 

+ 119 - 9
resources/views/pay/activity/huaweiActivity.blade.php

@@ -55,7 +55,7 @@
             -webkit-transform: translateX(-50%);
             -webkit-transform: translateX(-50%);
             transform: translateX(-50%);
             transform: translateX(-50%);
             width: 1rem;
             width: 1rem;
-            height: .35rem;
+            height: 0.35rem;
         }
         }
 
 
         .main_box .activity-time {
         .main_box .activity-time {
@@ -122,11 +122,11 @@
 
 
         .main_box .to-recharge {
         .main_box .to-recharge {
             width: 90%;
             width: 90%;
-            margin: .16rem auto 0;
+            margin: 0.16rem auto 0;
             display: block;
             display: block;
             text-align: center;
             text-align: center;
             color: #6f4518;
             color: #6f4518;
-            font-size: .18rem;
+            font-size: 0.18rem;
             line-height: 50px;
             line-height: 50px;
             background-image: -webkit-gradient(linear, right top, left top, from(#e2c18c), to(#f2d8aa));
             background-image: -webkit-gradient(linear, right top, left top, from(#e2c18c), to(#f2d8aa));
             background-image: linear-gradient(-90deg, #e2c18c 0%, #f2d8aa 100%);
             background-image: linear-gradient(-90deg, #e2c18c 0%, #f2d8aa 100%);
@@ -140,14 +140,14 @@
             border-top: 1px solid #edc7ab;
             border-top: 1px solid #edc7ab;
             height: 0px;
             height: 0px;
             width: 80%;
             width: 80%;
-            margin: .23rem auto;
+            margin: 0.23rem auto;
             position: relative;
             position: relative;
         }
         }
 
 
         .rule-box .rule-line::after {
         .rule-box .rule-line::after {
             content: "活动说明";
             content: "活动说明";
             position: absolute;
             position: absolute;
-            font-size: .13rem;
+            font-size: 0.13rem;
             font-weight: bold;
             font-weight: bold;
             color: #97643e;
             color: #97643e;
             left: 50%;
             left: 50%;
@@ -162,10 +162,84 @@
         .rule-box .rule-items {
         .rule-box .rule-items {
             width: 80%;
             width: 80%;
             margin: 0 auto;
             margin: 0 auto;
-            font-size: .12rem;
+            font-size: 0.12rem;
             color: #97643e;
             color: #97643e;
             line-height: 2;
             line-height: 2;
         }
         }
+
+        .dialog-wrap {
+            position: fixed;
+            top: 0;
+            bottom: 0;
+            left: 0;
+            right: 0;
+            background: rgba(0, 0, 0, 0.3);
+        }
+
+        .dialog-wrap .dialog-content {
+            position: absolute;
+            top: 50%;
+            left: 50%;
+            width: 90%;
+            -webkit-transform: translate(-50%, -60%);
+            transform: translate(-50%, -60%);
+        }
+
+        .dialog-wrap .bg-wrap {
+            font-size: 0;
+        }
+
+        .dialog-wrap .content {
+            position: absolute;
+            top: 50%;
+            left: 50%;
+            -webkit-transform: translate(-50%, -36%);
+            transform: translate(-50%, -36%);
+            width: 100%;
+        }
+
+        .dialog-wrap .content .text {
+            font-size: 0.2rem;
+            color: #7c5429;
+            font-weight: bold;
+            text-align: center;
+        }
+
+        .dialog-wrap .content .text i {
+            font-size: 0.28rem;
+            color: #d13600;
+            font-weight: bold;
+        }
+
+        .dialog-wrap .content .to-cj {
+            display: block;
+            width: 1.3rem;
+            line-height: 0.38rem;
+            background-color: #d13600;
+            -webkit-box-shadow: 0px 2px 27px 0px rgba(233, 64, 16, 0.58);
+            box-shadow: 0px 2px 27px 0px rgba(233, 64, 16, 0.58);
+            border-radius: 38px;
+            font-size: 0.15rem;
+            color: #fff;
+            font-weight: bold;
+            text-align: center;
+            margin: 0.2rem auto 0;
+            -webkit-tap-highlight-color: transparent;
+        }
+
+        .dialog-wrap .area-close {
+            position: absolute;
+            bottom: 0;
+            left: 50%;
+            -webkit-transform: translateX(-50%);
+            transform: translateX(-50%);
+            width: .4rem;
+            height: .4rem;
+        }
+
+        .dialog-wrap img {
+            width: 100%;
+        }
         /*# sourceMappingURL=index.css.map */
         /*# sourceMappingURL=index.css.map */
     </style>
     </style>
 </head>
 </head>
@@ -174,9 +248,13 @@
 <main class="main_box">
 <main class="main_box">
     <div class="banner-box">
     <div class="banner-box">
         <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/banner.jpg" alt="抽奖大礼包">
         <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/banner.jpg" alt="抽奖大礼包">
-        <a href="#" class="click-area"></a>
+        @if($code == 0)
+            <a href="/activity/huaweiLottery" class="click-area"></a>
+        @else
+            <a href="#" class="click-area"></a>
+        @endif
     </div>
     </div>
-    <p class="activity-time">活动有效期:{{$enn_time}}</p>
+    <p class="activity-time">活动有效期:{{$end_time}}</p>
     <div class="recharge-list__wrap">
     <div class="recharge-list__wrap">
         <div class="recharge-item cur" data-href="{{isset($url[0])? $url[0]:''}}">
         <div class="recharge-item cur" data-href="{{isset($url[0])? $url[0]:''}}">
             <p class="pay">30元</p>
             <p class="pay">30元</p>
@@ -199,7 +277,12 @@
             <p class="get">获得8次抽奖机会</p>
             <p class="get">获得8次抽奖机会</p>
         </div>
         </div>
     </div>
     </div>
-    <a href="{{isset($url[0])? $url[0]:'#'}}" class="to-recharge" id="pay">充值后即可参与抽奖</a>
+    @if($code == 0)
+        <a href="{{isset($url[0])? $url[0]:'#'}}" class="to-recharge" id="pay">充值后即可参与抽奖</a>
+    @else
+        <a href="#" class="to-recharge" >充值后即可参与抽奖</a>
+    @endif
+
 </main>
 </main>
 <div class="rule-box">
 <div class="rule-box">
     <p class="rule-line"></p>
     <p class="rule-line"></p>
@@ -210,6 +293,18 @@
         <p class="item">4、活动期间不限充值次数;</p>
         <p class="item">4、活动期间不限充值次数;</p>
     </div>
     </div>
 </div>
 </div>
+<div class="dialog-wrap" style="display: {{$display_dialog}}">
+    <div class="dialog-content">
+        <div class="bg-wrap">
+            <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/dialog.png" alt="" />
+            <div class="content">
+                <p class="text">恭喜获得<i>{{$count}}次</i>抽奖机会</p>
+                <a href="/activity/huaweiLottery" class="to-cj">立即抽奖</a>
+            </div>
+        </div>
+        <span class="area-close"></span>
+    </div>
+</div>
 </body>
 </body>
 <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
 <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
 <script>
 <script>
@@ -218,5 +313,20 @@
         $(this).addClass("cur");
         $(this).addClass("cur");
         $('#pay').setAttribute('href',$(this).data('href'))
         $('#pay').setAttribute('href',$(this).data('href'))
     })
     })
+
+    $(".main_box").delegate(".to-recharge", "click", function() {
+        $(".dialog-wrap").css("display", "");
+    });
+
+    $(".dialog-content").click(function(e) {
+        e.stopPropagation();
+    });
+
+    [".area-close"].forEach(function(item) {
+        $(item).click(function(e) {
+            e.preventDefault();
+            $(".dialog-wrap").css("display", "none");
+        })
+    });
 </script>
 </script>
 </html>
 </html>

+ 79 - 14
resources/views/pay/activity/huaweiLottery.blade.php

@@ -21,6 +21,7 @@
             margin: 0;
             margin: 0;
             background-color: #ba3d26;
             background-color: #ba3d26;
             font-size: 100px;
             font-size: 100px;
+            position: relative;
         }
         }
 
 
         .bg {
         .bg {
@@ -124,10 +125,11 @@
             left: 50%;
             left: 50%;
             -webkit-transform: translate(-50%);
             -webkit-transform: translate(-50%);
             transform: translate(-50%);
             transform: translate(-50%);
+            width: 63.5%;
         }
         }
 
 
         .index .zp_out .zp {
         .index .zp_out .zp {
-            width: 2.4rem;
+            width: 100%;
             -webkit-transition: -webkit-transform 5s ease;
             -webkit-transition: -webkit-transform 5s ease;
             transition: -webkit-transform 5s ease;
             transition: -webkit-transform 5s ease;
             transition: transform 5s ease;
             transition: transform 5s ease;
@@ -136,7 +138,7 @@
 
 
         .index .zz {
         .index .zz {
             position: absolute;
             position: absolute;
-            top: 43%;
+            top: 44%;
             left: 50%;
             left: 50%;
             -webkit-transform: translate(-50%);
             -webkit-transform: translate(-50%);
             transform: translate(-50%);
             transform: translate(-50%);
@@ -161,7 +163,7 @@
             font-size: 0.25rem;
             font-size: 0.25rem;
             color: #9b1800;
             color: #9b1800;
             position: absolute;
             position: absolute;
-            top: 76%;
+            top: 75%;
             left: 50%;
             left: 50%;
             -webkit-transform: translate(-50%);
             -webkit-transform: translate(-50%);
             transform: translate(-50%);
             transform: translate(-50%);
@@ -189,7 +191,7 @@
             display: -ms-flexbox;
             display: -ms-flexbox;
             display: flex;
             display: flex;
             position: absolute;
             position: absolute;
-            top: 84.5%;
+            top: 85%;
             left: 50%;
             left: 50%;
             -webkit-transform: translate(-50%);
             -webkit-transform: translate(-50%);
             transform: translate(-50%);
             transform: translate(-50%);
@@ -265,6 +267,22 @@
             border-radius: 6px;
             border-radius: 6px;
         }
         }
 
 
+        .dialog .content .winning-content {
+            top: 2rem;
+            font-size: 0.24rem;
+            font-weight: bold;
+            position: absolute;
+            left: 50%;
+            -webkit-transform: translate(-50%, -50%);
+            transform: translate(-50%, -50%);
+            white-space: nowrap;
+            color: white;
+        }
+
+        .dialog .content .winning-content span {
+            color: #ffdc80;
+        }
+
         .dialog .content .dialog_button {
         .dialog .content .dialog_button {
             width: 3rem;
             width: 3rem;
             height: 0.5rem;
             height: 0.5rem;
@@ -325,6 +343,11 @@
             transform: translate(-50%);
             transform: translate(-50%);
             width: 0.3rem;
             width: 0.3rem;
         }
         }
+
+        .hide{
+            display: none;
+        }
+
         /*# sourceMappingURL=index.css.map */
         /*# sourceMappingURL=index.css.map */
     </style>
     </style>
 </head>
 </head>
@@ -335,9 +358,11 @@
     <div class="index">
     <div class="index">
         <div class="slider">
         <div class="slider">
             <div id="slider">
             <div id="slider">
-                <div class="slider-img active">1</div>
-                <div class="slider-img">2</div>
-                <div class="slider-img">3</div>
+                <div class="slider-img active">大灰狼     5月33日  16:59 获得 年会vip会员 </div>
+                <div class="slider-img">雨过天琴  5月22日  17:23 获得 年费vip会员</div>
+                <div class="slider-img">培训师钮维娜 5月22日 10:05 获得 500元京东卡</div>
+                <div class="slider-img">香草姑娘 5月22日 6:11 获得1000书币</div>
+                <div class="slider-img">liwenwen 5月22日 14:48 获得1000书币</div>
                 <!-- <ul class="slider-nav-list">
                 <!-- <ul class="slider-nav-list">
                   <li class="nav-item active"></li>
                   <li class="nav-item active"></li>
                   <li class="nav-item"></li>
                   <li class="nav-item"></li>
@@ -362,7 +387,12 @@
         </div>
         </div>
         <div class="button">
         <div class="button">
             <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/button.png" />
             <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/button.png" />
-            <div>充值后才可抽奖</div>
+            @if($count >0)
+                <div>立即抽奖</div>
+            @else
+                <div>充值后才可抽奖</div>
+            @endif
+
         </div>
         </div>
         <div class="remaining">
         <div class="remaining">
             <div class="rmb">¥</div>
             <div class="rmb">¥</div>
@@ -370,10 +400,26 @@
         </div>
         </div>
         <div class="rule">
         <div class="rule">
             <div class="rule_title">
             <div class="rule_title">
-                <div class="rule_title_bt rule_title_active">活动规则</div>
-                <div class="rule_title_bt">中奖记录</div>
+                <div class="rule_title_bt rule_title_active" data-toggle="role">活动规则</div>
+                <div class="rule_title_bt" style="margin-left: 0.61rem" data-toggle="record">中奖记录</div>
             </div>
             </div>
-            <div class="rule_content">
+            <div class="rule_content" >
+                <p>1、书币奖品实时到账;</p>
+                <p>
+                    2、抽到实物奖品用户需先填手机号和身份证信息,客服
+                    确认信息后将会在7个工作日寄出;
+                </p>
+                <p>
+                    3、抽奖机会必须在活动充值页面成功充值后获得,其余
+                    充值页面充值不会获得抽奖机会;
+                </p>
+            </div>
+            <div class="hide" id="record">
+                @foreach($list as $item)
+                    <p>{{$item->created_at}} {{$item->price}}书币</p>
+                @endforeach
+            </div>
+            <div class="hide" id="role">
                 <p>1、书币奖品实时到账;</p>
                 <p>1、书币奖品实时到账;</p>
                 <p>
                 <p>
                     2、抽到实物奖品用户需先填手机号和身份证信息,客服
                     2、抽到实物奖品用户需先填手机号和身份证信息,客服
@@ -388,6 +434,7 @@
     </div>
     </div>
     <div class="dialog" style="display:none">
     <div class="dialog" style="display:none">
         <div class="content">
         <div class="content">
+            <div class="winning-content">恭喜您抽中<span id="price">0书币</span></div>
             <div class="dialog_button"></div>
             <div class="dialog_button"></div>
             <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/close.png" class="dialog_close" />
             <img src="https://cdn-novel.iycdm.com/h5/activity-2019-05-30/close.png" class="dialog_close" />
         </div>
         </div>
@@ -468,7 +515,6 @@
     var timeInterval = setInterval(function () {
     var timeInterval = setInterval(function () {
         if(time_diff<=0){
         if(time_diff<=0){
             clearInterval(timeInterval);
             clearInterval(timeInterval);
-            over();
         }else{
         }else{
             times()
             times()
         }
         }
@@ -483,6 +529,11 @@
             $(this)
             $(this)
                     .siblings()
                     .siblings()
                     .removeClass("rule_title_active");
                     .removeClass("rule_title_active");
+            if($(this).data('toggle') == 'role'){
+                $('.rule_content').html( $('#role').html() );
+            }else{
+                $('.rule_content').html( $('#record').html() );
+            }
         });
         });
     });
     });
 
 
@@ -495,6 +546,10 @@
     $(function() {
     $(function() {
         $(".button").click(function(event) {
         $(".button").click(function(event) {
             if(count <=0){
             if(count <=0){
+                location.href='/activity/huaweiActivity';
+                return ;
+            }
+            if(time_diff<=0){
                 return ;
                 return ;
             }
             }
             if(!canClick) return ;
             if(!canClick) return ;
@@ -511,13 +566,21 @@
                          lasttime = Date.parse(new Date());
                          lasttime = Date.parse(new Date());
                          //点击时间赋值
                          //点击时间赋值
                          var m = res.data.rotate;
                          var m = res.data.rotate;
+                         var price = res.data.price;
+                         price = paparseInt(price);
                          //获取旋转角度  逆时针旋转
                          //获取旋转角度  逆时针旋转
                          $(".zp").css({ transform: "rotate(" + m + "deg)" });
                          $(".zp").css({ transform: "rotate(" + m + "deg)" });
                          //旋转
                          //旋转
                          setTimeout(() => {
                          setTimeout(() => {
-                             document.querySelector(".dialog").style.display = "";
+                             if(price >0){
+                               $('#price').html(price+'书币');
+                                document.querySelector(".dialog").style.display = "";
+                             }else{
+                                document.querySelector(".wei-dialog").style.display = "";
+                            }
                             //旋转完毕后弹窗
                             //旋转完毕后弹窗
-                            console.log('over')
+                            console.log('over');
+                            count--;
                          canClick = true;
                          canClick = true;
                      }, 5000);
                      }, 5000);
                      }
                      }
@@ -551,6 +614,7 @@
         $(".dialog_button").click(function(event) {
         $(".dialog_button").click(function(event) {
             document.querySelector(".dialog").style.display = "none";
             document.querySelector(".dialog").style.display = "none";
             //transition: transform 5s ease, -webkit-transform 5s ease;
             //transition: transform 5s ease, -webkit-transform 5s ease;
+            $('#price').html('0书币');
             resetPoint()
             resetPoint()
         });
         });
     });
     });
@@ -558,6 +622,7 @@
     $(function() {
     $(function() {
         $(".dialog_close").click(function(event) {
         $(".dialog_close").click(function(event) {
             document.querySelector(".dialog").style.display = "none";
             document.querySelector(".dialog").style.display = "none";
+            $('#price').html('0书币');
             resetPoint()
             resetPoint()
 
 
         });
         });