最近距离,我的收藏

This commit is contained in:
2025-12-12 15:31:44 +08:00
parent f5ea63a883
commit b1eb0468c6
4 changed files with 129 additions and 3 deletions
+43 -1
View File
@@ -28,6 +28,48 @@ class PostController extends BaseController
{
$this->service = new PostService();
}
/**
* 获取列表
*
* @param Request $request 请求对象
* @return mixed 返回分页数据及总数
*/
public function nearby(Request $request)
{
try {
$raw = $this->service->serviceNearby($request);
$records = $this->transformData($raw, method_exists($this, 'indexFormat')
? [$this, 'indexFormat']
: null);
// $records = $data;
foreach ($records as &$record) {
$record = $this->indexFormat($record);
if (!isset($record['id']))
break;
if(!empty($request->user) && !empty($request->user->uid)){
$where = [
'post_id' => $record['id'],
'user_id' => $request->user->uid
];
$record['is_like'] = PostLike::where($where)->count();
$record['is_favorite'] = PostFavorite::where($where)->count();
$record['is_comment'] = PostComment::where($where)->count();
}else{
$record['is_like'] = 0;
$record['is_favorite'] = 0;
$record['is_comment'] = 0;
}
$created_at = strtotime($record['created_at']);
$record['year'] = date('Y', $created_at);
$record['month'] = date('m', $created_at);
$record['day'] = date('d', $created_at);
}
$data['records'] = $records;
return $this->success($data);
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
/**
* 获取列表
*
@@ -66,7 +108,7 @@ class PostController extends BaseController
$data['records'] = $records;
return $this->success($data);
} catch (\Throwable $e) {
return $this->error($e->getMessage().$e->getFile().$e->getLine());
return $this->error($e->getMessage());
}
}
@@ -4,6 +4,7 @@ namespace app\common\controller;
use app\common\controller\BaseController;
use app\common\model\Post;
use app\common\model\PostMedia;
use app\common\model\Sku;
use app\common\model\User;
use app\common\service\OssService;
use app\common\traits\crud\CrudControllerTrait;
@@ -76,8 +77,27 @@ class PostFavoriteController extends BaseController
$media['url_pull'] = $ossservice->generatePrivateUrl($media['url']);
}
}
$post['is_favorite'] = 1;
$data['post'] = $post;
if (isset($post['sku_id'])){
$sku = Sku::where('id', $post['sku_id'])->first()->toArray();
if($sku){
$sku['main_image_pull'] = $ossservice->generatePrivateUrl($sku['main_image']);
}
if (!empty($sku['image'])){
$sku['image'] = explode(',',$sku['image']);
foreach ($sku['image'] as $key => $image){
$sku['image_pull'][$key] = $ossservice->generatePrivateUrl($image);
}
}
if (isset($sku['spec_json']))
$sku['spec'] = json_decode($sku['spec_json'], true);
$post['sku'] = $sku;
}
$post['post'] = $post;
}
return $data;
}