refactor: 重构状态更新接口,新增商品管理与勋章规则配置

1. 重构用户、宠物模板、勋章、管理员状态更新接口,移除冗余参数改为自动切换状态
2. 重命名宠物背景枚举为宠物皮肤,调整商品状态字段为枚举类型
3. 新增商品上下架状态管理接口与对应逻辑
4. 新增勋章规则配置系统,支持动态加载可用表和字段
5. 优化商品查询与展示逻辑,适配新的状态字段
This commit is contained in:
glz
2026-06-09 11:41:28 +08:00
parent 0126c6b097
commit 1d86580db7
24 changed files with 405 additions and 61 deletions

View File

@ -36,7 +36,7 @@ public class ProductInput
/// <summary>
/// 售卖状态: OnSale, OffSale
/// </summary>
public string SaleStatus { get; set; } = "OnSale";
public ProductStatusEnum Status { get; set; } = ProductStatusEnum.OnSale;
/// <summary>
/// 扩展数据
@ -90,9 +90,9 @@ public class ProductOutput
public string Type { get; set; } = string.Empty;
/// <summary>
/// 售卖状态
/// 状态
/// </summary>
public string SaleStatus { get; set; } = string.Empty;
public string Status { get; set; } = string.Empty;
/// <summary>
/// 扩展数据
@ -146,9 +146,9 @@ public class ProductQueryInput : PageQueryModel
public string? Type { get; set; }
/// <summary>
/// 售卖状态: OnSale, OffSale
/// 售卖状态
/// </summary>
public string? SaleStatus { get; set; }
public ProductStatusEnum? Status { get; set; }
/// <summary>
/// 是否上架

View File

@ -364,3 +364,35 @@ public class WxMedalActivateInput
/// </summary>
public long MedalId { get; set; }
}
/// <summary>
/// 勋章规则目标表下拉输出
/// </summary>
public class MedalRuleTableOptionOutput
{
/// <summary>
/// 表名
/// </summary>
public string TableName { get; set; } = string.Empty;
/// <summary>
/// 显示名称
/// </summary>
public string DisplayName { get; set; } = string.Empty;
}
/// <summary>
/// 勋章规则字段下拉输出
/// </summary>
public class MedalRuleFieldOptionOutput
{
/// <summary>
/// 字段名
/// </summary>
public string FieldName { get; set; } = string.Empty;
/// <summary>
/// 显示名称
/// </summary>
public string DisplayName { get; set; } = string.Empty;
}

View File

@ -49,14 +49,6 @@ namespace QYZH.InteractiveMagazine.Models.Entity
/// </summary>
public ProductTypeEnum Type {get;set;}
/// <summary>
/// Desc:售卖状态: OnSale, OffSale
/// Default:OnSale
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName = "SaleStatus")]
public string SaleStatus {get;set;}
/// <summary>
/// Desc:扩展数据
/// Default:

View File

@ -0,0 +1,21 @@
using System.ComponentModel;
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 商品上架/下架状态枚举
/// </summary>
public enum ProductStatusEnum
{
/// <summary>
/// 上架
/// </summary>
[Description("上架")]
OnSale = 1,
/// <summary>
/// 下架
/// </summary>
[Description("下架")]
OffSale = 0
}

View File

@ -15,6 +15,6 @@ public enum ProductTypeEnum
/// <summary>
/// 宠物背景
/// </summary>
[Description("宠物背景")]
PetBg = 2
[Description("宠物皮肤")]
PetSkin = 2
}

View File

@ -0,0 +1,49 @@
namespace QYZH.InteractiveMagazine.Models.Settings;
/// <summary>
/// 勋章规则配置(可配置的目标表和字段)
/// </summary>
public class MedalRuleConfigSettings
{
/// <summary>
/// 可用的目标表列表
/// </summary>
public List<MedalRuleTableConfig> Tables { get; set; } = new();
}
/// <summary>
/// 勋章规则目标表配置
/// </summary>
public class MedalRuleTableConfig
{
/// <summary>
/// 表名
/// </summary>
public string TableName { get; set; } = string.Empty;
/// <summary>
/// 显示名称
/// </summary>
public string DisplayName { get; set; } = string.Empty;
/// <summary>
/// 可用字段列表
/// </summary>
public List<MedalRuleFieldConfig> Fields { get; set; } = new();
}
/// <summary>
/// 勋章规则字段配置
/// </summary>
public class MedalRuleFieldConfig
{
/// <summary>
/// 字段名
/// </summary>
public string FieldName { get; set; } = string.Empty;
/// <summary>
/// 显示名称
/// </summary>
public string DisplayName { get; set; } = string.Empty;
}