fly 5 years ago
parent
commit
39f4af6527

+ 3 - 1
app/Http/Controllers/Wap/IndividualWechat/ActivityController.php

@@ -24,6 +24,8 @@ class ActivityController extends Controller
         $userNationalDay->sign();
         $sign_configs = $userNationalDay->getSignConfigs();
         $bonus = $userNationalDay->bonus;
+        $is_begin = $userNationalDay->is_begin;
+        $is_end = $userNationalDay->is_end;
         $continue_link = sprintf(
             '%s://site%s.%s.com/recent',
             env('PROTOCOL'),
@@ -36,7 +38,7 @@ class ActivityController extends Controller
             'pay_redirect_url' => $continue_link, 'activity_id' => 15871, 'crm' => 'crm_national'
         ]);
         $this->statsDetail($uid, 'crm_national');
-        return view('crm.notionalDay')->with(compact('sign_configs', 'is_sign', 'bonus', 'continue_link', 'pay_link'));
+        return view('crm.notionalDay')->with(compact('sign_configs', 'is_sign', 'bonus', 'is_begin', 'is_end', 'continue_link', 'pay_link'));
     }
 
     private function getUserColumnValue(string $column)

+ 8 - 0
app/Modules/Activity/Services/NationalDay.php

@@ -13,6 +13,8 @@ use App\Modules\Product\Models\Product;
  * @property int $product_id 活动充值选项id
  * @property array $sign_config 活动签到配置
  * @property \App\Modules\Product\Models\Product $product 活动充值选项
+ * @property bool  $is_begin 活动是否开始
+ * @property bool  $is_end 活动是否结束
  * @property string $redis_key redis键值
  */
 trait NationalDay
@@ -29,6 +31,10 @@ trait NationalDay
 
     public $sign_config;
 
+    public $is_begin;
+
+    public $is_end;
+
     private $redis_key;
 
     public function __construct()
@@ -48,6 +54,8 @@ trait NationalDay
             ['day' => 7, 'bonus' => 266, 'is_strong' => true],
         ];
         $this->redis_key = 'activity_national_day:' . date('Ymd');
+        $this->is_begin = time() >= $this->start_time;
+        $this->is_end = time() >= $this->end_time;
     }
 
     /**

+ 4 - 2
app/Modules/Activity/Services/UserNationalDay.php

@@ -18,7 +18,9 @@ use Exception;
  */
 class UserNationalDay
 {
-    use NationalDay { __construct as private baseConfig;}
+    use NationalDay {
+        __construct as private baseConfig;
+    }
 
     private $uid;
     public $is_sign;
@@ -38,7 +40,7 @@ class UserNationalDay
      */
     public function sign()
     {
-        if (!$this->is_sign) {
+        if ($this->is_begin && !$this->is_sign) {
             $this->sign_day++;
             $this->bonus = $this->getSignBonusMoney($this->sign_day);
             $this->saveRedisSign();

+ 12 - 1
resources/views/crm/notionalDay.blade.php

@@ -36,7 +36,9 @@
                 </div>
                 <div class="special-charge">
                     <img src="https://cdn-novel.iycdm.com/crm/activity/imgs/10000.png" alt="" />
+                    @if ($is_begin && !$is_end)
                     <a href="{{$pay_link}}" class="area-click"></a>
+                    @endif
                 </div>
                 <div class="continue-read">
                     <a href="{{$continue_link}}">继续阅读</a>
@@ -59,10 +61,19 @@
      var bg_height = doc.querySelector(".main-wrap").clientHeight;
      var screen = window.screen.height || doc.documentElement.clientHeight;
      var is_sign = {{$is_sign?1:0}};
+     var is_begin = {{$is_begin?1:0}}
+     var is_end = {{$is_end?1:0}}
      setTimeout(() => {
-         if(!is_sign)
+         if(!is_begin)
+         {
+             alert('活动未开始');
+         }
+         else if(!is_sign && !is_end)
          {
             doc.querySelector('.dialog-wrap').style.display='block';
+         }else
+         {
+            alert('活动已结束');
          }
      }, 500);
      // 背景填充