feat: 新增数字藏品模块

This commit is contained in:
橙子
2024-10-14 22:40:28 +08:00
parent 7af54f600f
commit 36246c2945
21 changed files with 147 additions and 88 deletions

View File

@@ -10,7 +10,7 @@ using Yi.Framework.Bbs.Domain.Shared.Enums;
namespace Yi.Framework.Bbs.Domain.Entities
{
/// <summary>
/// 评论
/// bbs用户
/// </summary>
[SugarTable("BbsUserExtraInfo")]
[SugarIndex($"index_{nameof(UserId)}", nameof(UserId), OrderByType.Asc)]

View File

@@ -3,11 +3,7 @@
<ItemGroup>
<ProjectReference Include="..\..\..\framework\Yi.Framework.Ddd.Application.Contracts\Yi.Framework.Ddd.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\module\bbs\Yi.Framework.Bbs.Application.Contracts\Yi.Framework.Bbs.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\module\chat-hub\Yi.Framework.ChatHub.Application.Contracts\Yi.Framework.ChatHub.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\module\rbac\Yi.Framework.Rbac.Application.Contracts\Yi.Framework.Rbac.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\module\tenant-management\Yi.Framework.TenantManagement.Application.Contracts\Yi.Framework.TenantManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain.Shared\Yi.Framework.DigitalCollectibles.Domain.Shared.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain.Shared\Yi.Framework.DigitalCollectibles.Domain.Shared.csproj" />
</ItemGroup>
<ItemGroup>

View File

@@ -1,20 +1,11 @@
using Yi.Framework.DigitalCollectibles.Domain.Shared;
using Yi.Framework.Bbs.Application.Contracts;
using Yi.Framework.ChatHub.Application.Contracts;
using Yi.Framework.Ddd.Application.Contracts;
using Yi.Framework.Rbac.Application.Contracts;
using Yi.Framework.TenantManagement.Application.Contracts;
namespace Yi.Framework.DigitalCollectibles.Application.Contracts
{
[DependsOn(
typeof(YiFrameworkDigitalCollectiblesDomainSharedModule),
typeof(YiFrameworkRbacApplicationContractsModule),
typeof(YiFrameworkBbsApplicationContractsModule),
typeof(YiFrameworkChatHubApplicationContractsModule),
typeof(YiFrameworkTenantManagementApplicationContractsModule),
typeof(YiFrameworkDddApplicationContractsModule))]
public class YiFrameworkDigitalCollectiblesApplicationContractsModule:AbpModule
{

View File

@@ -0,0 +1,9 @@
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
/// <summary>
/// 自动刷新填满矿池
/// </summary>
public class AutoRefreshMiningPoolJob
{
}

View File

@@ -0,0 +1,9 @@
namespace Yi.Framework.DigitalCollectibles.Application.Jobs;
/// <summary>
/// 处理挂机挖矿定时任务
/// </summary>
public class OnHookAutoMiningJob
{
}

View File

@@ -4,18 +4,12 @@
<ItemGroup>
<ProjectReference Include="..\..\..\framework\Yi.Framework.Ddd.Application\Yi.Framework.Ddd.Application.csproj" />
<ProjectReference Include="..\..\..\module\bbs\Yi.Framework.Bbs.Application\Yi.Framework.Bbs.Application.csproj" />
<ProjectReference Include="..\..\..\module\chat-hub\Yi.Framework.ChatHub.Application\Yi.Framework.ChatHub.Application.csproj" />
<ProjectReference Include="..\..\..\module\code-gen\Yi.Framework.CodeGen.Application\Yi.Framework.CodeGen.Application.csproj" />
<ProjectReference Include="..\..\..\module\rbac\Yi.Framework.Rbac.Application\Yi.Framework.Rbac.Application.csproj" />
<ProjectReference Include="..\..\..\module\tenant-management\Yi.Framework.TenantManagement.Application\Yi.Framework.TenantManagement.Application.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Application.Contracts\Yi.Framework.DigitalCollectibles.Application.Contracts.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Application.Contracts\Yi.Framework.DigitalCollectibles.Application.Contracts.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain\Yi.Framework.DigitalCollectibles.Domain.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Jobs\" />
<Folder Include="Services\" />
</ItemGroup>

View File

@@ -1,25 +1,14 @@
using Yi.Framework.DigitalCollectibles.Application.Contracts;
using Yi.Framework.DigitalCollectibles.Domain;
using Yi.Framework.Bbs.Application;
using Yi.Framework.ChatHub.Application;
using Yi.Framework.CodeGen.Application;
using Yi.Framework.Ddd.Application;
using Yi.Framework.Rbac.Application;
using Yi.Framework.TenantManagement.Application;
namespace Yi.Framework.DigitalCollectibles.Application
{
[DependsOn(
typeof(YiFrameworkDigitalCollectiblesApplicationContractsModule),
typeof(YiFrameworkDigitalCollectiblesDomainModule),
typeof(YiFrameworkRbacApplicationModule),
typeof(YiFrameworkBbsApplicationModule),
typeof(YiFrameworkChatHubApplicationModule),
typeof(YiFrameworkTenantManagementApplicationModule),
typeof(YiFrameworkCodeGenApplicationModule),
typeof(YiFrameworkDddApplicationModule)
)]
public class YiFrameworkDigitalCollectiblesApplicationModule : AbpModule

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Settings;
namespace Yi.Abp.Domain.Shared.Settings
{
/// <summary>
/// 数字藏品配置
/// </summary>
internal class DigitalCollectiblesSettingProvider : SettingDefinitionProvider
{
public override void Define(ISettingDefinitionContext context)
{
context.Add(
//每日矿池最大上限
new SettingDefinition("MaximumPoolLimit", "100")
);
}
}
}

View File

@@ -6,10 +6,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\module\audit-logging\Yi.Framework.AuditLogging.Domain.Shared\Yi.Framework.AuditLogging.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\module\bbs\Yi.Framework.Bbs.Domain.Shared\Yi.Framework.Bbs.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\module\chat-hub\Yi.Framework.ChatHub.Domain.Shared\Yi.Framework.ChatHub.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\module\rbac\Yi.Framework.Rbac.Domain.Shared\Yi.Framework.Rbac.Domain.Shared.csproj" />
</ItemGroup>
<ItemGroup>

View File

@@ -1,16 +1,8 @@
using Volo.Abp.Domain;
using Yi.Framework.AuditLogging.Domain.Shared;
using Yi.Framework.Bbs.Domain.Shared;
using Yi.Framework.ChatHub.Domain.Shared;
using Yi.Framework.Rbac.Domain.Shared;
namespace Yi.Framework.DigitalCollectibles.Domain.Shared
{
[DependsOn(
typeof(YiFrameworkRbacDomainSharedModule),
typeof(YiFrameworkBbsDomainSharedModule),
typeof(YiFrameworkChatHubDomainSharedModule),
typeof(YiFrameworkAuditLoggingDomainSharedModule),
typeof(AbpDddDomainSharedModule))]
public class YiFrameworkDigitalCollectiblesDomainSharedModule : AbpModule

View File

@@ -0,0 +1,14 @@
using SqlSugar;
using Volo.Abp.Domain.Entities.Auditing;
namespace Yi.Framework.DigitalCollectibles.Domain.Entities;
/// <summary>
/// 数字藏品定义表
/// 用于定义数字藏品
/// </summary>
[SugarTable("DC_Collectibles")]
public class CollectiblesAggregateRoot:FullAuditedAggregateRoot<Guid>
{
}

View File

@@ -0,0 +1,14 @@
using SqlSugar;
using Volo.Abp.Domain.Entities;
namespace Yi.Framework.DigitalCollectibles.Domain.Entities;
/// <summary>
/// 藏品用户信息表
/// </summary>
[SugarTable("DC_CollectiblesUserExtraInfo")]
public class CollectiblesUserExtraInfoEntity: Entity<Guid>
{
}

View File

@@ -0,0 +1,14 @@
using SqlSugar;
using Volo.Abp.Domain.Entities.Auditing;
namespace Yi.Framework.DigitalCollectibles.Domain.Entities;
/// <summary>
/// 数字藏品用户存储表
/// 表示用户与藏品的库存关系
/// </summary>
[SugarTable("DC_CollectiblesUserStore")]
public class CollectiblesUserStoreAggregateRoot:FullAuditedAggregateRoot<Guid>
{
}

View File

@@ -0,0 +1,14 @@
using SqlSugar;
using Volo.Abp.Domain.Entities.Auditing;
namespace Yi.Framework.DigitalCollectibles.Domain.Entities;
/// <summary>
/// 交易市场货物
/// 用于表示交易市场货物的情况
/// </summary>
[SugarTable("DC_MarketGoods")]
public class MarketGoodsAggregateRoot:FullAuditedAggregateRoot<Guid>
{
}

View File

@@ -0,0 +1,15 @@
using SqlSugar;
using Volo.Abp.Domain.Entities.Auditing;
namespace Yi.Framework.DigitalCollectibles.Domain.Entities;
/// <summary>
/// 挂机表
/// 表示用户与挂机道具之间的关系
/// 用于定时任务处理自动挖矿
/// </summary>
[SugarTable("DC_OnHook")]
public class OnHookAggregateRoot:FullAuditedAggregateRoot<Guid>
{
}

View File

@@ -0,0 +1,12 @@
using Volo.Abp.Domain.Services;
namespace Yi.Framework.DigitalCollectibles.Domain.Managers;
/// <summary>
/// 市场领域服务
/// 处理交易市场相关业务,例如交易等
/// </summary>
public class MarketManager:DomainService
{
}

View File

@@ -0,0 +1,12 @@
using Volo.Abp.Domain.Services;
namespace Yi.Framework.DigitalCollectibles.Domain.Managers;
/// <summary>
/// 矿池领域服务
/// 处理矿池相关业务,例如挖矿等
/// </summary>
public class MiningPoolManager:DomainService
{
}

View File

@@ -9,18 +9,11 @@
<ItemGroup>
<ProjectReference Include="..\..\..\framework\Yi.Framework.Mapster\Yi.Framework.Mapster.csproj" />
<ProjectReference Include="..\..\..\framework\Yi.Framework.SqlSugarCore.Abstractions\Yi.Framework.SqlSugarCore.Abstractions.csproj" />
<ProjectReference Include="..\..\..\module\audit-logging\Yi.Framework.AuditLogging.Domain\Yi.Framework.AuditLogging.Domain.csproj" />
<ProjectReference Include="..\..\..\module\bbs\Yi.Framework.Bbs.Domain\Yi.Framework.Bbs.Domain.csproj" />
<ProjectReference Include="..\..\..\module\chat-hub\Yi.Framework.ChatHub.Domain\Yi.Framework.ChatHub.Domain.csproj" />
<ProjectReference Include="..\..\..\module\rbac\Yi.Framework.Rbac.Domain\Yi.Framework.Rbac.Domain.csproj" />
<ProjectReference Include="..\..\..\module\tenant-management\Yi.Framework.TenantManagement.Domain\Yi.Framework.TenantManagement.Domain.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain.Shared\Yi.Framework.DigitalCollectibles.Domain.Shared.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain.Shared\Yi.Framework.DigitalCollectibles.Domain.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="EventHandlers\" />
<Folder Include="Entities\" />
<Folder Include="Managers\" />
<Folder Include="Repositories\" />
</ItemGroup>

View File

@@ -2,23 +2,12 @@ using Volo.Abp.Caching;
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
using Yi.Framework.DigitalCollectibles.Domain.Shared;
using Yi.Framework.AuditLogging.Domain;
using Yi.Framework.Bbs.Domain;
using Yi.Framework.ChatHub.Domain;
using Yi.Framework.Mapster;
using Yi.Framework.Rbac.Domain;
using Yi.Framework.TenantManagement.Domain;
namespace Yi.Framework.DigitalCollectibles.Domain
{
[DependsOn(
typeof(YiFrameworkDigitalCollectiblesDomainSharedModule),
typeof(YiFrameworkTenantManagementDomainModule),
typeof(YiFrameworkRbacDomainModule),
typeof(YiFrameworkBbsDomainModule),
typeof(YiFrameworkChatHubDomainModule),
typeof(YiFrameworkAuditLoggingDomainModule),
typeof(YiFrameworkMapsterModule),
typeof(AbpDddDomainModule),

View File

@@ -4,13 +4,7 @@
<ItemGroup>
<ProjectReference Include="..\..\..\framework\Yi.Framework.Mapster\Yi.Framework.Mapster.csproj" />
<ProjectReference Include="..\..\..\framework\Yi.Framework.SqlSugarCore\Yi.Framework.SqlSugarCore.csproj" />
<ProjectReference Include="..\..\..\module\audit-logging\Yi.Framework.AuditLogging.SqlSugarCore\Yi.Framework.AuditLogging.SqlSugarCore.csproj" />
<ProjectReference Include="..\..\..\module\bbs\Yi.Framework.Bbs.SqlSugarCore\Yi.Framework.Bbs.SqlSugarCore.csproj" />
<ProjectReference Include="..\..\..\module\chat-hub\Yi.Framework.ChatHub.SqlSugarCore\Yi.Framework.ChatHub.SqlSugarCore.csproj" />
<ProjectReference Include="..\..\..\module\code-gen\Yi.Framework.CodeGen.SqlSugarCore\Yi.Framework.CodeGen.SqlSugarCore.csproj" />
<ProjectReference Include="..\..\..\module\rbac\Yi.Framework.Rbac.SqlSugarCore\Yi.Framework.Rbac.SqlSugarCore.csproj" />
<ProjectReference Include="..\..\..\module\tenant-management\Yi.Framework.TenantManagement.SqlSugarCore\Yi.Framework.TenantManagement.SqlSugarCore.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain\Yi.Framework.DigitalCollectibles.Domain.csproj" />
<ProjectReference Include="..\Yi.Framework.DigitalCollectibles.Domain\Yi.Framework.DigitalCollectibles.Domain.csproj" />
</ItemGroup>
<ItemGroup>

View File

@@ -1,28 +1,16 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
using Yi.Framework.DigitalCollectibles.Domain;
using Yi.Framework.AuditLogging.SqlSugarCore;
using Yi.Framework.Bbs.SqlSugarCore;
using Yi.Framework.ChatHub.SqlSugarCore;
using Yi.Framework.CodeGen.SqlSugarCore;
using Yi.Framework.Mapster;
using Yi.Framework.Rbac.SqlSugarCore;
using Yi.Framework.SqlSugarCore;
using Yi.Framework.SqlSugarCore.Abstractions;
using Yi.Framework.TenantManagement.SqlSugarCore;
namespace Yi.Framework.DigitalCollectibles.SqlsugarCore
{
[DependsOn(
typeof(YiFrameworkDigitalCollectiblesDomainModule),
typeof(YiFrameworkRbacSqlSugarCoreModule),
typeof(YiFrameworkBbsSqlSugarCoreModule),
typeof(YiFrameworkCodeGenSqlSugarCoreModule),
typeof(YiFrameworkChatHubSqlSugarCoreModule),
typeof(YiFrameworkAuditLoggingSqlSugarCoreModule),
typeof(YiFrameworkTenantManagementSqlSugarCoreModule),
typeof(YiFrameworkMapsterModule),
typeof(YiFrameworkSqlSugarCoreModule)
)]