feat: 新增轮播图和资料管理模块
此提交完整实现了小程序端和管理后台的轮播图、资料管理功能: 1. 新增3个枚举类型:轮播图展示位置、跳转类型、资料文件类型 2. 新增数据库表结构SQL脚本,包含Banner、Material、MaterialFile表 3. 新增实体类定义,适配SqlSugar ORM 4. 新增服务接口与实现,包含CRUD、状态切换、列表查询等完整业务逻辑 5. 新增管理后台API控制器和小程序端API控制器 6. 新增数据传输对象,包含输入、输出、查询参数等类型 7. 实现了OSS临时文件迁移、参数校验、分页查询、软删除等基础功能
This commit is contained in:
74
QYZH.InteractiveMagazine.Models/Entity/Banner.cs
Normal file
74
QYZH.InteractiveMagazine.Models/Entity/Banner.cs
Normal file
@ -0,0 +1,74 @@
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// 轮播图表
|
||||
/// </summary>
|
||||
[SugarTable("Banner")]
|
||||
public partial class Banner : SqlSugarBaseEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:标题
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Title { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:轮播图OSS路径
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string ImageUrl { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:展示位置
|
||||
/// Default:1
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public BannerPositionEnum Position { get; set; } = BannerPositionEnum.Home;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:跳转类型
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public BannerTargetTypeEnum TargetType { get; set; } = BannerTargetTypeEnum.None;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:跳转值
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? TargetValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:排序值,越小越靠前
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int Sort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:生效开始时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:生效结束时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:备注
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? Remark { get; set; }
|
||||
}
|
||||
52
QYZH.InteractiveMagazine.Models/Entity/Material.cs
Normal file
52
QYZH.InteractiveMagazine.Models/Entity/Material.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// 资料表
|
||||
/// </summary>
|
||||
[SugarTable("Material")]
|
||||
public partial class Material : SqlSugarBaseEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:资料标题
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Title { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:资料名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:资料描述
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:排序值,越小越靠前
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int Sort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:生效开始时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:生效结束时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? EndTime { get; set; }
|
||||
}
|
||||
46
QYZH.InteractiveMagazine.Models/Entity/MaterialFile.cs
Normal file
46
QYZH.InteractiveMagazine.Models/Entity/MaterialFile.cs
Normal file
@ -0,0 +1,46 @@
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// 资料文件表
|
||||
/// </summary>
|
||||
[SugarTable("MaterialFile")]
|
||||
public partial class MaterialFile : SqlSugarBaseEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:资料ID
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long MaterialId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:文件类型
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public MaterialFileTypeEnum FileType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:文件OSS路径
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string FileUrl { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:文件名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string? FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:排序值,越小越靠前
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int Sort { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user