public function read1()
{
$newsId = $this->request->param('news_id', 0, 'intval');
$param = $this->request->param();
$where['news_id'] = ['=', $newsId];
$where['status'] = ['=', 1];
$count = model('Comment')->getNormalCommentsCount($where);
$this->getPageAndSize($param);
$comments = model('Comment')->getNormalComments($where, $this->from, $this->size);
if( !$comments->isEmpty() ) {
$userId = [];
foreach ($comments as $comment) {
$userId[] = $comment['user_id'];
if( !empty($comment['to_user_id']) ) {
$userId[] = $comment['to_user_id'];
}
}
$ids = array_unique($userId);
$condition['id'] = ['in', $ids];
$users = model('User')->getUserInId($condition);
if( empty($users) ) {
$userData = [];
} else {
foreach ($users as $user) {
$userData[$user['id']] = $user;
}
}
$returnData = [];
foreach ($comments as $comment) {
$returnData[] = [
'id' => $comment['id'],
'content' => $comment['content'],
'user_id' => $comment['user_id'],
'news_id' => $comment['news_id'],
'parent_id' => $comment['parent_id'],
'create_time' => $comment['create_time'],
'username' => empty($userData[$comment['user_id']]) ? "" : $userData[$comment['user_id']]['username'],
'toUsername' => empty($userData[$comment['to_user_id']]) ? "" : $userData[$comment['to_user_id']]['username'],
'userImage' => empty($userData[$comment['user_id']]) ? "" : $userData[$comment['user_id']]['image'],
];
}
$total_page = ceil($count / $this->size);
$result = [
'total_page' => $total_page,
'page' => $this->page,
'list' => $returnData,
];
} else {
$result = [];
}
return Show::success($result);
}