111 lines
3.1 KiB
PHP
111 lines
3.1 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||
// +----------------------------------------------------------------------
|
||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||
// | 开源版本可自由商用,可去除界面版权logo
|
||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||
// | 访问官网:https://www.likeadmin.cn
|
||
// | likeadmin团队 版权所有 拥有最终解释权
|
||
// +----------------------------------------------------------------------
|
||
// | author: likeadminTeam
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\api\logic;
|
||
|
||
use app\common\enum\YesNoEnum;
|
||
use app\common\logic\BaseLogic;
|
||
use app\common\model\article\Article;
|
||
use app\common\model\article\ArticleCate;
|
||
use app\common\model\article\ArticleCollect;
|
||
|
||
|
||
/**
|
||
* 文章逻辑
|
||
* Class ArticleLogic
|
||
* @package app\api\logic
|
||
*/
|
||
class ArticleLogic extends BaseLogic
|
||
{
|
||
|
||
/**
|
||
* @notes 文章详情
|
||
* @param $articleId
|
||
* @param $userId
|
||
* @return array
|
||
* @author 段誉
|
||
* @date 2022/9/20 17:09
|
||
*/
|
||
public static function detail($articleId, $userId)
|
||
{
|
||
// 文章详情
|
||
$article = Article::getArticleDetailArr($articleId);
|
||
// 关注状态
|
||
$article['collect'] = ArticleCollect::isCollectArticle($userId, $articleId);
|
||
|
||
return $article;
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 加入收藏
|
||
* @param $userId
|
||
* @param $articleId
|
||
* @author 段誉
|
||
* @date 2022/9/20 16:52
|
||
*/
|
||
public static function addCollect($articleId, $userId)
|
||
{
|
||
$where = ['user_id' => $userId, 'article_id' => $articleId];
|
||
$collect = ArticleCollect::where($where)->findOrEmpty();
|
||
if ($collect->isEmpty()) {
|
||
ArticleCollect::create([
|
||
'user_id' => $userId,
|
||
'article_id' => $articleId,
|
||
'status' => YesNoEnum::YES
|
||
]);
|
||
} else {
|
||
ArticleCollect::update([
|
||
'id' => $collect['id'],
|
||
'status' => YesNoEnum::YES
|
||
]);
|
||
}
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 取消收藏
|
||
* @param $articleId
|
||
* @param $userId
|
||
* @author 段誉
|
||
* @date 2022/9/20 16:59
|
||
*/
|
||
public static function cancelCollect($articleId, $userId)
|
||
{
|
||
ArticleCollect::update(['status' => YesNoEnum::NO], [
|
||
'user_id' => $userId,
|
||
'article_id' => $articleId,
|
||
'status' => YesNoEnum::YES
|
||
]);
|
||
}
|
||
|
||
|
||
/**
|
||
* @notes 文章分类
|
||
* @return array
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\DbException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @author 段誉
|
||
* @date 2022/9/23 14:11
|
||
*/
|
||
public static function cate()
|
||
{
|
||
return ArticleCate::field('id,name')
|
||
->where('is_show', '=', 1)
|
||
->order(['sort' => 'desc', 'id' => 'desc'])
|
||
->select()->toArray();
|
||
}
|
||
|
||
} |