Files
bsh_info/app/common/controller/PostCommentController.php
T
18338781771 4d94614d40 1、帖子搜索
2、收藏搜索
3、帖子、评论删除
2025-12-10 10:29:41 +08:00

80 lines
2.8 KiB
PHP

<?php
namespace app\common\controller;
use app\common\controller\BaseController;
use app\common\model\PostComment;
use app\common\model\User;
use app\common\service\OssService;
use app\common\traits\crud\CrudControllerTrait;
use app\common\service\PostCommentService;
use support\Request;
class PostCommentController extends BaseController
{
use CrudControllerTrait;
protected $service;
public function __construct()
{
$this->service = new PostCommentService();
}
/**
* 列表页数据格式化
*
* @param array $data
* @return array
*/
protected function indexFormat($data)
{
if (isset($data['created_at']))
$data['created_at'] = date('Y-m-d H:i:s', $data['created_at']);
if (isset($data['updated_at']))
$data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']);
if (isset($data['id'])){
$data['child'] = [];
$child = PostComment::where(['parent_id' => $data['id']])->first();
if(!empty($child)){
$child = $child->toArray();
}
$data['count'] = PostComment::where(['parent_id' => $data['id']])->count();
if (isset($child['user_id'])){
$ossservice = new OssService();
$child['user'] = User::where('id', $child['user_id'])->select(['nickname', 'avatar', 'openid'])->first();
if(!str_contains($child['user']['avatar'], 'http') && !empty($child['user']['avatar'])){
$child['user']['avatar_pull'] = $ossservice->generatePrivateUrl($child['user']['avatar']);
}
$child['created_at'] = date('Y-m-d H:i:s', strtotime($child['created_at']));
$child['updated_at'] = date('Y-m-d H:i:s', strtotime($child['updated_at']));
$data['child'][] = $child;
}
}
if (isset($data['user_id'])){
$ossservice = new OssService();
$data['user'] = User::where('id', $data['user_id'])->select(['nickname', 'avatar', 'openid'])->first();
if(!str_contains($data['user']['avatar'], 'http') && !empty($data['user']['avatar'])){
$data['user']['avatar_pull'] = $ossservice->generatePrivateUrl($data['user']['avatar']);
}
}
return $data;
}
/**
* 删除
*
* @param Request $request 请求对象
* @return mixed 返回删除操作结果
*/
public function delete(Request $request)
{
try {
$param = $request->all();
$count = $this->service->serviceDelete($request,'mini');
return $this->success([], "删除评论成功");
} catch (\Throwable $e) {
return $this->error($e->getMessage().$e->getLine().$e->getFile());
}
}
}