纯净设置

This commit is contained in:
mkm 2024-04-11 09:44:25 +08:00
parent 2e30caf389
commit f40c47ae68
26 changed files with 0 additions and 1882 deletions

View File

@ -1,95 +0,0 @@
<?php
namespace app\admin\controller\article;
use app\admin\controller\BaseAdminController;
use app\admin\lists\article\ArticleCommentLists;
use app\admin\logic\article\ArticleCommentLogic;
use app\admin\validate\article\ArticleCommentValidate;
/**
* 评论控制器
* Class ArticleCommentController
* @package app\admin\controller\article
*/
class ArticleCommentController extends BaseAdminController
{
/**
* @notes 获取评论列表
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function lists()
{
return $this->dataLists(new ArticleCommentLists());
}
/**
* @notes 添加评论
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function add()
{
$params = (new ArticleCommentValidate())->post()->goCheck('add');
$result = ArticleCommentLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(ArticleCommentLogic::getError());
}
/**
* @notes 编辑评论
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function edit()
{
$params = (new ArticleCommentValidate())->post()->goCheck('edit');
$result = ArticleCommentLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(ArticleCommentLogic::getError());
}
/**
* @notes 删除评论
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function delete()
{
$params = (new ArticleCommentValidate())->post()->goCheck('delete');
ArticleCommentLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取评论详情
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function detail()
{
$params = (new ArticleCommentValidate())->goCheck('detail');
$result = ArticleCommentLogic::detail($params);
return $this->data($result);
}
}

View File

@ -1,95 +0,0 @@
<?php
namespace app\admin\controller\article;
use app\admin\controller\BaseAdminController;
use app\admin\lists\article\ArticleCommentLikeLists;
use app\admin\logic\article\ArticleCommentLikeLogic;
use app\admin\validate\article\ArticleCommentLikeValidate;
/**
* 评论点赞控制器
* Class ArticleCommentLikeController
* @package app\admin\controller\article
*/
class ArticleCommentLikeController extends BaseAdminController
{
/**
* @notes 获取评论点赞列表
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function lists()
{
return $this->dataLists(new ArticleCommentLikeLists());
}
/**
* @notes 添加评论点赞
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function add()
{
$params = (new ArticleCommentLikeValidate())->post()->goCheck('add');
$result = ArticleCommentLikeLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(ArticleCommentLikeLogic::getError());
}
/**
* @notes 编辑评论点赞
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function edit()
{
$params = (new ArticleCommentLikeValidate())->post()->goCheck('edit');
$result = ArticleCommentLikeLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(ArticleCommentLikeLogic::getError());
}
/**
* @notes 删除评论点赞
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function delete()
{
$params = (new ArticleCommentLikeValidate())->post()->goCheck('delete');
ArticleCommentLikeLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取评论点赞详情
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function detail()
{
$params = (new ArticleCommentLikeValidate())->goCheck('detail');
$result = ArticleCommentLikeLogic::detail($params);
return $this->data($result);
}
}

View File

@ -1,95 +0,0 @@
<?php
namespace app\admin\controller\article;
use app\admin\controller\BaseAdminController;
use app\admin\lists\article\ArticleLists;
use app\admin\logic\article\ArticleLogic;
use app\admin\validate\article\ArticleValidate;
/**
* 文章控制器
* Class ArticleController
* @package app\admin\controller\article
*/
class ArticleController extends BaseAdminController
{
/**
* @notes 获取文章列表
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function lists()
{
return $this->dataLists(new ArticleLists());
}
/**
* @notes 添加文章
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function add()
{
$params = (new ArticleValidate())->post()->goCheck('add');
$result = ArticleLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(ArticleLogic::getError());
}
/**
* @notes 编辑文章
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function edit()
{
$params = (new ArticleValidate())->post()->goCheck('edit');
$result = ArticleLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(ArticleLogic::getError());
}
/**
* @notes 删除文章
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function delete()
{
$params = (new ArticleValidate())->post()->goCheck('delete');
ArticleLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取文章详情
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function detail()
{
$params = (new ArticleValidate())->goCheck('detail');
$result = ArticleLogic::detail($params);
return $this->data($result);
}
}

View File

@ -1,95 +0,0 @@
<?php
namespace app\admin\controller\article;
use app\admin\controller\BaseAdminController;
use app\admin\lists\article\ArticleLabelLists;
use app\admin\logic\article\ArticleLabelLogic;
use app\admin\validate\article\ArticleLabelValidate;
/**
* 文章标签控制器
* Class ArticleLabelController
* @package app\admin\controller\article
*/
class ArticleLabelController extends BaseAdminController
{
/**
* @notes 获取文章标签列表
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function lists()
{
return $this->dataLists(new ArticleLabelLists());
}
/**
* @notes 添加文章标签
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function add()
{
$params = (new ArticleLabelValidate())->post()->goCheck('add');
$result = ArticleLabelLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(ArticleLabelLogic::getError());
}
/**
* @notes 编辑文章标签
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function edit()
{
$params = (new ArticleLabelValidate())->post()->goCheck('edit');
$result = ArticleLabelLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(ArticleLabelLogic::getError());
}
/**
* @notes 删除文章标签
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function delete()
{
$params = (new ArticleLabelValidate())->post()->goCheck('delete');
ArticleLabelLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取文章标签详情
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function detail()
{
$params = (new ArticleLabelValidate())->goCheck('detail');
$result = ArticleLabelLogic::detail($params);
return $this->data($result);
}
}

View File

@ -1,95 +0,0 @@
<?php
namespace app\admin\controller\article;
use app\admin\controller\BaseAdminController;
use app\admin\lists\article\ArticleLikeLists;
use app\admin\logic\article\ArticleLikeLogic;
use app\admin\validate\article\ArticleLikeValidate;
/**
* 文章点赞控制器
* Class ArticleLikeController
* @package app\admin\controller\article
*/
class ArticleLikeController extends BaseAdminController
{
/**
* @notes 获取文章点赞列表
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function lists()
{
return $this->dataLists(new ArticleLikeLists());
}
/**
* @notes 添加文章点赞
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function add()
{
$params = (new ArticleLikeValidate())->post()->goCheck('add');
$result = ArticleLikeLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(ArticleLikeLogic::getError());
}
/**
* @notes 编辑文章点赞
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function edit()
{
$params = (new ArticleLikeValidate())->post()->goCheck('edit');
$result = ArticleLikeLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(ArticleLikeLogic::getError());
}
/**
* @notes 删除文章点赞
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function delete()
{
$params = (new ArticleLikeValidate())->post()->goCheck('delete');
ArticleLikeLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取文章点赞详情
* @return \think\response\Json
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function detail()
{
$params = (new ArticleLikeValidate())->goCheck('detail');
$result = ArticleLikeLogic::detail($params);
return $this->data($result);
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace app\admin\lists\article;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\article\ArticleCommentLike;
use app\common\lists\ListsSearchInterface;
/**
* 评论点赞列表
* Class ArticleCommentLikeLists
* @package app\admin\listsarticle
*/
class ArticleCommentLikeLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function setSearch(): array
{
return [
'=' => ['comment_id', 'state', 'like_user'],
];
}
/**
* @notes 获取评论点赞列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function lists(): array
{
return ArticleCommentLike::where($this->searchWhere)
->field(['id', 'comment_id', 'state', 'like_user'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取评论点赞数量
* @return int
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function count(): int
{
return ArticleCommentLike::where($this->searchWhere)->count();
}
}

View File

@ -1,66 +0,0 @@
<?php
namespace app\admin\lists\article;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\article\ArticleComment;
use app\common\lists\ListsSearchInterface;
/**
* 评论列表
* Class ArticleCommentLists
* @package app\admin\listsarticle
*/
class ArticleCommentLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function setSearch(): array
{
return [
'=' => ['article_id', 'state', 'comment_user'],
];
}
/**
* @notes 获取评论列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function lists(): array
{
return ArticleComment::where($this->searchWhere)
->with(['title'])
->field(['id', 'pre_id', 'content', 'article_id', 'state', 'comment_user'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取评论数量
* @return int
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function count(): int
{
return ArticleComment::where($this->searchWhere)->count();
}
}

View File

@ -1,70 +0,0 @@
<?php
namespace app\admin\lists\article;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\article\ArticleLabel;
use app\common\lists\ListsSearchInterface;
use app\common\model\article\Article;
use app\common\model\setting\Label;
/**
* 文章标签列表
* Class ArticleLabelLists
* @package app\admin\listsarticle
*/
class ArticleLabelLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function setSearch(): array
{
return [
'=' => ['article_id', 'label_id'],
];
}
/**
* @notes 获取文章标签列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function lists(): array
{
return ArticleLabel::where($this->searchWhere)
->field(['id', 'article_id', 'label_id'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->each(function($item){
$item['article_id']=Article::where('id',$item['article_id'])->value('title');
$item['label_id']=Label::where('id',$item['label_id'])->value('label_name');
})
->toArray();
}
/**
* @notes 获取文章标签数量
* @return int
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function count(): int
{
return ArticleLabel::where($this->searchWhere)->count();
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace app\admin\lists\article;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\article\ArticleLike;
use app\common\lists\ListsSearchInterface;
/**
* 文章点赞列表
* Class ArticleLikeLists
* @package app\admin\listsarticle
*/
class ArticleLikeLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function setSearch(): array
{
return [
'=' => ['article_id', 'state', 'like_user'],
];
}
/**
* @notes 获取文章点赞列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function lists(): array
{
return ArticleLike::where($this->searchWhere)
->field(['id', 'article_id', 'state', 'like_user'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取文章点赞数量
* @return int
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function count(): int
{
return ArticleLike::where($this->searchWhere)->count();
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace app\admin\lists\article;
use app\admin\lists\BaseAdminDataLists;
use app\common\model\article\Article;
use app\common\lists\ListsSearchInterface;
/**
* 文章列表
* Class ArticleLists
* @package app\admin\listsarticle
*/
class ArticleLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件
* @return \string[][]
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function setSearch(): array
{
return [
'=' => ['title', 'state'],
];
}
/**
* @notes 获取文章列表
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function lists(): array
{
return Article::where($this->searchWhere)
->field(['id', 'title_map', 'title', 'state', 'pv', 'top', 'create_user', 'update_user'])
->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc'])
->select()
->toArray();
}
/**
* @notes 获取文章数量
* @return int
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function count(): int
{
return Article::where($this->searchWhere)->count();
}
}

View File

@ -1,98 +0,0 @@
<?php
namespace app\admin\logic\article;
use app\common\model\article\ArticleCommentLike;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* 评论点赞逻辑
* Class ArticleCommentLikeLogic
* @package app\admin\logic\article
*/
class ArticleCommentLikeLogic extends BaseLogic
{
/**
* @notes 添加评论点赞
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:41
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
ArticleCommentLike::create([
'comment_id' => $params['comment_id'],
'state' => $params['state'],
'like_user' => $params['like_user']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑评论点赞
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:41
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
ArticleCommentLike::where('id', $params['id'])->update([
'comment_id' => $params['comment_id'],
'state' => $params['state'],
'like_user' => $params['like_user']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除评论点赞
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:41
*/
public static function delete(array $params): bool
{
return ArticleCommentLike::destroy($params['id']);
}
/**
* @notes 获取评论点赞详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/18 15:41
*/
public static function detail($params): array
{
return ArticleCommentLike::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -1,95 +0,0 @@
<?php
namespace app\admin\logic\article;
use app\common\model\article\ArticleComment;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* 评论逻辑
* Class ArticleCommentLogic
* @package app\admin\logic\article
*/
class ArticleCommentLogic extends BaseLogic
{
/**
* @notes 添加评论
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:03
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
ArticleComment::create([
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑评论
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:03
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
ArticleComment::where('id', $params['id'])->update([
'content' => $params['content'],
'state' => $params['state']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除评论
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:03
*/
public static function delete(array $params): bool
{
return ArticleComment::destroy($params['id']);
}
/**
* @notes 获取评论详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/18 15:03
*/
public static function detail($params): array
{
return ArticleComment::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -1,94 +0,0 @@
<?php
namespace app\admin\logic\article;
use app\common\model\article\ArticleLabel;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* 文章标签逻辑
* Class ArticleLabelLogic
* @package app\admin\logic\article
*/
class ArticleLabelLogic extends BaseLogic
{
/**
* @notes 添加文章标签
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/17 14:07
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
ArticleLabel::create([
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑文章标签
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/17 14:07
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
ArticleLabel::where('id', $params['id'])->update([
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除文章标签
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/17 14:07
*/
public static function delete(array $params): bool
{
return ArticleLabel::destroy($params['id']);
}
/**
* @notes 获取文章标签详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/17 14:07
*/
public static function detail($params): array
{
return ArticleLabel::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -1,98 +0,0 @@
<?php
namespace app\admin\logic\article;
use app\common\model\article\ArticleLike;
use app\common\logic\BaseLogic;
use think\facade\Db;
/**
* 文章点赞逻辑
* Class ArticleLikeLogic
* @package app\admin\logic\article
*/
class ArticleLikeLogic extends BaseLogic
{
/**
* @notes 添加文章点赞
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:47
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
ArticleLike::create([
'article_id' => $params['article_id'],
'state' => $params['state'],
'like_user' => $params['like_user']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑文章点赞
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:47
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
ArticleLike::where('id', $params['id'])->update([
'article_id' => $params['article_id'],
'state' => $params['state'],
'like_user' => $params['like_user']
]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除文章点赞
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/18 15:47
*/
public static function delete(array $params): bool
{
return ArticleLike::destroy($params['id']);
}
/**
* @notes 获取文章点赞详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/18 15:47
*/
public static function detail($params): array
{
return ArticleLike::findOrEmpty($params['id'])->toArray();
}
}

View File

@ -1,146 +0,0 @@
<?php
namespace app\admin\logic\article;
use app\common\model\article\Article;
use app\common\logic\BaseLogic;
use app\common\model\article\ArticleContent;
use app\common\model\article\ArticleLabel;
use app\common\model\setting\Label;
use think\facade\Db;
/**
* 文章逻辑
* Class ArticleLogic
* @package app\admin\logic\article
*/
class ArticleLogic extends BaseLogic
{
/**
* @notes 添加文章
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/05 16:36
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
$res = Article::create([
'title' => $params['title'],
'state' => $params['state'],
'top' => $params['top']
]);
ArticleContent::create(['article_id' => $res->id, 'content' => $params['content']]);
if ($params['tag']) {
$label_id = Label::whereIn('label_name', $params['tag'])->column('id');
foreach ($label_id as $v) {
$find = ArticleLabel::where('label_id', $v)->find();
if (!$find) {
ArticleLabel::create(['article_id' => $res->id, ['label_id'] => $v]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑文章
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/05 16:36
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
Article::where('id', $params['id'])->update([
'title_map' => $params['title_map'],
'title' => $params['title'],
'state' => $params['state'],
// 'pv' => $params['pv'],
'top' => $params['top'],
// 'create_user' => $params['create_user'],
// 'update_user' => $params['update_user']
]);
$find = ArticleContent::where('article_id', $params['id'])->find();
if ($find) {
ArticleContent::where('article_id', $params['id'])->update(['content' => $params['content']]);
} else {
ArticleContent::create(['article_id' => $params['id'], 'content' => $params['content']]);
}
if ($params['tag']) {
$arr = [];
$label_arr_id = [];
foreach ($params['tag'] as $vv) {
$arr[] = ['label_name' => $vv];
$label_id = Label::where('label_name', $vv)->value('id');
if ($label_id) {
$label_arr_id[] = $label_id;
} else {
$label = Label::create(['label_name' => $vv]);
$label_arr_id[] = $label->id;
}
}
foreach ($label_arr_id as $v) {
$find = ArticleLabel::where('label_id', $v)->find();
if (!$find) {
ArticleLabel::create(['article_id' => $params['id'], 'label_id' => $v]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除文章
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/05 16:36
*/
public static function delete(array $params): bool
{
return Article::destroy($params['id']);
}
/**
* @notes 获取文章详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/05 16:36
*/
public static function detail($params): array
{
$detail = Article::with('detail')->findOrEmpty($params['id'])->toArray();
if ($detail) {
$arr = ArticleLabel::where('article_id', $params['id'])->column('label_id');
if ($arr) {
$detail['tag'] = Label::whereIn('id', $arr)->column('label_name');
}
}
return $detail;
}
}

View File

@ -1,82 +0,0 @@
<?php
namespace app\admin\validate\article;
use app\common\validate\BaseValidate;
/**
* 评论点赞验证器
* Class ArticleCommentLikeValidate
* @package app\admin\validate\article
*/
class ArticleCommentLikeValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return ArticleCommentLikeValidate
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return ArticleCommentLikeValidate
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return ArticleCommentLikeValidate
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return ArticleCommentLikeValidate
* @author likeadmin
* @date 2024/02/18 15:41
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -1,82 +0,0 @@
<?php
namespace app\admin\validate\article;
use app\common\validate\BaseValidate;
/**
* 评论验证器
* Class ArticleCommentValidate
* @package app\admin\validate\article
*/
class ArticleCommentValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return ArticleCommentValidate
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return ArticleCommentValidate
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return ArticleCommentValidate
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return ArticleCommentValidate
* @author likeadmin
* @date 2024/02/18 15:03
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -1,82 +0,0 @@
<?php
namespace app\admin\validate\article;
use app\common\validate\BaseValidate;
/**
* 文章标签验证器
* Class ArticleLabelValidate
* @package app\admin\validate\article
*/
class ArticleLabelValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return ArticleLabelValidate
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return ArticleLabelValidate
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return ArticleLabelValidate
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return ArticleLabelValidate
* @author likeadmin
* @date 2024/02/17 14:07
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -1,82 +0,0 @@
<?php
namespace app\admin\validate\article;
use app\common\validate\BaseValidate;
/**
* 文章点赞验证器
* Class ArticleLikeValidate
* @package app\admin\validate\article
*/
class ArticleLikeValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return ArticleLikeValidate
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return ArticleLikeValidate
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return ArticleLikeValidate
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return ArticleLikeValidate
* @author likeadmin
* @date 2024/02/18 15:47
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -1,82 +0,0 @@
<?php
namespace app\admin\validate\article;
use app\common\validate\BaseValidate;
/**
* 文章验证器
* Class ArticleValidate
* @package app\admin\validate\article
*/
class ArticleValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return ArticleValidate
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return ArticleValidate
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return ArticleValidate
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return ArticleValidate
* @author likeadmin
* @date 2024/02/05 16:36
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace app\common\model\article;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* 文章模型
* Class Article
* @package app\common\model\article
*/
class Article extends BaseModel
{
use SoftDelete;
protected $name = 'article';
protected $deleteTime = 'delete_time';
public function detail()
{
return $this->hasOne(ArticleContent::class,'article_id')->bind(['content']);
}
}

View File

@ -1,26 +0,0 @@
<?php
namespace app\common\model\article;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* 评论模型
* Class ArticleComment
* @package app\common\model\article
*/
class ArticleComment extends BaseModel
{
use SoftDelete;
protected $name = 'article_comment';
protected $deleteTime = 'delete_time';
public function title()
{
return $this->hasOne(Article::class,'id','article_id')->bind(['article_title'=>'title']);
}
}

View File

@ -1,22 +0,0 @@
<?php
namespace app\common\model\article;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* 评论点赞模型
* Class ArticleCommentLike
* @package app\common\model\article
*/
class ArticleCommentLike extends BaseModel
{
use SoftDelete;
protected $name = 'article_comment_like';
protected $deleteTime = 'delete_time';
}

View File

@ -1,18 +0,0 @@
<?php
namespace app\common\model\article;
use app\common\model\BaseModel;
/**
* 文章内容模型
* Class Article
* @package app\common\model\article
*/
class ArticleContent extends BaseModel
{
protected $name = 'article_content';
}

View File

@ -1,22 +0,0 @@
<?php
namespace app\common\model\article;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* 文章标签模型
* Class ArticleLabel
* @package app\common\model\article
*/
class ArticleLabel extends BaseModel
{
use SoftDelete;
protected $name = 'article_label';
protected $deleteTime = 'delete_time';
}

View File

@ -1,22 +0,0 @@
<?php
namespace app\common\model\article;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* 文章点赞模型
* Class ArticleLike
* @package app\common\model\article
*/
class ArticleLike extends BaseModel
{
use SoftDelete;
protected $name = 'article_like';
protected $deleteTime = 'delete_time';
}