|
@@ -2,16 +2,16 @@
|
|
|
|
|
|
namespace App\Http\Controllers\QuickApp\User;
|
|
|
|
|
|
+use App\Consts\SysConsts;
|
|
|
use Illuminate\Http\Request;
|
|
|
use App\Http\Controllers\QuickApp\BaseController;
|
|
|
use App\Modules\Book\Services\BookConfigService;
|
|
|
use App\Modules\Book\Services\UserShelfBooksService;
|
|
|
use App\Http\Controllers\QuickApp\User\Transformers\ReadRecordTransformer;
|
|
|
use App\Modules\Book\Services\BookService;
|
|
|
+use App\Modules\ShareFree\Services\ShareUsersService;
|
|
|
use App\Modules\User\Services\ReadRecordService;
|
|
|
-use Hashids;
|
|
|
use Redis;
|
|
|
-use Log;
|
|
|
|
|
|
class ReadRecordController extends BaseController
|
|
|
{
|
|
@@ -65,7 +65,9 @@ class ReadRecordController extends BaseController
|
|
|
*/
|
|
|
public function index(Request $request)
|
|
|
{
|
|
|
- $res = ReadRecordService::getReadRecord($this->uid);
|
|
|
+ $user = $this->user_info;
|
|
|
+ $is_check_from_db = (time() - strtotime($user->created_at) > 5 * 30 * SysConsts::ONE_DAY_SECONDS);
|
|
|
+ $res = ReadRecordService::getReadRecord($this->uid, $is_check_from_db);
|
|
|
if ($res) {
|
|
|
$id_arr = [];
|
|
|
foreach ($res as $key => $value) {
|
|
@@ -74,6 +76,8 @@ class ReadRecordController extends BaseController
|
|
|
|
|
|
$book = BookConfigService::getBooksByIds($id_arr);
|
|
|
foreach ($res as $key => &$value) {
|
|
|
+ $value['cover'] = '';
|
|
|
+ $value['last_chapter'] = 0;
|
|
|
foreach ($book as $val) {
|
|
|
if ($value['bid'] == $val->bid) {
|
|
|
$value['cover'] = $val->cover;
|
|
@@ -100,6 +104,14 @@ class ReadRecordController extends BaseController
|
|
|
});
|
|
|
$res = json_encode($res);
|
|
|
$res = json_decode($res);
|
|
|
+ foreach ($res as $key => &$each) {
|
|
|
+ $rec = ShareUsersService::getUnlocked($this->uid, $each->bid);
|
|
|
+ if ($rec) {
|
|
|
+ $each->is_advertise_sub = 1;
|
|
|
+ } else {
|
|
|
+ $each->is_advertise_sub = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
return response()->collection(new ReadRecordTransformer(), $res);
|
|
|
}
|
|
|
|
|
@@ -134,13 +146,9 @@ class ReadRecordController extends BaseController
|
|
|
return response()->error('LACK_PARAM');
|
|
|
}
|
|
|
$param['uid'] = $this->uid;
|
|
|
- $param['bid'] = Hashids::decode($param['bid'])[0];
|
|
|
- $record_info = Redis::hget('book_read:' . $this->uid, $param['bid']);
|
|
|
- $param['book_name'] = 'unknown';
|
|
|
- if ($record_info) {
|
|
|
- $param['book_name'] = explode('_', $record_info)[1];
|
|
|
- }
|
|
|
-
|
|
|
+ $param['bid'] = BookService::decodeBidStatic($param['bid']);
|
|
|
+ Redis::hget('book_read:' . $this->uid, $param['bid']);
|
|
|
+ $param['book_name'] = '';
|
|
|
ReadRecordService::addReadRecord($param);
|
|
|
return response()->success();
|
|
|
}
|