- 在MarketingCode聚合中新增品类ID和品类名称字段,完善产品信息结构 - 迁移生成营销码命令,支持传入品类ID和品类名称参数 - 积分发放失败时发送积分获得失败通知集成事件 - 新增通知发送及积分失败通知的集成事件处理器,使用SSE推送通知 - 在积分相关集成事件处理器中添加发送积分变动通知功能 - 移除Notification聚合,相关数据库表删除 - 新增分页结果类型PagedResult,支持营销码查询分页返回 - 营销码查询支持分页参数,返回分页结果数据
68 lines
2.2 KiB
C#
68 lines
2.2 KiB
C#
using MediatR;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using NetCorePal.Extensions.DistributedTransactions.CAP.Persistence;
|
|
using Fengling.Backend.Domain.AggregatesModel.AdminAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.MemberAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.MarketingCodeAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.PointsRuleAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.PointsTransactionAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.GiftAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.RedemptionOrderAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.CategoryAggregate;
|
|
using Fengling.Backend.Domain.AggregatesModel.ProductAggregate;
|
|
|
|
|
|
namespace Fengling.Backend.Infrastructure;
|
|
|
|
public partial class ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IMediator mediator)
|
|
: AppDbContextBase(options, mediator)
|
|
, ISqliteCapDataStorage
|
|
{
|
|
// 管理员聚合
|
|
public DbSet<Admin> Admins => Set<Admin>();
|
|
|
|
// 会员聚合
|
|
public DbSet<Member> Members => Set<Member>();
|
|
public DbSet<PointsTransaction> PointsTransactions => Set<PointsTransaction>();
|
|
|
|
// 营销码聚合
|
|
public DbSet<MarketingCode> MarketingCodes => Set<MarketingCode>();
|
|
|
|
// 积分规则聚合
|
|
public DbSet<PointsRule> PointsRules => Set<PointsRule>();
|
|
|
|
// 礼品聚合
|
|
public DbSet<Gift> Gifts => Set<Gift>();
|
|
|
|
// 兑换订单聚合
|
|
public DbSet<RedemptionOrder> RedemptionOrders => Set<RedemptionOrder>();
|
|
|
|
// 品类聚合
|
|
public DbSet<Category> Categories => Set<Category>();
|
|
|
|
// 产品聚合
|
|
public DbSet<Product> Products => Set<Product>();
|
|
|
|
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
if (modelBuilder is null)
|
|
{
|
|
throw new ArgumentNullException(nameof(modelBuilder));
|
|
}
|
|
|
|
modelBuilder.ApplyConfigurationsFromAssembly(typeof(ApplicationDbContext).Assembly);
|
|
base.OnModelCreating(modelBuilder);
|
|
}
|
|
|
|
|
|
|
|
protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
|
|
{
|
|
ConfigureStronglyTypedIdValueConverter(configurationBuilder);
|
|
base.ConfigureConventions(configurationBuilder);
|
|
}
|
|
|
|
}
|