mi-assessment/server/MiAssessment/src/MiAssessment.Admin.Business/Services/Interfaces/IContentService.cs
zpc 7154d7eb01 feat(content): 新增首页导航入口独立管理模块
- 新建 home_navigations 表,独立管理首页卡片导航
- 回退 assessment_types 表的 LinkUrl 字段
- 后台管理:ContentController 新增导航 CRUD 接口
- 小程序 API:HomeController 新增 getNavigationList 接口
- 前端:首页改用 navigationList 数据源,支持配置化跳转
- 数据库已插入3条导航记录(多元测评/学业规划/学科测评)
2026-02-23 12:35:28 +08:00

147 lines
4.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using MiAssessment.Admin.Business.Models;
using MiAssessment.Admin.Business.Models.Common;
using MiAssessment.Admin.Business.Models.Content;
namespace MiAssessment.Admin.Business.Services.Interfaces;
/// <summary>
/// 内容管理服务接口
/// </summary>
public interface IContentService
{
#region Banner
/// <summary>
/// 获取轮播图列表
/// </summary>
/// <param name="request">查询参数</param>
/// <returns>分页轮播图列表</returns>
Task<PagedResult<BannerDto>> GetBannerListAsync(BannerQueryRequest request);
/// <summary>
/// 根据ID获取轮播图
/// </summary>
/// <param name="id">轮播图ID</param>
/// <returns>轮播图信息</returns>
Task<BannerDto> GetBannerByIdAsync(long id);
/// <summary>
/// 创建轮播图
/// </summary>
/// <param name="request">创建请求</param>
/// <returns>新创建的轮播图ID</returns>
Task<long> CreateBannerAsync(CreateBannerRequest request);
/// <summary>
/// 更新轮播图
/// </summary>
/// <param name="request">更新请求</param>
/// <returns>是否更新成功</returns>
Task<bool> UpdateBannerAsync(UpdateBannerRequest request);
/// <summary>
/// 删除轮播图(软删除)
/// </summary>
/// <param name="id">轮播图ID</param>
/// <returns>是否删除成功</returns>
Task<bool> DeleteBannerAsync(long id);
/// <summary>
/// 更新轮播图状态
/// </summary>
/// <param name="id">轮播图ID</param>
/// <param name="status">状态值0禁用 1启用</param>
/// <returns>是否更新成功</returns>
Task<bool> UpdateBannerStatusAsync(long id, int status);
/// <summary>
/// 批量更新轮播图排序
/// </summary>
/// <param name="items">排序项列表</param>
/// <returns>是否更新成功</returns>
Task<bool> UpdateBannerSortAsync(List<SortItem> items);
#endregion
#region Promotion
/// <summary>
/// 获取宣传图列表
/// </summary>
/// <param name="request">查询参数</param>
/// <returns>分页宣传图列表</returns>
Task<PagedResult<PromotionDto>> GetPromotionListAsync(PromotionQueryRequest request);
/// <summary>
/// 根据ID获取宣传图
/// </summary>
/// <param name="id">宣传图ID</param>
/// <returns>宣传图信息</returns>
Task<PromotionDto> GetPromotionByIdAsync(long id);
/// <summary>
/// 创建宣传图
/// </summary>
/// <param name="request">创建请求</param>
/// <returns>新创建的宣传图ID</returns>
Task<long> CreatePromotionAsync(CreatePromotionRequest request);
/// <summary>
/// 更新宣传图
/// </summary>
/// <param name="request">更新请求</param>
/// <returns>是否更新成功</returns>
Task<bool> UpdatePromotionAsync(UpdatePromotionRequest request);
/// <summary>
/// 删除宣传图(软删除)
/// </summary>
/// <param name="id">宣传图ID</param>
/// <returns>是否删除成功</returns>
Task<bool> DeletePromotionAsync(long id);
/// <summary>
/// 更新宣传图状态
/// </summary>
/// <param name="id">宣传图ID</param>
/// <param name="status">状态值0禁用 1启用</param>
/// <returns>是否更新成功</returns>
Task<bool> UpdatePromotionStatusAsync(long id, int status);
#endregion
#region HomeNavigation
/// <summary>
/// 获取首页导航列表
/// </summary>
Task<PagedResult<HomeNavigationDto>> GetNavigationListAsync(HomeNavigationQueryRequest request);
/// <summary>
/// 根据ID获取首页导航
/// </summary>
Task<HomeNavigationDto> GetNavigationByIdAsync(long id);
/// <summary>
/// 创建首页导航
/// </summary>
Task<long> CreateNavigationAsync(CreateHomeNavigationRequest request);
/// <summary>
/// 更新首页导航
/// </summary>
Task<bool> UpdateNavigationAsync(UpdateHomeNavigationRequest request);
/// <summary>
/// 删除首页导航(软删除)
/// </summary>
Task<bool> DeleteNavigationAsync(long id);
/// <summary>
/// 更新首页导航状态
/// </summary>
Task<bool> UpdateNavigationStatusAsync(long id, int status);
#endregion
}