Ver código fonte

sign and dist

zz 6 anos atrás
pai
commit
5d99bb5a6d

+ 6 - 1
app/Http/Controllers/Wap/Book/ChapterController.php

@@ -1029,7 +1029,12 @@ class ChapterController extends BaseController
             //签过到了
             return 0;
         }
-        $this->chapter->sign_version = UserSignService::getUserSignVersion($uid);
+        if(in_array($this->distribution_channel_id,redisEnv('NEW_SIGN_CHANNELS',''))){
+            $version = UserSignService::getUserSignVersion($this->uid);
+        }else{
+            $version = 'v1';
+        }
+        $this->chapter->sign_version = $version;
         if ($res = UserSignService::signToday($uid,$this->chapter->sign_version)) {
             //$sign_key = 'leyuee:wap:usersigni';
             //Redis::hset($sign_key, $uid, $res);

+ 22 - 3
app/Http/Controllers/Wap/User/UserController.php

@@ -2,7 +2,9 @@
 
 namespace App\Http\Controllers\Wap\User;
 
+use App\Modules\Book\Services\BookConfigService;
 use App\Modules\Book\Services\BookUrgeUpdateService;
+use App\Modules\Book\Services\SignBookService;
 use App\Modules\Statistic\Services\AdVisitStatService;
 use App\Modules\Subscribe\Services\OrderService;
 use App\Modules\User\Services\ReadRecordService;
@@ -206,12 +208,29 @@ class UserController extends BaseController
      */
     public function signi()
     {
-        $version = UserSignService::getUserSignVersion($this->uid);
+        if(in_array($this->distribution_channel_id,redisEnv('NEW_SIGN_CHANNELS',''))){
+            $version = UserSignService::getUserSignVersion($this->uid);
+        }else{
+            $version = 'v1';
+        }
+
         if($version == 'v1'){
             $page = 'wap.sign';
         }else{
             $page = 'wap.signv2';
         }
+        $book1= $book2 = null;
+        if($version == 'v2' && ($bids = redisEnv('NEW_SIGN_RECOMMEND_BOOK','')) ){
+            $sex = $this->_user_info->sex;
+            $sex = $sex?$sex:2;
+            $book1 = BookConfigService::getRandomOneHighQualityBook($sex);
+            $book1->url = sprintf('/reader?bid=%s&cid=%s&source=wechatmsg&fromtype=sign_recommend',Hashids::encode($book1->bid),$book1->first_cid);
+            $book2 = SignBookService::getRandomBook($sex);
+            foreach ($book2 as $item){
+                $item->url = sprintf('/reader?bid=%s&cid=%s&source=wechatmsg&fromtype=sign_recommend',Hashids::encode($item->bid),$item->first_cid);
+            }
+
+        }
         $fee_pool = [0,30,50,120,50,50,50,150];
         $day = [0,'一','二','三','四','五','六','七'];
         list($sign,$sign_count) = ReadRecordService::getByMultiField($this->uid,'sign_day','sign_counts');
@@ -230,7 +249,7 @@ class UserController extends BaseController
                 }
             }
             //签过到了
-            $data = ['sign_count'=>$sign_count,'fee'=>$fee,'fee_pool'=>$fee_pool,'day'=>$day];
+            $data = ['sign_count'=>$sign_count,'fee'=>$fee,'fee_pool'=>$fee_pool,'day'=>$day,'book1'=>$book1,'book2'=>$book2];
             return view($page,$data);
         }
         $fee = UserSignService::signToday($this->uid,$version);
@@ -238,7 +257,7 @@ class UserController extends BaseController
             return response()->error('WAP_SYS_ERROR');
         }
         $sign_count = ReadRecordService::getSignCount($this->uid);
-        $data = ['sign_count'=>$sign_count,'fee'=>$fee,'fee_pool'=>$fee_pool,'day'=>$day];
+        $data = ['sign_count'=>$sign_count,'fee'=>$fee,'fee_pool'=>$fee_pool,'day'=>$day,'book1'=>$book1,'book2'=>$book2];
         return view($page,$data);
     }
 

+ 12 - 0
app/Modules/Book/Models/SignBook.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Modules\Book\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class SignBook extends Model
+{
+    protected $table = 'sign_book';
+
+    protected $fillable = ['bid','name','desc'];
+}

+ 12 - 0
app/Modules/Book/Services/BookConfigService.php

@@ -415,4 +415,16 @@ class BookConfigService
 
     }
 
+    public static function getRandomOneHighQualityBook($sex)
+    {
+       return BookConfig::join('books','books.id','=','book_configs.bid')
+           ->join('book_categories','books.category_id','=','book_categories.id')
+           ->select('books.intro','books.first_cid','book_configs.cover','book_configs.book_name','book_configs.bid')
+           ->where('book_configs.is_high_quality',1)
+           ->where('book_categories.pid',$sex)
+           ->orderBy('book_configs.bid')
+           ->get()
+           ->random(1);
+    }
+
 }

+ 24 - 0
app/Modules/Book/Services/SignBookService.php

@@ -0,0 +1,24 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2019/6/14
+ * Time: 15:21
+ */
+
+namespace App\Modules\Book\Services;
+
+use App\Modules\Book\Models\SignBook;
+
+class SignBookService
+{
+    public static function getRandomBook($sex,$num=2){
+        $model = new SignBook();
+        $model->join('books','sign_book.bid','=','books.id')
+            ->join('book_categories','books.category_id','=','book_categories.id')
+            ->select('sign_book.bid','sign_book.desc','sign_book.bid','sign_book.name','books.first_cid','book_categories.category_name')
+            ->where('book_categories.pid',$sex)
+            ->get()
+            ->random($num);
+    }
+}

+ 2 - 2
resources/views/wap/index.blade.php

@@ -9,7 +9,7 @@
     <script>window.VueRouter || document.write('<script src="https://cdn-novel.iycdm.com/static/vue-router.min.js"><\/script>')</script>
     <script>(window.Vue && window.VueLazyload) || document.write('<script src="https://cdn-novel.iycdm.com/static/vue-lazyload.js"><\/script>')</script>
     <title>{{$title}}</title>
-    <link href=https://cdn-novel.iycdm.com/static2019-6-14/css/app.60e255c751779dff50ebffe6228c6dba.css rel=stylesheet>
+    <link href=https://cdn-novel.iycdm.com/static2019-6-14/css/app.41c42389b1f69a898e484ebc86ba5b8f.css rel=stylesheet>
 </head>
 <body>
 <div id=app></div>
@@ -32,7 +32,7 @@
     })();</script>
 <script id=options>window.options = {!! $options!!};</script>
 <script type=text/javascript
-        src=https://cdn-novel.iycdm.com/static2019-6-14/js/manifest.816feafc0107c300d67a.js></script>
+        src=https://cdn-novel.iycdm.com/static2019-6-14/js/manifest.9b2bd5f964f676617313.js></script>
 <script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-6-14/js/vendor.171a7cafc999efe6724c.js></script>
 <script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-6-14/js/app.59ee5c519b2fa6d10846.js></script>
 </body>

Diferenças do arquivo suprimidas por serem muito extensas
+ 18 - 22
resources/views/wap/signv2.blade.php