取消点赞,取消收藏

This commit is contained in:
2025-11-26 15:46:51 +08:00
parent 045edc9647
commit 4d11e435be
6 changed files with 82 additions and 3 deletions
@@ -50,4 +50,20 @@ class PostFavoriteController extends BaseController
$data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']); $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']);
return $data; return $data;
} }
/**
* 删除
*
* @param Request $request 请求对象
* @return mixed 返回删除操作结果
*/
public function delete(Request $request)
{
try {
$count = $this->service->servicedelete($request);
return $this->success([], "取消收藏成功");
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
} }
@@ -36,6 +36,22 @@ class PostLikeController extends BaseController
} }
} }
/**
* 删除
*
* @param Request $request 请求对象
* @return mixed 返回删除操作结果
*/
public function delete(Request $request)
{
try {
$count = $this->service->servicedelete($request);
return $this->success([], "取消点赞成功");
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
/** /**
* 列表页数据格式化 * 列表页数据格式化
* *
@@ -4,6 +4,7 @@ namespace app\common\service;
use app\common\model\MessageNotice; use app\common\model\MessageNotice;
use app\common\model\Post; use app\common\model\Post;
use app\common\model\PostLike;
use app\common\validate\PostFavoriteValidate; use app\common\validate\PostFavoriteValidate;
use app\common\traits\crud\CrudServiceTrait; use app\common\traits\crud\CrudServiceTrait;
use app\common\model\PostFavorite; use app\common\model\PostFavorite;
@@ -107,4 +108,28 @@ class PostFavoriteService
$post['favorite'] = $post['favorite']+1; $post['favorite'] = $post['favorite']+1;
$post->save(); $post->save();
} }
/**
* 添加后置处理
*/
public function servicedelete(Request $request)
{
$param = $request->all();
if (empty($param['post_id']) && empty($param['user_id'])) {
throw new \Exception("参数错误");
}
$where = [];
$where['post_id'] = $param['post_id'];
$where['user_id'] = $param['user_id'];
$count = PostFavorite::where($where)->delete();
$post = PostFavorite::where(['id' => $param['post_id']])->first();
$post['favorite'] = $post['favorite']-1;
$post->save();
return $count;
}
} }
+23
View File
@@ -109,4 +109,27 @@ class PostLikeService
$post['like'] = $post['like']+1; $post['like'] = $post['like']+1;
$post->save(); $post->save();
} }
/**
* 添加后置处理
*/
public function servicedelete(Request $request)
{
$param = $request->all();
if (empty($param['post_id']) && empty($param['user_id'])) {
throw new \Exception("参数错误");
}
$where = [];
$where['post_id'] = $param['post_id'];
$where['user_id'] = $param['user_id'];
$count = PostLike::where($where)->delete();
$post = Post::where(['id' => $param['post_id']])->first();
$post['like'] = $post['like']-1;
$post->save();
return $count;
}
} }
-1
View File
@@ -125,7 +125,6 @@ class UserService
'openid' => $data['openid'], 'openid' => $data['openid'],
]; ];
$wechatUserInfo = $logic->getWechatUserInfo($wechat); $wechatUserInfo = $logic->getWechatUserInfo($wechat);
var_dump($wechatUserInfo);
$uData = [ $uData = [
'nickname' => $wechatUserInfo['nickname'], 'nickname' => $wechatUserInfo['nickname'],
'avatar' => $wechatUserInfo['headimgurl'], 'avatar' => $wechatUserInfo['headimgurl'],
+2 -2
View File
@@ -69,14 +69,14 @@ Route::group('/common', function () {
Route::group('/like', function () { Route::group('/like', function () {
Route::any('/list', [app\common\controller\PostLikeController::class, 'index']); Route::any('/list', [app\common\controller\PostLikeController::class, 'index']);
Route::any('/store', [app\common\controller\PostLikeController::class, 'store']); Route::any('/store', [app\common\controller\PostLikeController::class, 'store']);
Route::any('/destroy', [app\common\controller\PostLikeController::class, 'destroy']); Route::any('/destroy', [app\common\controller\PostLikeController::class, 'delete']);
}); });
// 收藏 // 收藏
Route::group('/favorite', function () { Route::group('/favorite', function () {
Route::any('/list', [app\common\controller\PostFavoriteController::class, 'index']); Route::any('/list', [app\common\controller\PostFavoriteController::class, 'index']);
Route::any('/store', [app\common\controller\PostFavoriteController::class, 'store']); Route::any('/store', [app\common\controller\PostFavoriteController::class, 'store']);
Route::any('/destroy', [app\common\controller\PostFavoriteController::class, 'destroy']); Route::any('/destroy', [app\common\controller\PostFavoriteController::class, 'delete']);
}); });
// 消息 // 消息