api定义

This commit is contained in:
2025-10-15 14:03:58 +08:00
parent 67e7432837
commit ab22fe1008
22 changed files with 2490 additions and 7 deletions

View File

@@ -0,0 +1,99 @@
package org.xyzh.api.news.banner;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbBanner;
import java.util.List;
/**
* @description Banner服务接口
* @filename BannerService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface BannerService {
/**
* @description 获取Banner列表
* @param status 状态(可选)
* @return ResultDomain<TbBanner> Banner列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> getBannerList(Integer status);
/**
* @description 根据ID获取Banner详情
* @param bannerID BannerID
* @return ResultDomain<TbBanner> Banner详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> getBannerById(String bannerID);
/**
* @description 创建Banner
* @param banner Banner信息
* @return ResultDomain<TbBanner> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> createBanner(TbBanner banner);
/**
* @description 更新Banner
* @param banner Banner信息
* @return ResultDomain<TbBanner> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> updateBanner(TbBanner banner);
/**
* @description 删除Banner
* @param bannerID BannerID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteBanner(String bannerID);
/**
* @description 更新Banner状态
* @param bannerID BannerID
* @param status 状态
* @return ResultDomain<TbBanner> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> updateBannerStatus(String bannerID, Integer status);
/**
* @description 更新Banner排序
* @param bannerID BannerID
* @param orderNum 排序号
* @return ResultDomain<TbBanner> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> updateBannerOrder(String bannerID, Integer orderNum);
/**
* @description 获取启用的Banner列表按排序号排序
* @param limit 限制数量(可选)
* @return ResultDomain<TbBanner> 启用的Banner列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbBanner> getActiveBanners(Integer limit);
/**
* @description 批量更新Banner排序
* @param bannerOrders Banner排序信息BannerID -> 排序号)
* @return ResultDomain<Boolean> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> batchUpdateBannerOrder(java.util.Map<String, Integer> bannerOrders);
}

View File

@@ -0,0 +1,105 @@
package org.xyzh.api.news.category;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbResourceCategory;
import java.util.List;
/**
* @description 资源分类服务接口
* @filename ResourceCategoryService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface ResourceCategoryService {
/**
* @description 获取所有分类列表
* @return ResultDomain<TbResourceCategory> 分类列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> getAllCategories();
/**
* @description 获取分类树形结构
* @return ResultDomain<TbResourceCategory> 分类树
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> getCategoryTree();
/**
* @description 根据ID获取分类详情
* @param categoryID 分类ID
* @return ResultDomain<TbResourceCategory> 分类详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> getCategoryById(String categoryID);
/**
* @description 根据父ID获取子分类
* @param parentID 父分类ID
* @return ResultDomain<TbResourceCategory> 子分类列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> getCategoriesByParent(String parentID);
/**
* @description 创建分类
* @param category 分类信息
* @return ResultDomain<TbResourceCategory> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> createCategory(TbResourceCategory category);
/**
* @description 更新分类
* @param category 分类信息
* @return ResultDomain<TbResourceCategory> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> updateCategory(TbResourceCategory category);
/**
* @description 删除分类
* @param categoryID 分类ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteCategory(String categoryID);
/**
* @description 更新分类排序
* @param categoryID 分类ID
* @param orderNum 排序号
* @return ResultDomain<TbResourceCategory> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceCategory> updateCategoryOrder(String categoryID, Integer orderNum);
/**
* @description 检查分类是否有子分类
* @param categoryID 分类ID
* @return ResultDomain<Boolean> 是否有子分类
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> hasChildCategories(String categoryID);
/**
* @description 检查分类下是否有资源
* @param categoryID 分类ID
* @return ResultDomain<Boolean> 是否有资源
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> hasResources(String categoryID);
}

View File

@@ -0,0 +1,163 @@
package org.xyzh.api.news.collection;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbDataCollectionConfig;
import org.xyzh.common.dto.resource.TbDataCollectionLog;
import java.util.Date;
import java.util.List;
/**
* @description 数据采集服务接口
* @filename DataCollectionService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface DataCollectionService {
// ----------------采集配置相关--------------------------------
/**
* @description 获取采集配置列表
* @param status 状态(可选)
* @return ResultDomain<TbDataCollectionConfig> 配置列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionConfig> getConfigList(Integer status);
/**
* @description 根据ID获取配置详情
* @param configID 配置ID
* @return ResultDomain<TbDataCollectionConfig> 配置详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionConfig> getConfigById(String configID);
/**
* @description 创建采集配置
* @param config 配置信息
* @return ResultDomain<TbDataCollectionConfig> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionConfig> createConfig(TbDataCollectionConfig config);
/**
* @description 更新采集配置
* @param config 配置信息
* @return ResultDomain<TbDataCollectionConfig> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionConfig> updateConfig(TbDataCollectionConfig config);
/**
* @description 删除采集配置
* @param configID 配置ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteConfig(String configID);
/**
* @description 更新配置状态
* @param configID 配置ID
* @param status 状态
* @return ResultDomain<TbDataCollectionConfig> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionConfig> updateConfigStatus(String configID, Integer status);
/**
* @description 更新最后采集时间
* @param configID 配置ID
* @param lastCollectTime 最后采集时间
* @return ResultDomain<TbDataCollectionConfig> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionConfig> updateLastCollectTime(String configID, Date lastCollectTime);
// ----------------采集日志相关--------------------------------
/**
* @description 获取采集日志列表
* @param configID 配置ID可选
* @param startDate 开始日期(可选)
* @param endDate 结束日期(可选)
* @return ResultDomain<TbDataCollectionLog> 日志列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionLog> getLogList(String configID, Date startDate, Date endDate);
/**
* @description 根据ID获取日志详情
* @param logID 日志ID
* @return ResultDomain<TbDataCollectionLog> 日志详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionLog> getLogById(String logID);
/**
* @description 创建采集日志
* @param log 日志信息
* @return ResultDomain<TbDataCollectionLog> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionLog> createLog(TbDataCollectionLog log);
/**
* @description 获取配置的采集统计
* @param configID 配置ID
* @return ResultDomain<TbDataCollectionLog> 采集统计
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionLog> getConfigStatistics(String configID);
// ----------------采集操作相关--------------------------------
/**
* @description 执行数据采集
* @param configID 配置ID
* @return ResultDomain<TbDataCollectionLog> 采集结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionLog> executeCollection(String configID);
/**
* @description 批量执行数据采集
* @param configIDs 配置ID列表
* @return ResultDomain<TbDataCollectionLog> 采集结果列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbDataCollectionLog> batchExecuteCollection(List<String> configIDs);
/**
* @description 停止采集任务
* @param configID 配置ID
* @return ResultDomain<Boolean> 停止结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> stopCollection(String configID);
/**
* @description 获取采集任务状态
* @param configID 配置ID
* @return ResultDomain<String> 任务状态
* @author system
* @since 2025-10-15
*/
ResultDomain<String> getCollectionStatus(String configID);
}

View File

@@ -0,0 +1,99 @@
package org.xyzh.api.news.recommend;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbResourceRecommend;
import java.util.List;
/**
* @description 资源推荐服务接口
* @filename ResourceRecommendService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface ResourceRecommendService {
/**
* @description 获取推荐资源列表
* @return ResultDomain<TbResourceRecommend> 推荐资源列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceRecommend> getRecommendList();
/**
* @description 添加推荐资源
* @param recommend 推荐信息
* @return ResultDomain<TbResourceRecommend> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceRecommend> addRecommend(TbResourceRecommend recommend);
/**
* @description 移除推荐资源
* @param resourceID 资源ID
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> removeRecommend(String resourceID);
/**
* @description 更新推荐排序
* @param resourceID 资源ID
* @param orderNum 排序号
* @return ResultDomain<TbResourceRecommend> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceRecommend> updateRecommendOrder(String resourceID, Integer orderNum);
/**
* @description 更新推荐理由
* @param resourceID 资源ID
* @param reason 推荐理由
* @return ResultDomain<TbResourceRecommend> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceRecommend> updateRecommendReason(String resourceID, String reason);
/**
* @description 检查资源是否已推荐
* @param resourceID 资源ID
* @return ResultDomain<Boolean> 是否已推荐
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> isResourceRecommended(String resourceID);
/**
* @description 批量添加推荐资源
* @param resourceIDs 资源ID列表
* @param reason 推荐理由
* @return ResultDomain<TbResourceRecommend> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceRecommend> batchAddRecommends(List<String> resourceIDs, String reason);
/**
* @description 批量移除推荐资源
* @param resourceIDs 资源ID列表
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> batchRemoveRecommends(List<String> resourceIDs);
/**
* @description 获取推荐资源详情
* @param resourceID 资源ID
* @return ResultDomain<TbResourceRecommend> 推荐详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceRecommend> getRecommendDetail(String resourceID);
}

View File

@@ -0,0 +1,165 @@
package org.xyzh.api.news.resource;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbResource;
import java.util.List;
/**
* @description 资源服务接口
* @filename ResourceService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface ResourceService {
/**
* @description 获取资源列表
* @param filter 过滤条件
* @return ResultDomain<TbResource> 资源列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> getResourceList(TbResource filter);
/**
* @description 根据ID获取资源详情
* @param resourceID 资源ID
* @return ResultDomain<TbResource> 资源详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> getResourceById(String resourceID);
/**
* @description 创建资源
* @param resource 资源信息
* @return ResultDomain<TbResource> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> createResource(TbResource resource);
/**
* @description 更新资源
* @param resource 资源信息
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> updateResource(TbResource resource);
/**
* @description 删除资源
* @param resourceID 资源ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteResource(String resourceID);
/**
* @description 更新资源状态
* @param resourceID 资源ID
* @param status 状态
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> updateResourceStatus(String resourceID, Integer status);
/**
* @description 发布资源
* @param resourceID 资源ID
* @return ResultDomain<TbResource> 发布结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> publishResource(String resourceID);
/**
* @description 下架资源
* @param resourceID 资源ID
* @return ResultDomain<TbResource> 下架结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> unpublishResource(String resourceID);
/**
* @description 增加浏览次数
* @param resourceID 资源ID
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> incrementViewCount(String resourceID);
/**
* @description 增加点赞次数
* @param resourceID 资源ID
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> incrementLikeCount(String resourceID);
/**
* @description 增加收藏次数
* @param resourceID 资源ID
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> incrementCollectCount(String resourceID);
/**
* @description 设置资源推荐
* @param resourceID 资源ID
* @param isRecommend 是否推荐
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> setResourceRecommend(String resourceID, Boolean isRecommend);
/**
* @description 设置资源轮播
* @param resourceID 资源ID
* @param isBanner 是否轮播
* @return ResultDomain<TbResource> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> setResourceBanner(String resourceID, Boolean isBanner);
/**
* @description 获取推荐资源列表
* @param limit 限制数量
* @return ResultDomain<TbResource> 推荐资源列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> getRecommendResources(Integer limit);
/**
* @description 获取轮播资源列表
* @param limit 限制数量
* @return ResultDomain<TbResource> 轮播资源列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> getBannerResources(Integer limit);
/**
* @description 搜索资源
* @param keyword 关键词
* @param categoryID 分类ID可选
* @param status 状态(可选)
* @return ResultDomain<TbResource> 搜索结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResource> searchResources(String keyword, String categoryID, Integer status);
}

View File

@@ -0,0 +1,129 @@
package org.xyzh.api.news.tag;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbTag;
import org.xyzh.common.dto.resource.TbResourceTag;
import java.util.List;
/**
* @description 标签服务接口
* @filename TagService.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
public interface TagService {
/**
* @description 获取所有标签
* @return ResultDomain<TbTag> 标签列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTag> getAllTags();
/**
* @description 根据ID获取标签详情
* @param tagID 标签ID
* @return ResultDomain<TbTag> 标签详情
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTag> getTagById(String tagID);
/**
* @description 创建标签
* @param tag 标签信息
* @return ResultDomain<TbTag> 创建结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTag> createTag(TbTag tag);
/**
* @description 更新标签
* @param tag 标签信息
* @return ResultDomain<TbTag> 更新结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTag> updateTag(TbTag tag);
/**
* @description 删除标签
* @param tagID 标签ID
* @return ResultDomain<Boolean> 删除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> deleteTag(String tagID);
/**
* @description 根据名称搜索标签
* @param name 标签名称
* @return ResultDomain<TbTag> 标签列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTag> searchTagsByName(String name);
// ----------------资源标签关联相关--------------------------------
/**
* @description 获取资源的标签
* @param resourceID 资源ID
* @return ResultDomain<TbTag> 标签列表
* @author system
* @since 2025-10-15
*/
ResultDomain<TbTag> getResourceTags(String resourceID);
/**
* @description 为资源添加标签
* @param resourceID 资源ID
* @param tagID 标签ID
* @return ResultDomain<TbResourceTag> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceTag> addResourceTag(String resourceID, String tagID);
/**
* @description 批量为资源添加标签
* @param resourceID 资源ID
* @param tagIDs 标签ID列表
* @return ResultDomain<TbResourceTag> 添加结果
* @author system
* @since 2025-10-15
*/
ResultDomain<TbResourceTag> batchAddResourceTags(String resourceID, List<String> tagIDs);
/**
* @description 移除资源标签
* @param resourceID 资源ID
* @param tagID 标签ID
* @return ResultDomain<Boolean> 移除结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> removeResourceTag(String resourceID, String tagID);
/**
* @description 清空资源的所有标签
* @param resourceID 资源ID
* @return ResultDomain<Boolean> 清空结果
* @author system
* @since 2025-10-15
*/
ResultDomain<Boolean> clearResourceTags(String resourceID);
/**
* @description 根据标签获取资源列表
* @param tagID 标签ID
* @return ResultDomain<String> 资源ID列表
* @author system
* @since 2025-10-15
*/
ResultDomain<String> getResourcesByTag(String tagID);
}