王大坤 2 лет назад
Родитель
Сommit
1ac0143353

+ 2 - 1
app/Http/Controllers/V1/AuthController.php

xqd xqd
@@ -57,6 +57,7 @@ class AuthController extends Controller
         $user = \App::make('getUserInstance'); //在 app/Providers/AppServiceProvider.php 里面可以创一个单例模式
         $user->name = $request->name; // 姓名
         $user->account = $request->account; // 账号
+        $user->nickname = $request->account; // 账号
         $user->email = $request->email; // 邮箱
         $user->password = $password; //这个不是直接存密码,User模型中使用了修改器
         $user->register_ip = request()->ip();
@@ -78,7 +79,7 @@ class AuthController extends Controller
         if (!auth('api')->attempt($credentials1) && !auth('api')->attempt($credentials2)) {
             return $this->error('密码错误!');
         }
-
+//        $user->nickname = $user->nickname.'@huabook.net';
         $data = $this->doLogin($user, $jpush_reg_id);
         return $this->success($data);
     }

+ 49 - 1
app/Http/Controllers/V1/ProductController.php

xqd xqd xqd xqd
@@ -212,11 +212,16 @@ class ProductController extends Controller
                 $query->orWhereJsonContains('type',[intval($v)]);
             }
         }
+        $query->whereHas('user',function ($q){
+            $q->where('is_stop',0);
+        });
         if(!empty($keyword)){
             $query->where('name','like','%'.$keyword.'%');
         }
         $list = $query->where('status',1)
             ->orderByDesc("id")
+//            ->toSql();
+//        echo $list;
             ->paginate(intval($limit));
         foreach ($list as $v){
             $v['is_collect'] = 0;
@@ -237,6 +242,9 @@ class ProductController extends Controller
             ->with('user:id,name,nickname,avatar,company_name,company_url,production_project')
             ->where('status',1)
             ->where('id',$request->get('id'))
+            ->whereHas('user',function ($q){
+                $q->where('is_stop',0);
+            })
             ->select("id","name","user_id","content","image","type","url")->first();
         if(!$data){
             return $this->error("数据不存在!");
@@ -252,10 +260,47 @@ class ProductController extends Controller
         if(!empty($data['user'])){
             $data['user']['follow_count'] = UserFollow::query()->where('user_id',$data['user_id'])->count();
         }
-       return $this->success($data);
+        return $this->success($data);
 
     }
 
+    /**
+     * 获取推荐信息
+     *
+     * @param Request $request
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function getProductRecommend(Request $request){
+        $type = Product::where('id',$request->get('id'))->where('status',1)->value('type');
+        $recommend = Product::with('user:id,name,nickname,avatar,company_name,company_url,production_project');
+        foreach ($type ?? []  as $v){
+            $recommend->orWhereJsonContains('type',[intval($v)]);
+        }
+        $recommend->where('status',1)
+            ->select("id","name","user_id","content","image","type","url")
+            ->where('id','<>',$request->get('id'))
+            ->whereHas('user',function ($q){
+                $q->where('is_stop',0);
+            });
+        $data = $recommend->orderBy('id','desc')->paginate()->toArray();
+        foreach ($data['data'] ?? [] as $key => $value){
+            if ($value['id'] == $request->get('id')){
+                unset($data['data'][$key]);
+            }
+        }
+        $data['data'] = array_values($data['data']);
+        if (empty($data['data'])){
+            $data = Product::with('user:id,name,nickname,avatar,company_name,company_url,production_project')
+                ->where('status',1)
+                ->where('id','<>',$request->get('id'))
+                ->select("id","name","user_id","content","image","type","url")
+                ->whereHas('user',function ($q){
+                    $q->where('is_stop',0);
+                })
+                ->orderByRaw('rand()')->paginate();
+        }
+        return $this->success($data);
+    }
     /**
      * @param Request $request
      * @return void
@@ -392,6 +437,9 @@ class ProductController extends Controller
             ->with('product:id,name,image,url')
             ->whereHas('product',function ($query){
                 $query->where('id','>',0);
+                $query->whereHas('user',function ($q){
+                    $q->where('is_stop',0);
+                });
             })
             ->where('user_id',$user_id)
             ->where('is_arrange','=',0)

+ 28 - 1
app/Http/Controllers/V1/UserController.php

xqd xqd
@@ -152,7 +152,7 @@ class UserController extends Controller
      */
     public function cancelFollow(Request $request)
     {
-        $user = User::where('id',$request->get('user_id'))->first();
+            $user = User::where('id',$request->get('user_id'))->first();
         if (!$user){
             return $this->error('用户不存在!');
         }
@@ -239,4 +239,31 @@ class UserController extends Controller
         return true;
     }
 
+    /**
+     * 账号停用
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function accountStop(){
+        if ($this->user->is_stop){
+            return $this->error('当前账号已停用!');
+        }
+        $this->user->is_stop = 1;
+        $this->user->save();
+        return  $this->success();
+    }
+
+    /**
+     * 账号启用
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function accountOpen(){
+        if ($this->user->is_stop == 0){
+            return $this->error('当前账号已启用!');
+        }
+        $this->user->is_stop = 0;
+        $this->user->save();
+        return  $this->success();
+    }
 }

+ 0 - 1
public/.user.ini

xqd
@@ -1 +0,0 @@
-open_basedir=/www/wwwroot/huabook/:/tmp/

+ 2 - 2
public/nginx.htaccess

xqd
@@ -1,3 +1,3 @@
-location / {  
-	try_files $uri $uri/ /index.php$is_args$query_string;  
+location / {
+    try_files $uri $uri/ /index.php?$query_string;
 }

+ 3 - 0
routes/api.php

xqd xqd
@@ -76,6 +76,8 @@ $api->version('v1', ['namespace' => 'App\Http\Controllers\V1'], function ($api)
             $api->get('add_follow', 'UserController@addFollow');  //添加关注
             $api->get('cancelFollow', 'UserController@cancelFollow');  //添加关注
             $api->get('group_by_initial', 'UserController@groupByInitial'); //用户列表按照首字母分组排序
+            $api->post('accountStop', 'UserController@accountStop'); //账号停用
+            $api->post('accountOpen', 'UserController@accountOpen'); //账号启用
         });
         // 产品
         $api->group(['prefix' => 'product'], function($api){
@@ -89,6 +91,7 @@ $api->version('v1', ['namespace' => 'App\Http\Controllers\V1'], function ($api)
             $api->get('collect_list', 'ProductController@collectList');  //收藏列表
             $api->get('report_list', 'ProductController@reportList');  //举报列表
             $api->post('report', 'ProductController@report');  //举报图片
+            $api->get('getProductRecommend', 'ProductController@getProductRecommend');  //获取推荐数据
         });
         // 消息
         $api->group(['prefix' => 'msg'], function($api){