zz il y a 6 ans
Parent
commit
4727a1a98b

+ 62 - 0
app/Http/Controllers/Wap/Web/ActivityController.php

@@ -0,0 +1,62 @@
+<?php
+
+namespace App\Http\Controllers\Wap\Web;
+
+use App\Modules\Activity\Services\ActivityService;
+use Illuminate\Http\Request;
+use App\Http\Controllers\Wap\BaseController;
+use Redis;
+use DB;
+
+class ActivityController extends BaseController
+{
+
+    //渠道自定义活动  可以多少充值
+    public function channelCustomActivity(Request $request){
+        $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
+        $token = $request->input('token');
+        $activity_info = ActivityService::getByToken($token);
+        $img = 'https://cdn-novel.iycdm.com/h5/activity-chanel-custom/btn48.jpg';
+        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'];
+            }
+            $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);
+            Redis::sadd($uv_key, $this->uid);
+            Redis::hincrby($pv_key, date('Y-m-d'), 1);
+            //$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) {
+                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)) {
+                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)) {
+                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)) {
+                $param = [
+                    'uid' => $this->uid,
+                    'distribution_channel_id' => $this->distribution_channel_id,
+                    'product_id' => $activity_info->product_id,
+                    'activity_id' => $activity_info->id,
+                    'fromtype' => $from,
+                    'limit' => 100,
+                    '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);
+                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)]);
+    }
+}

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

@@ -227,6 +227,9 @@ Route::group(['domain'=>env('WAP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap
         Route::get('sale/greatcold','Web\WelcomeController@greatColdActivity');
         Route::get('sale/vernalequinox','Web\WelcomeController@vernalEquinoxActivity');
         Route::get('sale/customvip','Web\WelcomeController@channelYearActivity');
+
+        Route::get('activity/channel','Web\ActivityController@channelCustomActivity');
+
         //继续阅读
         Route::get('continue','User\ReadRecordController@latestRead');
         //分享站内跳转

+ 112 - 0
resources/views/pay/activity/ChannelCustomerV1.blade.php

@@ -0,0 +1,112 @@
+<!--
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2019/4/17
+ * Time: 19:48
+ */
+-->
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel=icon type=image/png href="data:image/png;base64,iVBORw0KGgo=">
+    <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;
+        }
+
+        html {
+            background: #ff3432;
+        }
+
+        .main_box {
+            font-size: 0;
+            position: relative;
+        }
+
+        .main_box img {
+            width: 100%;
+        }
+
+        .time {
+            font-size: .14rem;
+            font-weight: bold;
+            text-align: center;
+            color: #fff;
+        }
+
+        .recharge-item {
+            font-size: 0;
+            width: 90%;
+            margin: .3rem auto;
+        }
+
+        .recharge_box_one {
+            width: 95%;
+            margin: 0 auto;
+        }
+
+        .rule-box {
+            font-size: 0;
+            width: 90%;
+            margin: .3rem auto 0;
+        }
+
+        .main_box img,
+        a {
+            -webkit-tap-highlight-color: transparent;
+        }
+
+        .d_none {
+            display: none;
+        }
+    </style>
+</head>
+
+<body>
+<main class="main_box">
+    <img src="https://cdn-novel.iycdm.com/h5/activity-chanel-custom/banner.jpg" alt="" />
+    <p class="time">活动有效期:{{$start_time or '-'}}至{{$end_time or '-'}}</p>
+    <div class="recharge-item">
+        <img src="{{$img}}" alt="">
+    </div>
+    <div class="recharge_box_one">
+    @if($code == 0)
+        <!-- 活动进行中 -->
+            <a href="{{$url}}" class="beginning">
+                <img src="https://cdn-novel.iycdm.com/h5/activity-chanel-custom/doing.jpg" alt="">
+            </a>
+    @elseif($code == -3)
+        <!-- 活动未开始 -->
+            <a href="#" class="un_begin">
+                <img src="https://cdn-novel.iycdm.com/h5/activity-chanel-custom/undone.jpg" alt="">
+            </a>
+    @elseif($code == -1)
+        <!-- 活动结束 -->
+            <a href="javascript:void(0)" class="over">
+                <img src="https://cdn-novel.iycdm.com/h5/activity-chanel-custom/over.jpg" alt="">
+            </a>
+    @elseif($code == -2)
+        <!-- 活动已充值 -->
+            <a href="javascript:void(0)" class="done">
+                <img src="https://cdn-novel.iycdm.com/h5/long_done.png" alt="">
+            </a>
+        @endif
+
+    </div>
+    <div class="rule-box">
+        <img src="https://cdn-novel.iycdm.com/h5/activity-chanel-custom/rule68.jpg" alt="">
+    </div>
+</main>
+</body>
+
+</html>