Przeglądaj źródła

轮播,答主的评价列表

lizhen_gitee 1 miesiąc temu
rodzic
commit
086b5ad1c8

+ 36 - 5
app/Http/Controllers/Api/AskController.php

@@ -10,6 +10,7 @@ use App\Models\User\WxUser;
 use App\Http\Controllers\Api\Traits\PayTrait;
 use App\Wen\Utils\Settings;
 use App\Wen\Utils\UserUtils;
+use App\Models\WxSlideshow;
 
 class AskController extends BaseController
 {
@@ -404,23 +405,53 @@ class AskController extends BaseController
     }
 
 
-    //答主的主页
-    //咨询首页
+
 
     //首页轮播
     public function banner(Request $request){
-        $list = WxSlideshow::wherein('id', explode(',', Settings::get('ask_index_banner', '', true)))->orderBy(DB::raw('FIND_IN_SET(id, "' . Settings::get('ask_index_banner', '', true) . '"' . ")"))->get(['id', 'poster', 'target_id', 'slideshow_type']),
+        $ids = Settings::get('ask_index_banner', '', true);
+        $ids = '30,32,33,34,35,36,37';
+        $list = WxSlideshow::wherein('id', explode(',', $ids))->orderBy(DB::raw('FIND_IN_SET(id, "' . $ids . '"' . ')'))
+            ->get(['id', 'poster', 'target_id', 'slideshow_type']);
 
         return $this->success($list);
     }
-    //推荐答主列表
+
     //某个提问的旁听详情
     //我购买的旁听列表
 
 
     //我发起的咨询
     //所有问答列表
-    //答主的评价列表
+
+    //某答主的评价列表
+    public function bloggerEvaList(Request $request){
+        //分页
+        $page = $request->page ?? 1;
+        $limit = $request->limit ?? 10;
+        $offset = ($page - 1) * $limit;
+
+        $list = DB::table('ask_order')
+            ->leftJoin('wx_user','wx_user.id','=','ask_order.user_id')
+            ->select('ask_order.id','ask_order.eva_time','ask_order.eva_score','ask_order.eva_content','ask_order.is_hidden','wx_user.user_avatar','wx_user.user_name')
+            ->where('ask_order.blogger_user_id',$request->user_id)
+            ->where('ask_order.eva_time','>',0)
+            ->where('ask_order.status',20)
+            ->orderBy('ask_order.eva_time','desc')
+            ->offset($offset)->limit($limit)
+            ->get();
+        $list = json_decode(json_encode($list),true);
+
+        foreach($list as &$val){
+            if($val['is_hidden'] == 1){
+                $val['user_avatar'] = 'https://img.yiyoujiayuan.cn/2025/03/20/0/b59ce3b31611a3bd82199c3183208a10.jpg';//匿名头像
+                $val['user_name'] = '匿名用户';
+            }
+        }
+
+        return $this->success($list);
+    }
+
     //
     //
     //

+ 23 - 3
app/Http/Controllers/Api/BloggerController.php

@@ -14,19 +14,39 @@ class BloggerController extends BaseController
 
     //答主获取自己的详情
     public function getInfo(Request $request){
-        $blogger = DB::table('blogger')->where('user_id',$request->uid)->first();
+        $blogger = DB::table('blogger')
+            ->leftJoin('wx_user','wx_user.id','=','blogger.user_id')
+            ->select('blogger.*','wx_user.user_avatar','wx_user.user_name')
+            ->where('blogger.user_id',$request->uid)->first();
         if(empty($blogger)){
             return $this->fail(200016,[],'您还没有成为答主');
         }
 
-        if($blogger->status != 1){
+        /*if($blogger->status != 1){
             return $this->fail(200016,[],'您还没有认证答主');
+        }*/
+
+        return $this->success($blogger);
+    }
+
+    //用户获得答主的详情
+    public function info(Request $request){
+        $blogger = DB::table('blogger')
+            ->leftJoin('wx_user','wx_user.id','=','blogger.user_id')
+            ->select('blogger.*','wx_user.user_avatar','wx_user.user_name')
+            ->where('blogger.user_id',$request->user_id)->first();
+        if(empty($blogger)){
+            return $this->fail(200016,[],'没有找到该答主');
         }
 
+        /*if($blogger->status != 1){
+            return $this->fail(200016,[],'您还没有认证答主');
+        }*/
+
         return $this->success($blogger);
     }
 
-    //收费设置
+    //答主设置收费
     public function setPrice(BloggerRequest $request){
 
         // 验证

+ 6 - 0
app/Routes/api/v1.php

@@ -454,6 +454,12 @@ Route::group(
 
     //答主类型列表
     Route::post('/blogger/typelist',[BloggerController::class, 'typeList']);
+    //答主的详情资料
+    Route::post('/blogger/info',[BloggerController::class, 'info']);
+    //答主的咨询评价
+    Route::post('/ask/bloggerevalist',[AskController::class, 'bloggerEvaList']);
+    //轮播
+    Route::post('/ask/banner',[AskController::class, 'banner']);
 
     // 测试
     Route::get('/test', [IndexController::class, 'test']);