Browse Source

month pay

zz 5 years ago
parent
commit
4383c58d2b

+ 23 - 1
app/Http/Controllers/Wap/Order/OrdersController.php

@@ -268,7 +268,8 @@ class OrdersController extends BaseController
         $property = UserDivisionCpcPropertyService::getUserPropertyV2($this->uid);
         $user_info = $this->_user_info;
         $result = $this->monthAbTest($property,$user_info->openid);
-        if($result == 0)$this->monthPayExposureRecord($property,$user_info->openid);
+        if($result == 0){$this->monthPayExposureRecord($property,$user_info->openid);}
+        $this->monthPayExposureRecordOther();
         foreach ($res as $v) {
             if ($template_id == 7 && $book_config && $book_config->charge_type == 'BOOK' && $v->price == 2) {
                 continue;
@@ -913,6 +914,27 @@ class OrdersController extends BaseController
         return redirect()->to(generateMonthOrderUrl($info->id));
     }
 
+    private function monthPayExposureRecordOther(){
+        $month_info = UserMonthService::getOrderAndSignStatusByUid($this->uid);
+        if($month_info){
+            if(in_array('MONTH',$month_info)){
+                DB::table('user_month_visit_record')->insert([
+                    'uid'=>$this->uid,'day'=>date('Y-m-d'),
+                    'type'=>'MONTH',
+                    'created_at'=>date('Y-m-d H:i:s'),
+                    'updated_at'=>date('Y-m-d H:i:s')
+                ]);
+            }
+            else{
+                DB::table('user_month_visit_record')->insert([
+                    'uid'=>$this->uid,'day'=>date('Y-m-d'),
+                    'type'=>'WEEK',
+                    'created_at'=>date('Y-m-d H:i:s'),
+                    'updated_at'=>date('Y-m-d H:i:s')
+                ]);
+            }
+        }
+    }
     private function monthPayExposureRecord($property,$openid){
         if (!$property) return '';
         if (in_array($this->distribution_channel_id, explode(',', redisEnv('OPEN_ORDER_INNER_SITES')))

+ 21 - 0
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -2284,6 +2284,27 @@ class WelcomeController extends BaseController
     {
         $property = $this->property;
         if (!$property) return '';
+        $month_info = UserMonthService::getOrderAndSignStatusByUid($this->uid);
+        if($month_info){
+            if(in_array('MONTH',$month_info)){
+                return [
+                    'price' => '30元',
+                    'text' => '30元包月 全站万本精彩小说免费看',
+                    'link' => generateMonthOrderUrl($this->uid),
+                    'focus_img'=>'https://cdn-novel.iycdm.com/h5/monthpay/month_order_check.png',
+                    'unfocus_img'=>'https://cdn-novel.iycdm.com/h5/monthpay/month_order_1.png'
+                ];
+            }
+            if(in_array('WEEK',$month_info)){
+                return [
+                    'price' => '7元',
+                    'text' => '7元包周 全站万本精彩小说免费看',
+                    'link' => generateMonthOrderUrlV2($this->uid, env('MONTH_WEEK_ORDER_PLAN_ID'), _getIp()),
+                    'focus_img'=>'https://cdn-novel.iycdm.com/h5/monthpay/week-order-2.png',
+                    'unfocus_img'=>'https://cdn-novel.iycdm.com/h5/monthpay/week-order-1.png'
+                ];
+            }
+        }
         if (in_array($this->distribution_channel_id, explode(',', redisEnv('OPEN_ORDER_INNER_SITES')))) {
             $info = DataAnalysisSelectUserService::getByUidAndType($this->uid, 'MONTH_V2');
             if ($info) {

+ 16 - 0
app/Modules/User/Services/UserMonthService.php

@@ -61,6 +61,22 @@ class UserMonthService
         return $info;
     }
 
+    public static function getOrderAndSignStatusByUid($uid){
+        $result = UserMonthOrder::join('user_month_sign','user_month_sign.uid','=','user_month_order.uid')
+            ->select('user_month_order.type','user_month_sign.change_type')
+            ->where('user_month_order.uid',$uid)
+            ->where('user_month_sign.change_type','DELETE')
+            ->get();
+        if($result->isEmpty()) return [];
+        $return_result = [];
+        foreach ($result as $item){
+            $return_result[] = $item->type;
+        }
+        return $return_result;
+    }
+
+
+
     public static function checkOrderStatus(int $user_id,int $plan_id,string $app_id,string $key,string $app_secret){
         $pay_year = date('Y');
         $pay_month = date('m');