Browse Source

yunqi book

zz 6 năm trước cách đây
mục cha
commit
48a362cf70

+ 6 - 9
app/Console/Commands/YqBook.php

@@ -5,6 +5,7 @@ namespace App\Console\Commands;
 use App\Modules\Book\Models\Chapter;
 use App\Modules\Book\Models\Book;
 use App\Modules\Book\Models\BookConfig;
+use App\Modules\YunQi\Services\BookYunqiService;
 use Illuminate\Console\Command;
 use GuzzleHttp\Client;
 use GuzzleHttp\Psr7\Request;
@@ -96,26 +97,22 @@ class YqBook extends Command
             'cover'=>$book_info['cover'],
             'keyword'=>$book_info['keyword'],
             'chapter_count'=>$book_info['chapter_count'],
+            'category_name'=>$book_info['category_name'],
+            'status'=>$book_info['status'],
             'size'=>$book_info['size']
         ]);
         BookConfig::create([
             'bid'=>$book->id,
             'force_subscribe_chapter_seq'=>10,
             'price'=>8.99,
-            'cover'=>$book_info['book_name'],
+            'book_name'=>$book_info['book_name'],
+            'cover'=>$book_info['cover'],
             'promotion_domain'=>'iycdm.com',
             'charge_type'=>isset($book_info['charge_type'])?$book_info['charge_type']:'CHAPTER',
             'is_on_shelf'=>10,
             'cp_source'=>'yunqi',
         ]);
-
-        DB::table('book_yunqi')->insert([
-            'bid'=>$book->id,
-            'yq_bid'=>$bid,
-            'type'=>'DEFAULT',
-            'created_at'=>date('Y-m-d H:i:s'),
-            'updated_at'=>date('Y-m-d H:i:s')
-        ]);
+        BookYunqiService::create($book->id,$bid);
         return $book;
     }
 

+ 11 - 0
app/Modules/YunQi/Models/BookUser.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Modules\YunQi\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class BookUser extends Model
+{
+    protected $table = 'yq_book_user';
+    protected $fillable = ['uid','area','type'];
+}

+ 11 - 0
app/Modules/YunQi/Models/BookYunqi.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Modules\YunQi\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class BookYunqi extends Model
+{
+    protected $table = 'book_yunqi';
+    protected $fillable = ['bid','yq_bid','type'];
+}

+ 50 - 0
app/Modules/YunQi/Services/BookUserService.php

@@ -0,0 +1,50 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2019/1/10
+ * Time: 11:30
+ */
+
+namespace App\Modules\YunQi\Services;
+
+use App\Modules\YunQi\Models\BookUser;
+use Redis;
+
+class BookUserService
+{
+    public static function getByUid($uid){
+        return BookUser::where('uid',$uid)->select('id','uid','area','type')->first();
+    }
+
+    public static function updateUser($uid,$data){
+        return BookUser::where('uid',$uid)->update($data);
+    }
+
+
+    public static function popUser($uid){
+        Redis::srem('xx',$uid);
+    }
+
+    public static function isUserInRedis($uid){
+        return Redis::SISMEMBER('key',$uid);
+    }
+
+    /**
+     * 判断用户的区域是否已经获取
+     * @param $uid
+     * @return bool
+     */
+    public static function selectUser($uid){
+        if(!self::isUserInRedis($uid)){
+            return false;
+        }
+
+        $user = self::getByUid($uid);
+        if(!$user)
+            return false;
+        if($user->area)
+            return false;
+        return true;
+    }
+}

+ 39 - 0
app/Modules/YunQi/Services/BookYunqiService.php

@@ -0,0 +1,39 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2019/1/10
+ * Time: 11:31
+ */
+
+namespace App\Modules\YunQi\Services;
+
+
+use App\Modules\YunQi\Models\BookYunqi;
+use Redis;
+
+class BookYunqiService
+{
+    public static function create($bid,$yq_bid){
+       $type = 'DEFAULT';
+        if(self::getByBid($bid)){
+            return false;
+        }
+       return BookYunqi::create(compact('bid','yq_bid','type'));
+    }
+
+    public static function getByBid($bid){
+        if(empty($bid))return false;
+        return BookYunqi::where('bid',$bid)->select('bid','type','id')->first();
+    }
+
+    public static function getRandomBooks($num=1):array{
+        $books = BookYunqi::select('bid')->get();
+        if($books->count()<=0){
+            return [];
+        }
+        $num = $books->count()>$num ?$num:$books->count();
+        return $books->random($num)->pluck('bid')->all();
+    }
+
+}