325 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			325 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | 
 | ||
|  | namespace app\api\controller; | ||
|  | 
 | ||
|  | 
 | ||
|  | use app\api\logic\CommunityLogic; | ||
|  | use app\api\validate\CommunityArticleValidate; | ||
|  | use app\common\basics\Api; | ||
|  | use app\common\server\JsonServer; | ||
|  | 
 | ||
|  | /** | ||
|  |  * 种草社区相关 | ||
|  |  * Class CommunityArticle | ||
|  |  * @package app\api\controller | ||
|  |  */ | ||
|  | class Community extends Api | ||
|  | { | ||
|  | 
 | ||
|  |     public $like_not_need_login = ['cate', 'articleLists', 'detail', 'relationGoods', 'relationShop', 'topicArticle']; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取已购商品列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 15:07 | ||
|  |      */ | ||
|  |     public function goods() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getGoodsLists($this->user_id, $get, $this->page_no, $this->page_size); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取已购店铺列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 15:40 | ||
|  |      */ | ||
|  |     public function shop() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getShopLists($this->user_id, $get, $this->page_no, $this->page_size); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取推荐话题 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 16:00 | ||
|  |      */ | ||
|  |     public function recommendTopic() | ||
|  |     { | ||
|  |         $result = CommunityLogic::getRecommendTopic(); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取话题列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 17:25 | ||
|  |      */ | ||
|  |     public function topicLists() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getTopicLists($get); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取分类 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 17:50 | ||
|  |      */ | ||
|  |     public function cate() | ||
|  |     { | ||
|  |         $result = CommunityLogic::getCate(); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取发现页的文章列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 18:09 | ||
|  |      */ | ||
|  |     public function articleLists() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getArticleLists($get, $this->page_no, $this->page_size, $this->user_id); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 发布文章 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 10:48 | ||
|  |      */ | ||
|  |     public function addArticle() | ||
|  |     { | ||
|  |         $post = $this->request->post(); | ||
|  |         (new CommunityArticleValidate)->gocheck('add'); | ||
|  |         $result = CommunityLogic::addArticle($this->user_id, $post); | ||
|  |         if (false === $result) { | ||
|  |             $error = CommunityLogic::getError() ?: '发布失败'; | ||
|  |             return JsonServer::error($error); | ||
|  |         } | ||
|  |         return JsonServer::success('发布成功,坐等点赞和关注吧~'); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 编辑文章 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/4/29 10:48 | ||
|  |      */ | ||
|  |     public function editArticle() | ||
|  |     { | ||
|  |         $post = $this->request->post(); | ||
|  |         (new CommunityArticleValidate)->gocheck('edit'); | ||
|  |         $result = CommunityLogic::editArticle($this->user_id, $post); | ||
|  |         if (false === $result) { | ||
|  |             $error = CommunityLogic::getError() ?: '编辑失败'; | ||
|  |             return JsonServer::error($error); | ||
|  |         } | ||
|  |         return JsonServer::success('编辑成功'); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 删除文章 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/7 10:28 | ||
|  |      */ | ||
|  |     public function delArticle() | ||
|  |     { | ||
|  |         $post = $this->request->post(); | ||
|  |         (new CommunityArticleValidate)->gocheck('del'); | ||
|  |         $result = CommunityLogic::delArticle($this->user_id, $post); | ||
|  |         if (false === $result) { | ||
|  |             return JsonServer::error(CommunityLogic::getError() ?: '删除失败'); | ||
|  |         } | ||
|  |         return JsonServer::success('删除成功'); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 关注用户 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/5 15:45 | ||
|  |      */ | ||
|  |     public function follow() | ||
|  |     { | ||
|  |         $post = $this->request->post(); | ||
|  |         $result = CommunityLogic::followRelation($this->user_id, $post); | ||
|  |         if (false === $result) { | ||
|  |             return JsonServer::error(CommunityLogic::getError() ?: '操作失败'); | ||
|  |         } | ||
|  |         return JsonServer::success('操作成功'); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 点赞/取消点赞文章 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/5 16:12 | ||
|  |      */ | ||
|  |     public function giveLike() | ||
|  |     { | ||
|  |         $post = $this->request->post(); | ||
|  |         $result = CommunityLogic::giveLike($this->user_id, $post); | ||
|  |         if (true !== $result) { | ||
|  |             return JsonServer::error(CommunityLogic::getError() ?: '操作失败'); | ||
|  |         } | ||
|  |         return JsonServer::success('操作成功'); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 关注页的文章列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/6 9:52 | ||
|  |      */ | ||
|  |     public function followArticle() | ||
|  |     { | ||
|  |         $result = CommunityLogic::getFollowArticle($this->user_id, $this->page_no, $this->page_size); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取文章中关联商品列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/6 14:57 | ||
|  |      */ | ||
|  |     public function relationGoods() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getRelationGoodsOrShop($get, 'goods'); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取文章中关联店铺列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/10 17:06 | ||
|  |      */ | ||
|  |     public function relationShop() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getRelationGoodsOrShop($get, 'shop'); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 作品列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/6 10:46 | ||
|  |      */ | ||
|  |     public function worksLists() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getWorksLists($this->user_id, $get, $this->page_no, $this->page_size); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 点赞的列表 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/6 14:22 | ||
|  |      */ | ||
|  |     public function likeLists() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getLikeLists($this->user_id, $get, $this->page_no, $this->page_size); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 话题关联文章 | ||
|  |      * @return \think\response\Json | ||
|  |      * @throws \think\db\exception\DataNotFoundException | ||
|  |      * @throws \think\db\exception\DbException | ||
|  |      * @throws \think\db\exception\ModelNotFoundException | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/6 16:22 | ||
|  |      */ | ||
|  |     public function topicArticle() | ||
|  |     { | ||
|  |         $get = $this->request->get(); | ||
|  |         $result = CommunityLogic::getTopicArticle($get, $this->page_no, $this->page_size); | ||
|  |         if (false === $result) { | ||
|  |             return JsonServer::error(CommunityLogic::getError() ?: '获取失败'); | ||
|  |         } | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 获取文章详情 | ||
|  |      * @return \think\response\Json | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/6 18:08 | ||
|  |      */ | ||
|  |     public function detail() | ||
|  |     { | ||
|  |         $id = $this->request->get('id/d'); | ||
|  |         $result = CommunityLogic::detail($this->user_id, $id); | ||
|  |         return JsonServer::success('', $result); | ||
|  |     } | ||
|  | 
 | ||
|  | } |