Browse Source

解决冲突

wangzq 2 years ago
parent
commit
a7977d87b1

+ 85 - 0
app/Http/Controllers/QuickApp/Book/BookController.php

@@ -57,6 +57,11 @@ class BookController extends BaseController
             $book_info->is_on_shelf = 2;
         }
 
+        $special = get_special_bid();
+        if (in_array($this->distribution_channel_id,[9487,9390]) && in_array($book_info->bid,$special)){
+            $book_info->is_on_shelf = 2;
+        }
+
         if($bid == 58886){
             $book_info->is_on_shelf = 0;
         }
@@ -368,6 +373,12 @@ class BookController extends BaseController
 
     public function library(Request $request)
     {
+        $package     = $request->header('x-package', '');
+
+
+        if (in_array($package ,["com.app.kyy.dmzyd","com.app.kyy.tths"])){
+            // return  $this->getSpecialLibrary($request);
+        }
         $where                = [];
         $order                = [];
         $where['is_on_shelf'] = [2];
@@ -823,6 +834,7 @@ class BookController extends BaseController
         return response()->collection(new BookTransformer(), $books);
     }
 
+
     /**
      * 新推荐书单
      * @param Request $request
@@ -1147,4 +1159,77 @@ class BookController extends BaseController
         return response()->success();
     }
 
+    private function getSpecialLibrary(Request $request)
+    {
+        $where                = [];
+        $order                = [];
+        $where['is_on_shelf'] = [2,4];
+        $category_id          = $request->input('category_id');
+        if ($category_id) {
+            if ($category_id == 1) {
+                $where['channel_name'] = '男频';
+            } elseif ($category_id == 2) {
+                $where['channel_name'] = '女频';
+            } else {
+                $where['category_id'] = $category_id;
+            }
+        }
+        $key = $request->input('key');
+        $uid = $request->input('uid', 0);
+        if ($key && $uid && is_numeric($uid)) {
+            BookConfigService::saveUserSearchLog($key, $uid);
+        }
+        $where['key'] = $key;
+        $order_field  = $request->input('order_field');
+        $order_seq    = $request->input('order_seq');
+        if ($order_field != '' && in_array($order_field, ['recommend_index', 'click_count', 'update', 'size', 'create'])) {
+            if ($order_field == 'update') {
+                $order = ['book_configs.updated_at', 'desc'];
+            } elseif ($order_field == 'create') {
+                $order = ['book_configs.created_at', 'desc'];
+            } else {
+                $order = [$order_field, 'desc'];
+            }
+
+            if ($order_seq == 'asc') {
+                $order = [$order_field, 'asc'];
+            }
+            if ($order_seq == 'desc') {
+                $order = [$order_field, 'desc'];
+            }
+        }
+
+        // 审核状态默认值
+        $package     = $request->header('x-package', '');
+        $brand       = $request->header('x-nbrand', '');
+        $codeVersion = $request->header('x-codeversion', '');
+        if ($order_field === 'recommend_index' && Utils::checkIsAudit($package, $brand, $codeVersion)) {
+            $order = ['book_configs.bid', 'desc'];
+        }
+
+
+        $status = $request->input('status');
+        if ($status != '') {
+            $where['status'] = $status;
+        }
+
+        // 搜索关键词的情况下,屏蔽书籍完本状态
+        if ($key && isset($where['status'])) {
+            unset($where['status']);
+        }
+
+        $page_size = $request->input('page_size', 15);
+        $where['channel_id'] = ($package === 'com.beidao.kuaiying.zsy') ? 7477 : 0;
+        $books     = BookConfigService::getBooks($where, $order, $page_size);
+        $special = get_special_bid();
+        $list = [];
+        foreach ($books as  $ke => $val){
+           if ($val->is_on_shelf != 2 && !in_array($val->bid,$special)){
+               unset($books[$ke]);
+
+           }
+        }
+        return response()->pagination(new BookTransformer,$books);
+    }
+
 }

+ 5 - 0
app/Http/Controllers/QuickApp/Book/ChapterController.php

@@ -160,6 +160,11 @@ class ChapterController extends BaseController
         if($this->distribution_channel_id == 7477 && $bid == 13765){
             $book_info->is_on_shelf = 2;
         }
+        $special = get_special_bid();
+        if (in_array($this->distribution_channel_id,[9487,9390]) && in_array($book_info->bid,$special)){
+            $book_info->is_on_shelf = 2;
+        }
+
         if($bid == 58886){
             $book_info->is_on_shelf = 0;
         }

+ 47 - 0
app/Http/Controllers/QuickApp/SendOrder/AdReplaceBookController.php

@@ -0,0 +1,47 @@
+<?php
+/**
+ *  广告修改书籍获取接口
+ * @file:AdReplaceBookController.php
+ * @Created by gnitif
+ * @Date: 2022/9/27
+ * @Time: 10:44
+ */
+
+
+namespace App\Http\Controllers\QuickApp\SendOrder;
+
+use App\Http\Controllers\QuickApp\BaseController;
+use App\Modules\SendOrder\Models\QappSendOrder;
+use Illuminate\Http\Request;
+
+
+class AdReplaceBookController extends BaseController
+{
+
+    public function getAdvReplaceBookInfo(Request $request)
+    {
+        $book = [];
+        try {
+            $send_order_id = $request->input('send_order_id',0);
+            if ($send_order_id > 0){
+                $extra_config = QappSendOrder::where(['send_order_id' =>  $send_order_id])->value('extra_config');
+                $extra_config = empty($extra_config) ? [] : json_decode($extra_config,true);
+                $status = $extra_config['replace_book_status'] ?? 0;
+                $bid = $extra_config['replace_book_bid'] ?? "";
+                $cid = $extra_config['replace_chapter_cid'] ?? 0;
+                if ($status == 1){
+                    if(!empty($bid) && !empty($cid)){
+                        $book = ['bid' => $bid,'cid' => $cid];
+                    }else{
+                        myLog("SendOrderReplaceBookError")->info(['send_order_id' => $send_order_id,'extra_config' => $extra_config]);
+                    }
+                }
+            }
+        }catch (\Exception $exception){
+            $book = [];
+
+        }
+        return response()->success($book);
+    }
+
+}

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

@@ -389,6 +389,17 @@ class UserController extends BaseController
         $service        = new UserTaskService($this->uid);
         $new_user_tasks = $service->findNewUserTaskList();
         $date_tasks     = $service->findDateUserTaskList();
+
+        // 琥珀阅读去除加桌任务
+        if ($this->distribution_channel_id == 14903 && $new_user_tasks){
+            foreach ($new_user_tasks as $key =>  $val){
+                if ($val['code'] == "add_desk"){
+                    unset($new_user_tasks[$key]);
+                }
+            }
+            unset($val);
+        }
+        $new_user_tasks = array_values($new_user_tasks->toArray());
         return response()->success(compact('new_user_tasks', 'date_tasks'));
     }
 
@@ -413,6 +424,8 @@ class UserController extends BaseController
     public function findSignInfo()
     {
         $service = new SignService($this->uid);
+        $reward_list = $this->get_sign_reward_list($this->distribution_channel_id);
+        $service->setRewardList($reward_list);
         return response()->success($service->getSignInfo());
     }
 
@@ -422,7 +435,28 @@ class UserController extends BaseController
     public function newSign()
     {
         $service = new SignService($this->uid);
+        $reward_list = $this->get_sign_reward_list($this->distribution_channel_id);
+        $service->setRewardList($reward_list);
         $service->sign();
         return response()->success();
     }
+
+    /**
+     *  奖励
+     * name: get_sign_reward_list
+     * @param $distribution_channel_id
+     * @return int[]
+     * date 2022/10/11 11:56
+     */
+    private function get_sign_reward_list($distribution_channel_id)
+    {
+        $list =   [30, 35, 40, 45, 50, 55, 60];
+
+        // 琥珀阅读签到奖励独立
+        if ($distribution_channel_id == 14903){
+            $list = [30,88,188,30,88,188,188];
+        }
+
+        return $list;
+    }
 }

+ 3 - 1
app/Http/Middleware/QuickAppGetPackage.php

@@ -19,7 +19,9 @@ class QuickAppGetPackage extends BaseMiddleware
     {
         // 获取头部信息
         $package     = $request->header('x-package', '');
-
+        if(empty($package)){
+            $package = $request->input('package',"");
+        }
         $origin_package = $package;
         //FIXME 海天包传成浩瀚了,特殊处理下,这个名字就给海天用
 //         if($package =='com.beidao.kuaiying.haohan'){

+ 2 - 0
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -155,6 +155,8 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
 
         //推荐活动
         Route::get('recon_activity', 'Activity\ActivityController@channelCustomActivityRecom');
+        // 派单替换书籍-- 设置开启替换书籍则显示替换书籍,否则则显示派单书籍
+        Route::get('advReplaceBookInfo', 'SendOrder\AdReplaceBookController@getAdvReplaceBookInfo');
     });
 
 

+ 10 - 1
app/Libs/Helpers.php

@@ -871,6 +871,7 @@ if (!function_exists("check_qapp_send_order_id)")){
 }
 
 
+
 if(!function_exists("str_decode")){
     /**
      * 字符解密
@@ -900,6 +901,14 @@ if (!function_exists('str_encode')){
      */
     function str_encode($str)
     {
-        return  Hashids::encode($str);
+        return Hashids::encode($str);
+    }
+}
+
+if(!function_exists('get_special_bid')){
+    function get_special_bid()
+    {
+        return [];
+        // return [7742,7743,7748,8721,8749,64870,64871,64872,64873,64874,64875,64876,64877,64878,64879,64880,64881,64882,64883,64884,64885,64886,64887,64888,64889,64890,64891,64892,64893,64894,64895,64896,64897,64900,64899,64898];
     }
 }

+ 1 - 1
app/Modules/User/Services/SignService.php

@@ -21,7 +21,7 @@ class SignService
         $this->uid = $uid;
     }
 
-    protected function setRewardList(array $data)
+    public function setRewardList(array $data)
     {
         $this->reward_list = $data;
     }