|
@@ -8,8 +8,10 @@
|
|
|
|
|
|
namespace App\Http\Controllers\V1;
|
|
namespace App\Http\Controllers\V1;
|
|
|
|
|
|
|
|
+use App\Repositories\Circle\CircleArticleRepository;
|
|
use App\Repositories\Circle\CircleRepository;
|
|
use App\Repositories\Circle\CircleRepository;
|
|
use App\Traits\UserTrait;
|
|
use App\Traits\UserTrait;
|
|
|
|
+use App\Transformers\Circle\ArticleListTransformer;
|
|
use App\Transformers\Circle\DetailTransformer;
|
|
use App\Transformers\Circle\DetailTransformer;
|
|
use App\Transformers\Circle\QuestionTransformer;
|
|
use App\Transformers\Circle\QuestionTransformer;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
@@ -25,9 +27,12 @@ use League\Fractal\Resource\Item;
|
|
class CircleController extends Controller
|
|
class CircleController extends Controller
|
|
{
|
|
{
|
|
use UserTrait;
|
|
use UserTrait;
|
|
- public function __construct(CircleRepository $circleRepository)
|
|
|
|
|
|
+
|
|
|
|
+ public function __construct(CircleRepository $circleRepository,
|
|
|
|
+ CircleArticleRepository $circleArticleRepository)
|
|
{
|
|
{
|
|
$this->circleRepository = $circleRepository;
|
|
$this->circleRepository = $circleRepository;
|
|
|
|
+ $this->circleArticleRepository = $circleArticleRepository;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -39,7 +44,7 @@ class CircleController extends Controller
|
|
$userInfo = $this->getUserInfo();
|
|
$userInfo = $this->getUserInfo();
|
|
if ($userInfo) {
|
|
if ($userInfo) {
|
|
$uid = $userInfo['uid'];
|
|
$uid = $userInfo['uid'];
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
$uid = 0;
|
|
$uid = 0;
|
|
}
|
|
}
|
|
$validator = Validator::make($request->all(), [
|
|
$validator = Validator::make($request->all(), [
|
|
@@ -62,11 +67,12 @@ class CircleController extends Controller
|
|
* @param Request $request
|
|
* @param Request $request
|
|
* @return array
|
|
* @return array
|
|
*/
|
|
*/
|
|
- public function getQuestion(Request $request){
|
|
|
|
|
|
+ public function getQuestion(Request $request)
|
|
|
|
+ {
|
|
$userInfo = $this->getUserInfo();
|
|
$userInfo = $this->getUserInfo();
|
|
if ($userInfo) {
|
|
if ($userInfo) {
|
|
$uid = $userInfo['uid'];
|
|
$uid = $userInfo['uid'];
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
$uid = 0;
|
|
$uid = 0;
|
|
}
|
|
}
|
|
$validator = Validator::make($request->all(), [
|
|
$validator = Validator::make($request->all(), [
|
|
@@ -89,9 +95,10 @@ class CircleController extends Controller
|
|
* @param Request $request
|
|
* @param Request $request
|
|
* @return array
|
|
* @return array
|
|
*/
|
|
*/
|
|
- public function joinCircle(Request $request){
|
|
|
|
|
|
+ public function joinCircle(Request $request)
|
|
|
|
+ {
|
|
$userInfo = $this->getUserInfo();
|
|
$userInfo = $this->getUserInfo();
|
|
- if($userInfo){
|
|
|
|
|
|
+ if (empty($userInfo)) {
|
|
return $this->jsonError('获取用户信息失败');
|
|
return $this->jsonError('获取用户信息失败');
|
|
}
|
|
}
|
|
// else{
|
|
// else{
|
|
@@ -104,7 +111,7 @@ class CircleController extends Controller
|
|
if ($validator->fails()) {
|
|
if ($validator->fails()) {
|
|
return $this->jsonError($validator->errors()->first());
|
|
return $this->jsonError($validator->errors()->first());
|
|
}
|
|
}
|
|
- return $this->circleRepository->joinCircle($request->all(),$userInfo);
|
|
|
|
|
|
+ return $this->circleRepository->joinCircle($request->all(), $userInfo);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -112,9 +119,10 @@ class CircleController extends Controller
|
|
* @param Request $request
|
|
* @param Request $request
|
|
* @return array
|
|
* @return array
|
|
*/
|
|
*/
|
|
- public function exitCircle(Request $request){
|
|
|
|
|
|
+ public function exitCircle(Request $request)
|
|
|
|
+ {
|
|
$userInfo = $this->getUserInfo();
|
|
$userInfo = $this->getUserInfo();
|
|
- if($userInfo){
|
|
|
|
|
|
+ if (empty($userInfo)) {
|
|
return $this->jsonError('获取用户信息失败');
|
|
return $this->jsonError('获取用户信息失败');
|
|
}
|
|
}
|
|
// else{
|
|
// else{
|
|
@@ -127,8 +135,36 @@ class CircleController extends Controller
|
|
if ($validator->fails()) {
|
|
if ($validator->fails()) {
|
|
return $this->jsonError($validator->errors()->first());
|
|
return $this->jsonError($validator->errors()->first());
|
|
}
|
|
}
|
|
- return $this->circleRepository->exitCircle($request->all(),$userInfo);
|
|
|
|
|
|
+ return $this->circleRepository->exitCircle($request->all(), $userInfo);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 精华列表
|
|
|
|
+ * @param Request $request
|
|
|
|
+ * @return array
|
|
|
|
+ */
|
|
|
|
+ public function articleList(Request $request)
|
|
|
|
+ {
|
|
|
|
+ $userInfo = $this->getUserInfo();
|
|
|
|
+ if ($userInfo) {
|
|
|
|
+ $uid = $userInfo['uid'];
|
|
|
|
+ $inviteCode = $userInfo['invite_code'];
|
|
|
|
+ }else{
|
|
|
|
+ $uid = 0;
|
|
|
|
+ $inviteCode = '';
|
|
|
|
+ }
|
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
|
+ 'id' => 'required|exists:interest_circles'
|
|
|
|
+ ]);
|
|
|
|
+ if ($validator->fails()) {
|
|
|
|
+ return $this->jsonError($validator->errors()->first());
|
|
|
|
+ }
|
|
|
|
+ $list = $this->circleArticleRepository->lists($request->all());
|
|
|
|
+ $fractal = new Manager();
|
|
|
|
+ $resource = new Collection($list, new ArticleListTransformer($uid, $inviteCode));
|
|
|
|
+ $resource->setPaginator(new IlluminatePaginatorAdapter($list));
|
|
|
|
+ $data = $fractal->createData($resource)->toArray();
|
|
|
|
|
|
|
|
+ return jsonSuccess($data);
|
|
|
|
+ }
|
|
}
|
|
}
|