Bladeren bron

qapp UserShelfBooks change to read record

zz 4 jaren geleden
bovenliggende
commit
c55b9edc1c

+ 35 - 1
app/Http/Controllers/QuickApp/User/UserShelfBooksController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers\QuickApp\User;
 
 use App\Libs\Utils;
+use App\Modules\Book\Services\BookConfigService;
 use Illuminate\Http\Request;
 use App\Http\Controllers\QuickApp\BaseController;
 use Redis;
@@ -15,7 +16,13 @@ use Log;
 
 class UserShelfBooksController extends BaseController
 {
-    public function index(Request $request)
+    /**
+     * 不用了,于 2020-11-24 15:16废弃
+     * @deprecated
+     * @param Request $request
+     * @return mixed
+     */
+    public function index2(Request $request)
     {
         $res = UserShelfBooksService::getUserShelfBooksListByUid($this->uid);
         if ($res->isEmpty()) {
@@ -47,6 +54,33 @@ class UserShelfBooksController extends BaseController
         return response()->collection(new UserShelfBooksTransformer(), $res);
     }
 
+    public function index(Request $request){
+        $record = ReadRecordService::getReadRecord($this->uid);
+        if(!$record){
+            return response()->success();
+        }
+        $bids = [];
+        foreach ($record as $item){
+            $bids[] = $item['bid'];
+        }
+        $book_infos = BookConfigService::getBookByField($bids,['bid','cover']);
+        $cover = [];
+        foreach ($book_infos as $book){
+            $cover[$book->bid] = $book->cover;
+        }
+
+        $result = [];
+        foreach ($record as $item){
+            $result[] = [
+                'id'=>0,'uid'=>$this->uid,'bid'=>Hashids::encode($item['bid']),
+                'book_name'=>$item['book_name'],'cover'=>isset($cover[$item['bid']])?$cover[$item['bid']]:'',
+                'first_cid'=>$item['cid'],'last_cid'=>$item['cid'],'last_chapter'=>$item['chapter_name'],
+                'recent_reading_chapter'=>$item['chapter_name'],'recent_cid'=>$item['cid']
+            ];
+        }
+        return response()->success($result);
+    }
+
     /**
      * @apiVersion 1.0.0
      * @apiDescription 添加书架

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

@@ -549,4 +549,9 @@ class BookConfigService
         Redis::hincrby('qapp:book:free:charge:'.$id,$now,$amount);
         Redis::sadd('qapp:free:charge'.$now,$id);
     }
+
+    public static function getBookByField($bids,$field){
+        if(!$bids || !$field) return null;
+        return BookConfig::whereIn('bid',$bids)->select($field)->get();
+    }
 }

+ 0 - 3
app/Modules/User/Services/ReadRecordService.php

@@ -122,9 +122,6 @@ class ReadRecordService
      */
     public static function getReadRecord($uid, $is_need_check_db = false)
     {
-        if ($is_need_check_db) {
-            self::resetRecordFromDB($uid);
-        }
         self::delTheLastRecord($uid);
         $read_bids = Redis::hgetall('book_read:' . $uid);
         $res       = [];