Просмотр исходного кода

类型列表,咨询下订单

lizhen_gitee 1 месяц назад
Родитель
Сommit
5b6816622e

+ 83 - 0
app/Http/Controllers/Api/AskController.php

@@ -0,0 +1,83 @@
+<?php
+namespace App\Http\Controllers\Api;
+
+use App\Http\Requests\Api\PostsRequests\AskRequest;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
+
+class AskController extends BaseController
+{
+
+    //发起一个咨询
+    public function createNew(AskRequest $request){
+        // 验证
+        $request->validate('createnew');
+
+        //
+        $question = trim($request->question);
+        if(mb_strlen($question) > 300){
+            return $this->fail(200016,[],'咨询内容不能超过300字');
+        }
+
+        //
+        $images   = trim($request->images);
+        $images   = trim($images,',');
+        if(count(explode(',',$images)) > 9){
+            return $this->fail(200016,[],'咨询图片最大9张');
+        }
+
+        //验证答主
+        if($request->uid == $request->blogger_user_id){
+            return $this->fail(200016,[],'不能咨询自己');
+        }
+        $blogger = DB::table('blogger')->where('user_id',$request->blogger_user_id)->first();
+        if(empty($blogger)){
+            return $this->fail(200016,[],'此答主没有经过认证');
+        }
+        if($blogger->status != 1){
+            return $this->fail(200016,[],'此答主没有经过认证');
+        }
+
+        //
+        $data = [
+            'user_id' => $request->uid,
+            'blogger_user_id' => $request->blogger_user_id,
+            'question' => $question,
+            'images' => $images,
+            'createtime' => time(),
+            'ask_price' => $blogger->ask_price,
+            'sit_price' => $blogger->sit_price,
+            'ask_minute' => $blogger->ask_minute,
+
+            'is_hidden' => $request->is_hidden,
+            'is_public' => $request->is_public,
+        ];
+
+        DB::table('ask_order')->insert($data);
+
+        return $this->success();
+    }
+
+
+
+    //答主的主页
+    //咨询首页
+
+    //首页轮播
+    //推荐答主列表
+    //某个提问的旁听详情
+    //我购买的旁听列表
+    //评价此次咨询
+    //我发起的咨询
+    //所有问答列表
+    //答主的评价列表
+    //
+    //
+    //
+    //
+    //
+    //
+    //
+    //
+
+}

+ 16 - 0
app/Http/Controllers/Api/BloggerController.php

@@ -42,6 +42,15 @@ class BloggerController extends BaseController
             return $this->fail(200016,[],'咨询时间最小1分钟');
         }
 
+        $blogger = DB::table('blogger')->where('user_id',$request->uid)->first();
+        if(empty($blogger)){
+            return $this->fail(200016,[],'您还没有成为答主');
+        }
+
+        if($blogger->status != 1){
+            return $this->fail(200016,[],'您还没有认证答主');
+        }
+
         DB::table('blogger')->where('user_id',$request->uid)->update([
             'ask_price' => $request->ask_price,
             'sit_price' => $request->sit_price,
@@ -51,6 +60,13 @@ class BloggerController extends BaseController
         return $this->success();
     }
 
+    //答主所属类型列表
+    public function typeList(Request $request){
+        $list = DB::table('blogger_type')->orderBy('weight', 'desc')->orderBy('id', 'desc')->get();
+
+        return $this->success($list);
+    }
+
 
 
 }

+ 41 - 0
app/Http/Requests/Api/PostsRequests/AskRequest.php

@@ -0,0 +1,41 @@
+<?php
+namespace App\Http\Requests\Api\PostsRequests;
+
+use \App\Http\Requests\ApiRequest;
+
+class AskRequest extends ApiRequest
+{
+
+    /**
+     * Get the validation rules that apply to the request.
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        return [
+            'eva_score'    => 'required|min:1|max:5',
+            'eva_content'  => 'required|length:100',
+
+            'question' => 'required',
+        ];
+    }
+    /**
+     * 获取已定义验证规则的错误消息
+     *
+     * @return array
+     */
+    public function messages()
+    {
+        return [
+            'eva_score.required'    => '咨询价格不能为空',
+            'eva_content.required'  => '请填写评价内容',
+
+            'question.required' => '请填写咨询内容',
+        ];
+    }
+    public $scenes = [
+        'evaluate' => ['eva_score', 'eva_content'],
+        'createnew'   => ['question'],
+    ];
+}

+ 7 - 2
app/Routes/api/v1.php

@@ -41,6 +41,7 @@ use App\Http\Controllers\Api\AdminCode\AdminGoodsController;
 use App\Http\Controllers\Api\AdminCode\AdminPostsController;
 use App\Http\Controllers\Api\WallpaperController;
 use App\Http\Controllers\Api\BloggerController;
+use App\Http\Controllers\Api\AskController;
 
 /**
  * 需要登录
@@ -53,6 +54,10 @@ Route::group(
     //答主设置价格
     Route::post('/blogger/setprice', [BloggerController::class, 'setPrice'])->middleware('auth.userstate');
 
+    //咨询,提出新问题
+    Route::post('/ask/createnew', [AskController::class, 'createNew'])->middleware('auth.userstate');
+
+
     //  上传文件
     Route::post('/files/uploads', [UploadsController::class, 'putFile'])->middleware('auth.userstate');
     //  删除附件(仅限图文上传的资源)
@@ -435,8 +440,8 @@ Route::group(
 Route::group(
     ['prefix' => 'v1', 'namespace' => 'Api', 'middleware' => 'auth.api2'], function ($app) {
 
-    //知识付费,答主类型
-    Route::get('/ask/typelist',[AskController::class, 'typeList']);
+    //答主类型列表
+    Route::post('/blogger/typelist',[BloggerController::class, 'typeList']);
 
     // 测试
     Route::get('/test', [IndexController::class, 'test']);