123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Models\Answer;
- use App\Models\ProblemRecommend;
- use App\Models\UsefulCount;
- use App\Services\ProblemService;
- use App\Services\ToolsServices;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\DB;
- class Problem
- {
- public function getProblemList(Request $request)
- {
- $limit = $request->input('limit', 10);
- $page = $request->input('page', 1);
- $list = \App\Models\Problem::getList($page,$limit);
- $data = ProblemService::problems($list);
- return ToolsServices::returnAdmin(0,$data);
- }
- public function getProblemRecommend(Request $request)
- {
- $limit = $request->input('limit', 10);
- $page = $request->input('page', 1);
- $data = ProblemService::getProblemRecommendList($limit,$page);
- return ToolsServices::returnAdmin(0,$data);
- }
- public function recommend(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $problem_id = $request->input('problem_id');
- $at_user_id = $request->input('at_user_id','');
- $text = $request->input('text');
- $input = [
- 'problem_id' => $problem_id,
- 'text' => $text,
- 'user_id' => $id,
- ];
- if (!empty($input)) {
- $input['at_user_id'] = $at_user_id;
- }
- DB::transaction(function () use ($input,$problem_id) {
- ProblemRecommend::insertData($input);
- \App\Models\Problem::countIncrement($problem_id,'recommend_count');
- });
- return ToolsServices::returnAdmin(0,[]);
- }
- public function useful(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $problem_id = $request->input('problem_id');
- DB::transaction(function () use ($problem_id,$id) {
- if (!UsefulCount::getInfo($problem_id)){
- UsefulCount::insertData(['problem_id' => $problem_id,'user_id'=>$id]);
- }
- \App\Models\Problem::countIncrement($problem_id,'useful_count');
- });
- return ToolsServices::returnAdmin(0,[]);
- }
- public function questioning(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $title = $request->input('title');
- if (empty($title)) {
- return ToolsServices::error('请填写问题');
- }
- $label = $request->input('label',[]);
- $input = [
- 'user_id' => $id,
- 'title' => $title,
- ];
- if (!empty($label)) {
- $input['label'] = json_encode($label);
- }
- \App\Models\Problem::insertData($input);
- return ToolsServices::returnAdmin(0,[]);
- }
- public function reply(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $problem_id = $request->input('problem_id');
- if (empty($problem_id)) {
- return ToolsServices::error('请选择问题');
- }
- $answer = $request->input('answer');
- if (empty($answer)) {
- return ToolsServices::error('回答不能空');
- }
- $input = [
- 'user_id' => $id,
- 'problem_id' => $problem_id,
- 'answer' => $answer,
- ];
- Answer::insertData($input);
- return ToolsServices::returnAdmin(0,[]);
- }
- }
|