Переглянути джерело

Merge branch 'kuaiyingyong' of iqiyoo:zhuishuyun_wap into kuaiyingyong

zz 3 роки тому
батько
коміт
9d63a1a25e

+ 1 - 1
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -31,7 +31,7 @@ class BookController extends BaseController
             return response()->error('QAPP_SYS_ERROR');
         }
         //yuyuedu、xinghe  快应用这两个cp的书屏蔽下
-        if(in_array($book_info->cp_source,['yuyuedu','xinghe'])){
+        if(in_array($book_info->cp_source,['yuyuedu','xinghe','dingtian','dingtian3'])){
             return response()->error('QAPP_SYS_ERROR');
         }
 

+ 7 - 1
app/Http/Controllers/QuickApp/Book/ChapterController.php

@@ -132,7 +132,7 @@ class ChapterController extends BaseController
             return response()->error('QAPP_SYS_ERROR');
 
         //yuyuedu、xinghe  快应用这两个cp的书屏蔽下
-        if(in_array($book_info->cp_source,['yuyuedu','xinghe'])){
+        if(in_array($book_info->cp_source,['yuyuedu','xinghe','dingtian','dingtian3'])){
             return response()->error('QAPP_SYS_ERROR');
         }
 
@@ -688,12 +688,17 @@ class ChapterController extends BaseController
     private function addDesktopType($bid, $sequence)
     {
         $force_add_desk_type = 0;
+        \Log::info('force_add_desk_log:uid:'.$this->uid);
         $send_order_id       = ReadRecordService::getSendOrderId($this->uid);
         if (!$send_order_id) return $force_add_desk_type;
+        \Log::info('force_add_desk_log:send_order_id:'.$send_order_id);
         $send_order_info = SendOrderService::getById($send_order_id);
         if (!$send_order_info) return $force_add_desk_type;
+        \Log::info('force_add_desk_log:book_id:'.$send_order_info->book_id.' bid:'.$bid.' sequence:'.$sequence);
         if ($send_order_info->book_id == $bid) {
+            \Log::info(' force_add_desk_type:'.$send_order_info->force_add_desk_type);
             if ($send_order_info->force_add_desk_type == 1 && $send_order_info->force_add_desk_seq) {
+                \Log::info('force_add_desk_seq:'.$send_order_info->force_add_desk_seq);
                 if ($sequence >= $send_order_info->force_add_desk_seq) {
                     $force_add_desk_type = $send_order_info->force_add_desk_type;
                 }
@@ -704,6 +709,7 @@ class ChapterController extends BaseController
                 }
             }
         }
+        \Log::info('force_add_desk_type_bid:'.$bid.' return_force_add_desk_type:'.$force_add_desk_type);
         return $force_add_desk_type;
     }
 }

+ 1 - 0
app/Http/Controllers/QuickApp/Book/Transformers/ChapterListTransformer.php

@@ -16,6 +16,7 @@ class ChapterListTransformer
             'chapter_sequence' => $chapter->sequence,
             'chapter_is_vip'   => $chapter->is_vip,
             'chapter_size'     => $chapter->size,
+            'need_coin'     => $chapter->is_need_charge ? 37:0,
             'prev_cid'         => $chapter->prev_cid,
             'next_cid'         => $chapter->next_cid,
             'recent_update_at' => $chapter->recent_update_at,

+ 25 - 0
app/Http/Controllers/QuickApp/User/UserController.php

@@ -92,7 +92,17 @@ class UserController extends BaseController
         }
         $data['pay_mode_default'] = 'weixin';
         $data['is_check'] = $data->distribution_channel_id == 9487 ? true : false;
+        $user = (new QappUserService())->getQAppUserByUid($data['id']);
+        if(!$user || $user->status == 0){
+            \Log::info('user_log_off_user_info:uid:'.$user->uid);
+            $data['balance'] = 0;
+            $data['charge_balance'] = 0;
+            $data['reward_balance'] = 0;
+            $data['is_vip'] = 0;
+            $data['vip_days'] = 0;
+        }
         // $data['is_check'] = !$this->phone;
+        \Log::info('user_info:'.$this->uid.' data:'.json_encode($data));
         return response()->success($data);
     }
 
@@ -359,6 +369,21 @@ class UserController extends BaseController
     }
 
     /**
+     * 注销用户
+     * @return mixed
+     */
+    public function logOff()
+    {
+        $service        = new QappUserService();
+        $res = $service->getLogOff($this->uid);
+        \Log::info('user_log_off:uid:'.$this->uid.' res:'.$res);
+        if($res){
+            return response()->success();
+        }
+        return response()->error('QAPP_SYS_ERROR');
+    }
+
+    /**
      * 新版签到信息
      */
     public function findSignInfo()

+ 1 - 0
app/Http/Kernel.php

@@ -48,5 +48,6 @@ class Kernel extends HttpKernel
     protected $routeMiddleware = [
         'throttle'  => \Illuminate\Routing\Middleware\ThrottleRequests::class,
         'checkSign' => \App\Http\Middleware\CheckSign::class,
+        'userstatus'=> \App\Http\Middleware\QuickAppUserStatus::class
     ];
 }

+ 43 - 0
app/Http/Middleware/QuickAppUserStatus.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use App\Modules\User\Services\QappUserService;
+use Closure;
+use Exception;
+use Tymon\JWTAuth\Middleware\BaseMiddleware;
+
+class QuickAppUserStatus extends BaseMiddleware
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        // 判断是否登录
+        if (!$token = $this->auth->setRequest($request)->getToken()) {
+            return response()->error('QAPP_NOT_LOGIN');
+        }
+        try {
+            //获取用户信息
+            $user = $this->auth->authenticate($token);
+            //根据uid判断用户状态 0为已注销
+            $user_info = (new QappUserService)->getQAppUserByUid($user->id);
+            if(!$user_info || $user_info->status == 0){
+                \Log::info('user_log_off_middleware:uid:'.$user->uid);
+                return response()->success();
+            }else{
+                \Log::info('user_ok:'.$user->id);
+            }
+        } catch (Exception $e) {
+            myLog('QuickAppGetUserFromToken')->info($e->getMessage());
+            return response()->error('QAPP_NOT_LOGIN');
+        }
+
+        return $next($request);
+    }
+}

+ 28 - 11
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -41,6 +41,26 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
     });
 
     Route::group(['prefix' => 'api', 'middleware' => 'jwttoken'], function () {
+
+        Route::middleware(['userstatus'])->group(function (){
+            //章节订购列表
+            Route::get('order/chapterOrderList', 'Order\OrdersController@chapterOrderList');
+
+            //单本订购列表
+            Route::get('order/bookOrderList', 'Order\OrdersController@bookOrderList');
+
+            //充值记录
+            Route::get('order/chargeRecordLists', 'Order\OrdersController@chargeRecordLists');
+
+            Route::get('user/sign_record', 'User\UserController@signRecord');
+
+            //书架
+            Route::get('userShelfBooks', 'User\UserShelfBooksController@index');
+
+            //阅读记录
+            Route::get('readrecord', 'User\ReadRecordController@index');
+        });
+
         //限免
         Route::get('books/free/{sex}', 'Book\BookController@free')->where('sex', '\d+');
         // 全局配置
@@ -63,12 +83,6 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('books/{bid}/balance/chapterOrders/{cid}', 'Book\ChapterController@pay');
         //充值列表
         Route::get('order/chargeList', 'Order\OrdersController@chargeList');
-        //章节订购列表
-        Route::get('order/chapterOrderList', 'Order\OrdersController@chapterOrderList');
-        //单本订购列表
-        Route::get('order/bookOrderList', 'Order\OrdersController@bookOrderList');
-        //充值记录
-        Route::get('order/chargeRecordLists', 'Order\OrdersController@chargeRecordLists');
 
         Route::get('order/issuccess', 'Order\OrdersController@isSuccess');
         //个人中心
@@ -77,6 +91,10 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::post('user/bindPhone', 'User\UserController@bindPhone');
         Route::any('user/task/get/{id}', 'User\UserController@getUserTaskReward')->where('id', '\d+');
         Route::any('user/task', 'User\UserController@taskList');
+
+        //用户注销
+        Route::get('user/logOff', 'User\UserController@logOff');
+
         //催更
         Route::post('user/urgeUpdate', 'User\UserController@urgeUpdate');
         //设置派单ID
@@ -85,18 +103,16 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('sign', 'User\UserController@sign');
         Route::get('sign/new', 'User\UserController@newSign');
         Route::get('sign/info', 'User\UserController@findSignInfo');
-        Route::get('user/sign_record', 'User\UserController@signRecord');
+
         Route::get('user/addDesktop', 'User\UserController@addDesktop');
-        //书架
-        Route::get('userShelfBooks', 'User\UserShelfBooksController@index');
+
         //添加书架
         Route::post('userShelfBooks', 'User\UserShelfBooksController@addShelf');
         //删除书架
         Route::get('userShelfBooks/delete', 'User\UserShelfBooksController@delShelf');
 
         Route::get('userShelfBooks/isonshelf', 'User\UserShelfBooksController@isOnshelf');
-        //阅读记录
-        Route::get('readrecord', 'User\ReadRecordController@index');
+
         //添加阅读记录
         Route::post('readrecord', 'User\ReadRecordController@addReadRecord');
         //删除阅读记录
@@ -116,6 +132,7 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('activity/detail', 'Activity\ActivityController@channelCustomActivityV3');
     });
 
+
     // 推送
     Route::group(['prefix' => 'api/push'], function () {
         Route::post('pushToUser', 'Push\PushController@pushToUser');

+ 2 - 2
app/Modules/Book/Models/BookConfig.php

@@ -162,7 +162,7 @@ class BookConfig extends Model
                 }
             }
         }
-        $res->whereNotIn('book_configs.cp_source',['wutong','wutong2','wutong3','youyan2','yuyuedu','xinghe']);
+        $res->whereNotIn('book_configs.cp_source',['wutong','wutong2','wutong3','youyan2','yuyuedu','xinghe','dingtian','dingtian3']);
         return $res->orderBy($order[0], $order[1])->orderBy('book_configs.updated_at', 'desc')->paginate($page_size);
     }
 
@@ -224,7 +224,7 @@ class BookConfig extends Model
             $field = 'bid,' . $str;
             $res->orderBy(DB::raw('field(' . $field . ')'));
         }
-        $res->whereNotIn('book_configs.cp_source',['wutong','wutong2','wutong3','youyan2','yuyuedu','xinghe']);
+        $res->whereNotIn('book_configs.cp_source',['wutong','wutong2','wutong3','youyan2','yuyuedu','xinghe','dingtian','dingtian3']);
 
         return $res->limit(30)->get();
     }

+ 1 - 0
app/Modules/Trade/Pay/OrderPaySuccess.php

@@ -20,6 +20,7 @@ class OrderPaySuccess
     public static function handle(string $trade_no, string $transaction_id)
     {
         $order = Order::where('trade_no', $trade_no)->first();
+        \Log::info('OrderPaySuccess_handle:trade_no:'.$trade_no.' transaction_id:'.$transaction_id);
         //订单跨天
         $is_change = self::orderAcrossDay($order);
         $order->transaction_id = $transaction_id;

+ 1 - 0
app/Modules/User/Models/QappUser.php

@@ -17,6 +17,7 @@ class QappUser extends Model
         'device_info',
         'phone',
         'channel_id',
+        'status',
     ];
 
     /**

+ 18 - 0
app/Modules/User/Services/QappUserService.php

@@ -81,6 +81,23 @@ class QappUserService
     }
 
     /**
+     * 注销用户
+     * @param $uid
+     * @return bool
+     */
+    public function getLogOff($uid)
+    {
+        $user = QappUser::getUserByUid($uid);
+        if($user && $user->status == 1){
+            $res = QappUser::where('uid',$uid)->update(['status' => 0, 'updated_at' => date('Y-m-d H:i:s')]);
+            if(!$res){
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
      * 绑定手机号
      * 多个账号可以绑定一个手机号
      */
@@ -129,6 +146,7 @@ class QappUserService
         $qapp_user->app_pay_merchat_id = $user_info->app_pay_merchat_id;
         $qapp_user->h5_pay_merchat_id  = $user_info->h5_pay_merchat_id;
         $qapp_user->ali_pay_merchat_id = $user_info->ali_pay_merchat_id;
+        $qapp_user->status             = $user_info->status;
     }
 
     /**