123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?php
- namespace App\Http\Controllers\Manage\Book;
- use Illuminate\Http\Request;
- use App\Http\Requests;
- use App\Http\Controllers\Controller;
- use Redis;
- class ReadRecordController extends Controller
- {
-
-
- public function saveRecordRecord(Request $request){
- $uid = $request->input('uid');
- $bid = $request->input('bid');
- $cid = $request->input('cid');
- $book_name = $request->input('book_name');
- $chapter_name = $request->input('chapter_name');
- if(empty($uid) || empty($bid) || empty($cid) || empty($book_name) || empty($chapter_name)){
- return response()->error('PARAM_ERROR');
- }
- Redis::hset('book_base:'.$uid, 'last_read', "{$bid}_{$cid}_{$book_name}_{$chapter_name}_".time());
-
- Redis::hset('book_read:'.$uid, $bid, "{$cid}_{$book_name}_{$chapter_name}_".time());
- return response()->success();
- }
-
- public function getReadRecord(Request $request){
- $uid = $request->input('uid');
-
- if(empty($uid)) return response()->error('PARAM_ERROR');
- $read_bids = Redis::hgetall('book_read:'.$uid);
- if(!$read_bids) return response()->success();
- $res = [];
- $i = 0;
- foreach ($read_bids as $key=>$v){
- $record = explode('_',$v);
- $latest_read_cid = $record[0];
- $book_name = $record[1];
- $chapter_name = $record[2];
- $latest_read_time = $record[count($record)-1];
- $res[$i] = ['book_name'=>$book_name,'bid'=>$key,'cid'=>(int)$latest_read_cid,'time'=>(int)$latest_read_time,'chapter_name'=>$chapter_name];
-
- $i++;
- }
- usort($res,function($a,$b){
- if($a['time'] >= $b['time']) return -1;
- return 1;
- });
- return response()->success($res);
- }
-
- public function deleteRecord(Request $request){
- $uid = $request->input('uid');
- $bid = $request->input('bid');
- if(empty($uid) || empty($cid)){
- response()->error('PARAM_ERROR');
- }
- if(Redis::hexists('book_read:'.$uid,$bid)){
- Redis::hdel('book_read:'.$uid,$bid);
- }
- return response()->success();
- }
- }
|