Explorar el Código

sign page guide and activity

zz hace 5 años
padre
commit
249053a82f

+ 33 - 2
app/Http/Controllers/Wap/User/UserController.php

@@ -308,6 +308,8 @@ class UserController extends BaseController
         if (!$all_bid) $all_bid = [];
         $user = $this->_user_info;
         $recommend_book = $this->getSignRecomandBook($user->sex, $all_bid);
+        $bind_status = 0;
+        $bind_link = '';
         if ($sign && $sign == date('Y-m-d')) {
             if ($sign_count % 7 == 1 && $sign_count <= 7) {
                 $fee = 30;
@@ -334,7 +336,9 @@ class UserController extends BaseController
                 'day' => $day, 'is_alert' => 0, 'read_record' => $read_record, 'name' => $name,
                 'head_img' => $head_img,
                 'balance' => $balance,
-                'recommend_book' => $recommend_book
+                'recommend_book' => $recommend_book,
+                'bind_status'=>$bind_status,
+                'bind_link'=>$bind_link
             ];
             return view('wap.signV3', $data);
         }
@@ -355,13 +359,40 @@ class UserController extends BaseController
         $name = $user->nickname;
         $head_img = $user->head_img;
         $balance = $user->balance;
+
+        //导粉
+        list($inner_sites,$active_qrcode) =  redisEnvMulti(
+            'GUIDE_PERSONAL_ACCOUNT_SITES',
+            'ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE'
+        );
+        if ($active_qrcode && $inner_sites && in_array($this->distribution_channel_id, explode(',', $inner_sites))){
+            $get_info = UserBindHkWelfareService::isHasGet($this->uid);
+            if(!$get_info){
+                $property = UserDivisionCpcPropertyService::getUserPropertyV2($this->uid);
+                $charge = false;
+                if (in_array($property, ['medium', 'high'])) {
+                    $charge = true;
+                } else {
+                    if ($property == 'undefined' && OrderService::getChargeNum($this->uid) >= 10) {
+                        $charge = true;
+                    }
+                }
+                if($charge){
+                    $bind_status = 1;
+                    $bind_link = '/guidestrem?uid=' . $this->uid . '&fee=500';
+                }
+            }
+        }
         $data = ['sign_count' => $sign_count, 'fee' => $fee, 'fee_pool' => $fee_pool,
             'day' => $day, 'is_alert' => 1, 'read_record' => $read_record,
             'name' => $name,
             'head_img' => $head_img,
             'balance' => $balance,
-            'recommend_book' => $recommend_book
+            'recommend_book' => $recommend_book,
+            'bind_status'=>$bind_status,
+            'bind_link'=>$bind_link
         ];
+
         return view('wap.signV3', $data);
     }
 

+ 52 - 1
app/Http/Controllers/Wap/Web/ActivityController.php

@@ -462,5 +462,56 @@ class ActivityController extends BaseController
         }
         return view('crm.crmYearActivity', ['url' => $url,'is_get'=>$is_get]);
     }
-    
+
+    /**
+     * @return string
+     */
+    public function nationDayActivity(Request $request)
+    {
+        $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
+        $token = $request->input('token');
+        $activity_info = ActivityService::getByToken($token);
+        if ($activity_info && isset($activity_info->setting) && empty(!$activity_info->setting)) {
+            $is_show_year_order = in_array($this->distribution_channel_id,[3]) ?1:0;
+            $imgs = json_decode($activity_info->setting, 1);
+            $from = $request->input('fromtype', 'main');
+            $uv_key_format = 'activity:%s:distribution_channel_id:%s:date:%s:uv';
+            $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'));
+            $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)) {
+                Redis::sadd($uv_key, $this->uid);
+                Redis::hincrby($pv_key, date('Y-m-d'), 1);
+                $product_ids = explode(',',$activity_info->setting);
+                $param = [
+                    'uid' => $this->uid,
+                    'distribution_channel_id' => $this->distribution_channel_id,
+                    //'product_id' => $activity_info->product_id,
+                    'activity_id' => $activity_info->id,
+                    'fromtype' => $from,
+                    'pay_redirect_url' => $redirect_url,
+                    'limit' => 100,
+                ];
+                $url = [];
+                foreach ($product_ids as $product_id)  {
+                    $param['product_id'] = $product_id;
+                    $url[] = env('CREATE_PAY_URL') . '?' . http_build_query($param);
+                }
+                //$url = env('CREATE_PAY_URL') . '?' . http_build_query($param);
+                return view('pay.activity.wapnationDayActivity', ['url' => $url, 'code' => 0,'is_show_year_order'=>$is_show_year_order]);
+            } else if (time() <= strtotime($activity_info->start_time)) {
+                return view('pay.activity.wapnationDayActivity', ['url' => ['javascript:void(0)', 'javascript:void(0)', 'javascript:void(0)'], 'code' => 1,'is_show_year_order'=>$is_show_year_order]);
+            } else {
+                return view('pay.activity.wapnationDayActivity', ['url' => ['javascript:void(0)', 'javascript:void(0)', 'javascript:void(0)'], 'code' => 2,'is_show_year_order'=>$is_show_year_order]);
+            }
+        }
+        $default_url = env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/';
+        return redirect()->to($default_url);
+    }
 }

+ 12 - 8
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -475,14 +475,14 @@ class WelcomeController extends BaseController
                 (time() - strtotime($user->created_at)) >= 86400 * 2
             ) {
                 $activity_img = isset($activity_setting['wap_bottom_img']) ? $activity_setting['wap_bottom_img'] : '';
-                /*if (in_array($this->distribution_channel_id, [123, 211, 146, 155, 255, 256, 691, 722, 4364, 4427, 695, 4174, 4025, 4593, 4426, 4889, 4891, 4742, 4053, 4334, 4487, 5611, 6122, 6123, 6124, 8, 5, 160, 4236, 4237, 4241, 273, 148, 266, 202, 271])){
+                //if (in_array($this->distribution_channel_id, [123, 211, 146, 155, 255, 256, 691, 722, 4364, 4427, 695, 4174, 4025, 4593, 4426, 4889, 4891, 4742, 4053, 4334, 4487, 5611, 6122, 6123, 6124, 8, 5, 160, 4236, 4237, 4241, 273, 148, 266, 202, 271])){
                     $activity_pool = [
-                        'https://cdn-novel.iycdm.com/h5/activity-2019-06-05/reader-banner.jpg',
-                        'https://cdn-novel.iycdm.com/h5/activity-2019-06-05/reader-banner2.jpg',
-                        'https://cdn-novel.iycdm.com/h5/activity-2019-06-05/reader-banner3.jpg'
+                        'https://cdn-novel.iycdm.com/h5/activity-2019-09-25/reader-banner-1.jpg',
+                        'https://cdn-novel.iycdm.com/h5/activity-2019-09-25/reader-banner-2.jpg',
+                        'https://cdn-novel.iycdm.com/h5/activity-2019-09-25/reader-banner-3.jpg'
                     ];
                     $activity_img = collect($activity_pool)->random();
-                }*/
+                //}
                 $url = $h5_scheme . '://' . _domain() . $activity_info->activity_page . '&fromtype=reader';
                 $activity_title = isset($activity_setting['activity_title']) ? $activity_setting['activity_title'] : '';
                 $status = ActivitySwitchService::isShowInPage($activity_id, $this->distribution_channel_id);
@@ -2162,11 +2162,12 @@ class WelcomeController extends BaseController
     }
     private function guidePersonalAccountV2(){
         //内部站点导粉
-        list($inner_sites,$year_qrcode,$month_qrcode,$out_qrcode) =  redisEnvMulti(
+        list($inner_sites,$year_qrcode,$month_qrcode,$out_qrcode,$active_qrcode) =  redisEnvMulti(
             'GUIDE_PERSONAL_ACCOUNT_SITES',
             'ACTIVE_YEAR_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE',
             'ACTIVE_MONTH_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE',
-            'OUT_ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE'
+            'OUT_ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE',
+            'ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE'
         );
         //if(in_array($thy))
         if ($inner_sites && in_array($this->distribution_channel_id, explode(',', $inner_sites))) {
@@ -2190,7 +2191,10 @@ class WelcomeController extends BaseController
                 //包月
                 return ['title' => '包月VIP专属爆款小说书单>>', 'link' => '/guidestremv2?group=ACTIVE_MONTH&fee=500'];
             }
-            return ['title' => '您有500书币待领取>>', 'link' => '/guidestrem?uid=' . $this->uid . '&fee=500'];
+            if($active_qrcode){
+                return ['title' => '您有500书币待领取>>', 'link' => '/guidestrem?uid=' . $this->uid . '&fee=500'];
+            }
+            return '';
         }
         //外站导粉
         if($out_qrcode && Redis::SISMEMBER('crm:out_channel_sites', $this->distribution_channel_id)){

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

@@ -286,7 +286,7 @@ Route::group(['domain'=>env('WAP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap
         Route::get('sale','Web\WelcomeController@commonActivity');
         Route::get('sale/summer','Web\WelcomeController@summerActivity');
         Route::get('sale/newUserSale','Web\WelcomeController@newUserSale');
-        Route::get('sale/nationday','Web\WelcomeController@nationalDayActivity');
+        Route::get('sale/nationday','Web\ActivityController@nationDayActivity');
         Route::get('sale/chongyang','Web\WelcomeController@cYactivity');
         Route::get('sale/newUserForeverActivity','Web\WelcomeController@newUserForeverActivity');
         Route::get('sale/tempC','Web\WelcomeController@tempC');

+ 157 - 0
resources/views/pay/activity/wapnationDayActivity.blade.php

@@ -0,0 +1,157 @@
+<!--
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2019/9/25
+ * Time: 15:38
+ */
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
+    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
+    <title>国庆特惠</title>
+    <style>
+        html,
+        body {
+            margin: 0 auto;
+            padding: 0;
+            max-width: 450px;
+            font-size: 100px;
+            background: #c9392e;
+            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+			height:100%;
+        }
+
+        .main_box {
+            font-size: 0;
+            position: relative;
+        }
+
+        .main_box img {
+            width: 100%;
+
+        }
+
+        .container-wrap {
+            position: absolute;
+            width: 80%;
+            top: 38%;
+            left: 50%;
+            -webkit-transform: translate(-50%, 0);
+            transform: translate(-50%, 0);
+        }
+
+        .positon{
+            top: 50%;
+        }
+
+        .recharge-wrap {
+            margin-bottom: 0.2rem;
+        }
+
+        .recharge-wrap .recharge-item:not(:last-child) {
+            margin-bottom: 0.2rem;
+        }
+    </style>
+</head>
+
+<body>
+<main class="main_box">
+    <img src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/bg.jpg" alt="" />
+    <div class="container-wrap {{$is_show_year_order? '':'positon'}}">
+        <div class="recharge-wrap ">
+            <div class="recharge-item">
+                <img
+                        src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/1.png"
+                        data-src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/1.png"
+                        data-active="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/1_focus.png"
+                        data-active-status="0"
+                        data-href="{{$url[0]}}"
+                        alt=""
+                                />
+            </div>
+            <div class="recharge-item cur">
+                <img
+                        src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/2_focus.png"
+                        data-src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/2.png"
+                        data-active="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/2_focus.png"
+                        data-active-status="1"
+                        data-href="{{$url[1]}}"
+                        alt=""
+                                />
+            </div>
+            @if($is_show_year_order)
+                <div class="recharge-item">
+                    <img
+                            src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/3.png"
+                            data-src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/3.png"
+                            data-active="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/3_focus.png"
+                            data-active-status="0"
+                            data-href="{{$url[2]}}"
+                            alt=""
+                    />
+                </div>
+            @endif
+
+        </div>
+        <div class="to-recharge">
+        @if($code == 1)
+            <!-- 活动未开始 -->
+            <img src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/undone.png" alt="" data-href="{{$url[1]}}" />
+        @elseif($code == 0)
+            <!-- 活动进行中 -->
+            <img  id="pay" src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/doing.png" alt="" data-href="{{$url[1]}}" />
+        @elseif($code == 2)
+            <!-- 活动结束 -->
+            <img src="https://cdn-novel.iycdm.com/h5/activity-2019-09-25/over.png" alt="" data-href="{{$url[1]}}" />
+            @endif
+        </div>
+    </div>
+</main>
+</body>
+<script src="//cdn-novel.iycdm.com/static/jquery-3.4.1.min.js"></script>
+<script>
+// 按钮点击
+$(".recharge-wrap").delegate("img", "click", function() {
+    $(".recharge-item").removeClass("cur");
+    $(this)
+    .parent()
+    .addClass("cur");
+    var active = $(this).attr("data-active");
+    var is_active = $(this).attr("data-active-status");
+    if (!+is_active) {
+        reset();
+        $(this).attr("src", active);
+        $(this).attr("data-active-status", 1);
+        $("#pay").attr("data-href",$(this).attr("data-href"))
+        }
+});
+
+    // 重置
+    function reset() {
+        var imgs = $(".recharge-item img");
+        for (var i = 0; i < imgs.length; i++) {
+            (function(index) {
+                var img = imgs[i];
+                var src = $(img).attr("data-src");
+                $(img).attr("src", src);
+                $(img).attr("data-active-status", 0);
+            })(i);
+        }
+    }
+
+    // 重置
+    $(".to-recharge").delegate("#pay", "click", function() {
+        var url = $(this).attr("data-href");
+        if(url){
+            location.href=url
+        }else{
+            return false;
+        }
+    });
+</script>
+</html>
+

+ 33 - 18
resources/views/wap/signV3.blade.php

@@ -233,21 +233,14 @@
             right: 0;
             background: rgba(0, 0, 0, 0.6);
             z-index: 9999;
-        }
-
-        .dialog .dialog_content {
-            position: absolute;
-            top: 25%;
-            left: 50%;
-            transform: translate(-50%);
-            width: 80%;
+            display: flex;
         }
 
         .dialog .dialog_close {
             position: absolute;
-            top: 60%;
+            bottom: 0%;
             left: 50%;
-            transform: translate(-50%);
+            transform: translate(-50%, 200%);
             width: 30px;
         }
         .hide {
@@ -257,18 +250,29 @@
             color: white;
             text-decoration: none;
         }
-        .dialog div {
+        .dialog .fee {
             position: absolute;
-            top: 45%;
+            top: 39.5%;
             left: 50%;
             transform: translate(-50%);
-            color: white;
             font-weight: bold;
             font-size: 0.2rem;
+            color: #ffc018;
+        }
+        .dialog .dialog-content {
+            margin:auto;
+            width:80%;
+            font-size:0;
+            position: relative;
         }
 
-        .dialog div span {
-            color: #ffc018;
+        .dialog .click-area {
+            position: absolute;
+            left: 50%;
+            bottom: 7%;
+            transform: translate(-50%,0);
+            width: 58%;
+            height: 35px;
         }
     </style>
 </head>
@@ -365,9 +369,20 @@
 
     </div>
     <div class="dialog {{$is_alert? '':'hide'}}" >
-        <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_alert.png" class="dialog_content" />
-        <div>获得 <span>{{$fee}}</span> 书币</div>
-        <img src="https://cdn-novel.iycdm.com/h5/sign/sing_v3_close.png" class="dialog_close" />
+        @if($bind_status)
+            <div class="dialog-content">
+                <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_alert_v2.png" />
+                <div class="fee">{{$fee}}</div>
+                <a href="#" class="click-area"></a>
+                <img src="https://cdn-novel.iycdm.com/h5/sign/sing_v3_close.png" class="dialog_close" />
+            </div>
+            @else
+            <div class="dialog-content">
+                <img src="https://cdn-novel.iycdm.com/h5/sign/sign_v3_alert.png" />
+                <div class="fee" style="top:66.5%;color: white">获得<span style="color:#ffc018 ">{{$fee}}</span>书币</div>
+                <img src="https://cdn-novel.iycdm.com/h5/sign/sing_v3_close.png" class="dialog_close" />
+            </div>
+        @endif
     </div>
 </main>
 </body>