69 lines
2.3 KiB
PHP
69 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Middleware\App;
|
|
|
|
use Closure;
|
|
use App\Http\Response\ResponseJson;
|
|
class CheckStoreCommunityMoment
|
|
{
|
|
use ResponseJson;
|
|
/**
|
|
* Handle an incoming request.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \Closure $next
|
|
* @return mixed
|
|
*/
|
|
public function handle($request, Closure $next)
|
|
{
|
|
try {
|
|
//话题状态
|
|
$topic_status = $request->input('topic_status',0);
|
|
switch ($topic_status) {
|
|
case 0://不带话题
|
|
break;
|
|
case 1://引用话题
|
|
$topic_id = $request->input('topic_id');
|
|
if (empty($topic_id)) {
|
|
return $this->failure('请选择话题');
|
|
}
|
|
break;
|
|
case 2://创建话题
|
|
//判断话题是否存在
|
|
$community = $request->community;
|
|
//判断是会否是群主
|
|
if (auth()->id() != $community->user_id) {
|
|
return $this->failure('你还不是群主,暂不支持创建话题');
|
|
}
|
|
//话题名称
|
|
$name = $request->input('name');
|
|
if (empty($name)) {
|
|
return $this->failure('请输入话题名称');
|
|
}
|
|
if (strlen($name) > 50) {
|
|
return $this->failure('话题名称过长');
|
|
}
|
|
|
|
$topic = $community->topic()->where('name', $request->name)->first();
|
|
if ($topic) {
|
|
$request->topic_id = $topic->id;
|
|
// dd($topic);
|
|
// return $this->failure('此话题已经存在');
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
$content = $request->input("content");
|
|
if (empty($content)) {
|
|
return $this->failure('请输入动态内容');
|
|
}
|
|
return $next($request);
|
|
} catch (\Exception $e) {
|
|
$this->getError($e);
|
|
return $this->failure('发布动态失败,请稍后再试');
|
|
}
|
|
|
|
}
|
|
}
|