新增ArticleService聚合契约与消费者配置

This commit is contained in:
堂吉诃德拉曼查的英豪
2026-08-06 11:17:42 +08:00
parent 44fae8b976
commit b77a4a53e5
2 changed files with 126 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
<?php
declare(strict_types=1);
namespace Dhd\Micro\Interface\ArticleService;
/**
* 文章中心 RPC 聚合契约
*/
interface ArticleService
{
// 文章
public function createArticle(array $data): int;
public function updateArticle(int $id, array $data): bool;
public function deleteArticle(int $id): bool;
public function getArticleDetail(int $id): array;
public function getArticleDetailWithUser(int $id, int $userId): array;
public function getArticleList(array $params = []): array;
public function appGetArticleList(array $params = []): array;
// 类型
public function createType(array $data): int;
public function updateType(int $id, array $data): bool;
public function deleteType(int $id): bool;
public function getTypeList(array $params = []): array;
// 分类
public function createCategory(array $data): int;
public function updateCategory(int $id, array $data): bool;
public function deleteCategory(int $id): bool;
public function getCategoryList(array $params = []): array;
public function appGetCategoryList(array $params = []): array;
public function getCategoryTree(array $params = []): array;
public function bindCategoryTypes(int $categoryId, array $typeIds): bool;
public function unbindCategoryTypes(int $categoryId, array $typeIds): bool;
public function getCategoryBoundTypes(int $categoryId): array;
// 标签
public function createTag(array $data): int;
public function updateTag(int $id, array $data): bool;
public function deleteTag(int $id): bool;
public function getTagList(array $params = []): array;
public function createTagGroup(array $data): int;
public function updateTagGroup(int $id, array $data): bool;
public function deleteTagGroup(int $id): bool;
public function getTagGroupList(array $params = []): array;
public function getTagGroupDetail(int $id): array;
// 附件
public function createAttachment(array $data): int;
public function updateAttachment(int $id, array $data): bool;
public function deleteAttachment(int $id): bool;
public function getAttachmentsByArticleId(int $articleId): array;
// 交互
public function likeArticle(int $articleId, int $userId): bool;
public function cancelLikeArticle(int $articleId, int $userId): bool;
public function collectArticle(int $articleId, int $userId, ?string $remark = null): bool;
public function cancelCollectArticle(int $articleId, int $userId): bool;
public function recordShareArticle(int $articleId, int $userId): bool;
public function recordReadArticle(int $articleId, int $userId, ?string $ip = null): bool;
// 内容页
public function createContentPage(array $data): int;
public function updateContentPage(int $id, array $data): bool;
public function deleteContentPage(int $id): bool;
public function getContentPageList(array $params = []): array;
public function getContentPageDetail(int $id): array;
public function getContentPageListByGroupCode(string $groupCode, array $params = []): array;
public function getContentPageByGroupCode(string $groupCode): array;
// 内容栏目
public function createContentColumn(array $data): int;
public function updateContentColumn(int $id, array $data): bool;
public function deleteContentColumn(int $id): bool;
public function getContentColumnList(array $params = []): array;
public function getContentColumnDetail(int $id): array;
public function getContentColumnsByChannel(string $channel): array;
// FAQ
public function createFaq(array $data): int;
public function updateFaq(int $id, array $data): bool;
public function deleteFaq(int $id): bool;
public function getFaqList(array $params = []): array;
public function getFaqDetail(int $id): array;
}