feat:搭建积分领域
This commit is contained in:
@@ -4,13 +4,14 @@ using System.Net;
|
|||||||
using Mapster;
|
using Mapster;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Volo.Abp.Auditing;
|
using Volo.Abp.Auditing;
|
||||||
|
using Volo.Abp.AuditLogging;
|
||||||
using Volo.Abp.DependencyInjection;
|
using Volo.Abp.DependencyInjection;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
using Yi.AuditLogging.SqlSugarCore.Entities;
|
using Yi.AuditLogging.SqlSugarCore.Entities;
|
||||||
using Yi.Framework.SqlSugarCore.Repositories;
|
using Yi.Framework.SqlSugarCore.Repositories;
|
||||||
|
|
||||||
namespace Volo.Abp.AuditLogging.EntityFrameworkCore;
|
namespace Yi.AuditLogging.SqlSugarCore;
|
||||||
|
|
||||||
public class SqlSugarCoreAuditLogRepository : SqlSugarObjectRepository<AuditLog, Guid>, IAuditLogRepository
|
public class SqlSugarCoreAuditLogRepository : SqlSugarObjectRepository<AuditLog, Guid>, IAuditLogRepository
|
||||||
{
|
{
|
||||||
@@ -52,7 +53,7 @@ public class SqlSugarCoreAuditLogRepository : SqlSugarObjectRepository<AuditLog,
|
|||||||
);
|
);
|
||||||
|
|
||||||
var auditLogs = await query
|
var auditLogs = await query
|
||||||
.OrderBy(sorting.IsNullOrWhiteSpace() ? (nameof(AuditLog.ExecutionTime) + " DESC") : sorting)
|
.OrderBy(sorting.IsNullOrWhiteSpace() ? nameof(AuditLog.ExecutionTime) + " DESC" : sorting)
|
||||||
.ToPageListAsync(skipCount, maxResultCount, cancellationToken);
|
.ToPageListAsync(skipCount, maxResultCount, cancellationToken);
|
||||||
|
|
||||||
return auditLogs.Adapt<List<AuditLog>>();
|
return auditLogs.Adapt<List<AuditLog>>();
|
||||||
@@ -176,7 +177,7 @@ public class SqlSugarCoreAuditLogRepository : SqlSugarObjectRepository<AuditLog,
|
|||||||
{
|
{
|
||||||
var query = await GetEntityChangeListQueryAsync(auditLogId, startTime, endTime, changeType, entityId, entityTypeFullName, includeDetails);
|
var query = await GetEntityChangeListQueryAsync(auditLogId, startTime, endTime, changeType, entityId, entityTypeFullName, includeDetails);
|
||||||
|
|
||||||
return await query.OrderBy(sorting.IsNullOrWhiteSpace() ? (nameof(EntityChange.ChangeTime) + " DESC") : sorting)
|
return await query.OrderBy(sorting.IsNullOrWhiteSpace() ? nameof(EntityChange.ChangeTime) + " DESC" : sorting)
|
||||||
.ToPageListAsync(skipCount, maxResultCount, cancellationToken);
|
.ToPageListAsync(skipCount, maxResultCount, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||||
using Volo.Abp.AuditLogging;
|
using Volo.Abp.AuditLogging;
|
||||||
using Volo.Abp.AuditLogging.EntityFrameworkCore;
|
|
||||||
using Volo.Abp.Modularity;
|
using Volo.Abp.Modularity;
|
||||||
using Yi.Framework.SqlSugarCore;
|
using Yi.Framework.SqlSugarCore;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Volo.Abp.Application.Dtos;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Application.Contracts.Dtos.Level
|
||||||
|
{
|
||||||
|
public class LevelGetListInputDto:PagedResultRequestDto
|
||||||
|
{ /// <summary>
|
||||||
|
/// 当前等级
|
||||||
|
/// </summary>
|
||||||
|
public int? MinLevel { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等级名称
|
||||||
|
/// </summary>
|
||||||
|
public string? Name { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
using Volo.Abp.Application.Dtos;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Application.Contracts.Dtos.Level
|
||||||
|
{
|
||||||
|
public class LevelOutputDto : EntityDto<Guid>
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前等级
|
||||||
|
/// </summary>
|
||||||
|
public int CurrentLevel { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最小所需经验值
|
||||||
|
/// </summary>
|
||||||
|
public decimal MinExperience { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等级名称
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等级称号
|
||||||
|
/// </summary>
|
||||||
|
public string? Nick { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等候logo
|
||||||
|
/// </summary>
|
||||||
|
public string? Logo { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Level;
|
||||||
|
using Yi.Framework.Ddd.Application.Contracts;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Application.Contracts.IServices
|
||||||
|
{
|
||||||
|
public interface ILevelService : IYiCrudAppService<LevelOutputDto, Guid, LevelGetListInputDto>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using Volo.Abp.DependencyInjection;
|
||||||
|
using Volo.Abp.EventBus;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities;
|
||||||
|
using Yi.Framework.Bbs.Domain.Shared.Etos;
|
||||||
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Application.EventHandlers
|
||||||
|
{
|
||||||
|
public class MoneyChangeEventHandler : ILocalEventHandler<MoneyChangeEventArgs>, ITransientDependency
|
||||||
|
{
|
||||||
|
private ISqlSugarRepository<BbsUserExtraInfoEntity> _userInfoRepository;
|
||||||
|
public MoneyChangeEventHandler(ISqlSugarRepository<BbsUserExtraInfoEntity> userInfoRepository)
|
||||||
|
{
|
||||||
|
_userInfoRepository = userInfoRepository;
|
||||||
|
}
|
||||||
|
public async Task HandleEventAsync(MoneyChangeEventArgs eventData)
|
||||||
|
{
|
||||||
|
//原子性sql
|
||||||
|
await _userInfoRepository._Db.Updateable<BbsUserExtraInfoEntity>()
|
||||||
|
.SetColumns(it => it.Money == it.Money + eventData.Number)
|
||||||
|
.Where(x => x.UserId == eventData.UserId).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,10 +6,10 @@ using System.Threading.Tasks;
|
|||||||
using Volo.Abp.DependencyInjection;
|
using Volo.Abp.DependencyInjection;
|
||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
using Volo.Abp.EventBus;
|
using Volo.Abp.EventBus;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Etos;
|
using Yi.Framework.Bbs.Domain.Shared.Etos;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.EventHandlers
|
namespace Yi.Framework.Bbs.Application.EventHandlers
|
||||||
{
|
{
|
||||||
public class SeeDiscussEventHandler : ILocalEventHandler<SeeDiscussEventArgs>, ITransientDependency
|
public class SeeDiscussEventHandler : ILocalEventHandler<SeeDiscussEventArgs>, ITransientDependency
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ using Yi.Framework.Bbs.Domain.Entities;
|
|||||||
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
||||||
using Yi.Framework.Rbac.Domain.Shared.Etos;
|
using Yi.Framework.Rbac.Domain.Shared.Etos;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.EventHandlers
|
namespace Yi.Framework.Bbs.Application.EventHandlers
|
||||||
{
|
{
|
||||||
public class UserCreateEventHandler : ILocalEventHandler<UserCreateEventArgs>, ITransientDependency
|
public class UserCreateEventHandler : ILocalEventHandler<UserCreateEventArgs>, ITransientDependency
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using Volo.Abp.Application.Services;
|
|||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Managers;
|
using Yi.Framework.Bbs.Domain.Managers;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ using Volo.Abp;
|
|||||||
using Volo.Abp.Application.Services;
|
using Volo.Abp.Application.Services;
|
||||||
using Volo.Abp.Uow;
|
using Volo.Abp.Uow;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Argee;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Argee;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 点赞功能
|
/// 点赞功能
|
||||||
@@ -32,7 +32,7 @@ namespace Yi.Framework.Bbs.Application.Services
|
|||||||
[Authorize]
|
[Authorize]
|
||||||
public async Task<AgreeDto> PostOperateAsync(Guid discussId)
|
public async Task<AgreeDto> PostOperateAsync(Guid discussId)
|
||||||
{
|
{
|
||||||
var entity = await _repository.GetFirstAsync(x => x.DiscussId == discussId && x.CreatorId == this.CurrentUser.Id);
|
var entity = await _repository.GetFirstAsync(x => x.DiscussId == discussId && x.CreatorId == CurrentUser.Id);
|
||||||
//判断是否已经点赞过
|
//判断是否已经点赞过
|
||||||
if (entity is null)
|
if (entity is null)
|
||||||
{
|
{
|
||||||
@@ -13,7 +13,7 @@ using Volo.Abp.Domain.Repositories;
|
|||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Article;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Article;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Plate;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Plate;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Extensions;
|
using Yi.Framework.Bbs.Domain.Extensions;
|
||||||
using Yi.Framework.Bbs.Domain.Managers;
|
using Yi.Framework.Bbs.Domain.Managers;
|
||||||
using Yi.Framework.Bbs.Domain.Repositories;
|
using Yi.Framework.Bbs.Domain.Repositories;
|
||||||
@@ -25,7 +25,7 @@ using Yi.Framework.Rbac.Domain.Authorization;
|
|||||||
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Article服务实现
|
/// Article服务实现
|
||||||
@@ -193,7 +193,7 @@ namespace Yi.Framework.Bbs.Application.Services
|
|||||||
//这块有点绕,这个版本的写法比较清晰
|
//这块有点绕,这个版本的写法比较清晰
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
if (this.CurrentUser.GetPermissions().Contains(UserConst.AdminPermissionCode))
|
if (CurrentUser.GetPermissions().Contains(UserConst.AdminPermissionCode))
|
||||||
{
|
{
|
||||||
//如果是超管,直接跳过
|
//如果是超管,直接跳过
|
||||||
result = true;
|
result = true;
|
||||||
@@ -3,11 +3,11 @@ using Volo.Abp.Application.Dtos;
|
|||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Banner;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Banner;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Ddd.Application;
|
using Yi.Framework.Ddd.Application;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Banner服务实现
|
/// Banner服务实现
|
||||||
@@ -7,7 +7,7 @@ using Volo.Abp.Application.Dtos;
|
|||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Comment;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Comment;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Extensions;
|
using Yi.Framework.Bbs.Domain.Extensions;
|
||||||
using Yi.Framework.Bbs.Domain.Managers;
|
using Yi.Framework.Bbs.Domain.Managers;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Consts;
|
using Yi.Framework.Bbs.Domain.Shared.Consts;
|
||||||
@@ -16,7 +16,7 @@ using Yi.Framework.Rbac.Domain.Authorization;
|
|||||||
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 评论
|
/// 评论
|
||||||
@@ -10,6 +10,7 @@ using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser;
|
|||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Discuss;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Extensions;
|
using Yi.Framework.Bbs.Domain.Extensions;
|
||||||
using Yi.Framework.Bbs.Domain.Managers;
|
using Yi.Framework.Bbs.Domain.Managers;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Consts;
|
using Yi.Framework.Bbs.Domain.Shared.Consts;
|
||||||
@@ -22,7 +23,7 @@ using Yi.Framework.Rbac.Domain.Entities;
|
|||||||
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
using Yi.Framework.Rbac.Domain.Shared.Consts;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Discuss应用服务实现,用于参数效验、领域服务业务组合、日志记录、事务处理、账户信息
|
/// Discuss应用服务实现,用于参数效验、领域服务业务组合、日志记录、事务处理、账户信息
|
||||||
@@ -2,11 +2,11 @@ using Volo.Abp.Application.Dtos;
|
|||||||
using Volo.Abp.Data;
|
using Volo.Abp.Data;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.MyType;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.MyType;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Ddd.Application;
|
using Yi.Framework.Ddd.Application;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Label服务实现
|
/// Label服务实现
|
||||||
@@ -3,12 +3,12 @@ using Volo.Abp.Application.Dtos;
|
|||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Plate;
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Plate;
|
||||||
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Ddd.Application;
|
using Yi.Framework.Ddd.Application;
|
||||||
using Yi.Framework.Rbac.Application.Contracts.Dtos.Config;
|
using Yi.Framework.Rbac.Application.Contracts.Dtos.Config;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Application.Services
|
namespace Yi.Framework.Bbs.Application.Services.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Plate服务实现
|
/// Plate服务实现
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Volo.Abp.Application.Services;
|
||||||
|
using Yi.Framework.Bbs.Domain.Managers;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Application.Services.Integral
|
||||||
|
{
|
||||||
|
public class IntegralService:ApplicationService
|
||||||
|
{
|
||||||
|
private IntegralManager _integralManager;
|
||||||
|
public IntegralService(IntegralManager integralManager)
|
||||||
|
{
|
||||||
|
_integralManager= integralManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SqlSugar;
|
||||||
|
using Volo.Abp.Application.Dtos;
|
||||||
|
using Volo.Abp.Domain.Repositories;
|
||||||
|
using Yi.Framework.Bbs.Application.Contracts.Dtos.Level;
|
||||||
|
using Yi.Framework.Bbs.Application.Contracts.IServices;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities.Integral;
|
||||||
|
using Yi.Framework.Ddd.Application;
|
||||||
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Application.Services.Integral
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 等级服务
|
||||||
|
/// </summary>
|
||||||
|
public class LevelService : YiCrudAppService<LevelEntity, LevelOutputDto, Guid, LevelGetListInputDto>, ILevelService
|
||||||
|
{
|
||||||
|
private ISqlSugarRepository<LevelEntity, Guid> _repository;
|
||||||
|
public LevelService(ISqlSugarRepository<LevelEntity, Guid> repository) : base(repository)
|
||||||
|
{
|
||||||
|
_repository= repository;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查询等级配置
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override async Task<PagedResultDto<LevelOutputDto>> GetListAsync(LevelGetListInputDto input)
|
||||||
|
{
|
||||||
|
RefAsync<int> total = 0;
|
||||||
|
|
||||||
|
var entities = await _repository._DbQueryable
|
||||||
|
.WhereIF(!string.IsNullOrEmpty(input.Name), x => x.Name.Contains(input.Name!))
|
||||||
|
.WhereIF(input.MinLevel is not null , x => x.CurrentLevel>=input.MinLevel)
|
||||||
|
.OrderBy(x => x.CurrentLevel)
|
||||||
|
.ToPageListAsync(input.SkipCount, input.MaxResultCount, total);
|
||||||
|
return new PagedResultDto<LevelOutputDto>(total, await MapToGetListOutputDtosAsync(entities));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.Shared.Etos
|
||||||
|
{
|
||||||
|
public class ExperienceChangeEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户id
|
||||||
|
/// </summary>
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 变化经验,可负
|
||||||
|
/// </summary>
|
||||||
|
public decimal Number { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.Shared.Etos
|
||||||
|
{
|
||||||
|
public class MoneyChangeEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户id
|
||||||
|
/// </summary>
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 变化金额,可负
|
||||||
|
/// </summary>
|
||||||
|
public decimal Number { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,15 +27,27 @@ namespace Yi.Framework.Bbs.Domain.Entities
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid UserId { get; set; }
|
public Guid UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用户限制
|
||||||
|
/// </summary>
|
||||||
|
public UserLimitEnum UserLimit { get; set; } = UserLimitEnum.Normal;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户等级
|
/// 用户等级
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int Level { get; set; } = 1;
|
public int Level { get; set; } = 1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 用户限制
|
/// 钱钱
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public UserLimitEnum UserLimit { get; set; } = UserLimitEnum.Normal;
|
public decimal Money { get; set; } = 0m;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 经验
|
||||||
|
/// </summary>
|
||||||
|
public long Experience { get; set; } = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
using Volo.Abp.Auditing;
|
using Volo.Abp.Auditing;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("Agree")]
|
[SugarTable("Agree")]
|
||||||
public class AgreeEntity : Entity<Guid>, ICreationAuditedObject
|
public class AgreeEntity : Entity<Guid>, ICreationAuditedObject
|
||||||
@@ -3,7 +3,7 @@ using Volo.Abp;
|
|||||||
using Volo.Abp.Auditing;
|
using Volo.Abp.Auditing;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("Article")]
|
[SugarTable("Article")]
|
||||||
public class ArticleEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
public class ArticleEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
||||||
@@ -3,7 +3,7 @@ using Volo.Abp;
|
|||||||
using Volo.Abp.Auditing;
|
using Volo.Abp.Auditing;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("Banner")]
|
[SugarTable("Banner")]
|
||||||
public class BannerEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
public class BannerEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
||||||
@@ -4,7 +4,7 @@ using Volo.Abp.Auditing;
|
|||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -4,7 +4,7 @@ using Volo.Abp.Auditing;
|
|||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("Discuss")]
|
[SugarTable("Discuss")]
|
||||||
public class DiscussEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
public class DiscussEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("DiscussMyType")]
|
[SugarTable("DiscussMyType")]
|
||||||
public class DiscussMyTypeEntity : Entity<Guid>
|
public class DiscussMyTypeEntity : Entity<Guid>
|
||||||
@@ -7,7 +7,7 @@ using SqlSugar;
|
|||||||
using Volo.Abp.Auditing;
|
using Volo.Abp.Auditing;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 首页置顶主题
|
/// 首页置顶主题
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using Volo.Abp;
|
using Volo.Abp;
|
||||||
using Volo.Abp.Domain.Entities;
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("MyType")]
|
[SugarTable("MyType")]
|
||||||
public class MyTypeEntity : Entity<Guid>, ISoftDelete
|
public class MyTypeEntity : Entity<Guid>, ISoftDelete
|
||||||
@@ -3,7 +3,7 @@ using Volo.Abp.Domain.Entities;
|
|||||||
using Volo.Abp;
|
using Volo.Abp;
|
||||||
using Volo.Abp.Auditing;
|
using Volo.Abp.Auditing;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Entities
|
namespace Yi.Framework.Bbs.Domain.Entities.Forum
|
||||||
{
|
{
|
||||||
[SugarTable("Plate")]
|
[SugarTable("Plate")]
|
||||||
public class PlateEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
public class PlateEntity : Entity<Guid>, ISoftDelete, IAuditedObject
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
using SqlSugar;
|
||||||
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.Entities.Integral
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 等级表
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("Level")]
|
||||||
|
public class LevelEntity : Entity<Guid>
|
||||||
|
{
|
||||||
|
public LevelEntity() { }
|
||||||
|
|
||||||
|
public LevelEntity(int currentLevel, string name, decimal minExperience)
|
||||||
|
{
|
||||||
|
this.CurrentLevel = currentLevel;
|
||||||
|
this.Name = name;
|
||||||
|
this.MinExperience = minExperience;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true)]
|
||||||
|
public override Guid Id { get; protected set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前等级
|
||||||
|
/// </summary>
|
||||||
|
public int CurrentLevel { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最小所需经验值
|
||||||
|
/// </summary>
|
||||||
|
public decimal MinExperience { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等级名称
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等级称号
|
||||||
|
/// </summary>
|
||||||
|
public string? Nick { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 等候logo
|
||||||
|
/// </summary>
|
||||||
|
public string? Logo { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using SqlSugar;
|
||||||
|
using Volo.Abp.Auditing;
|
||||||
|
using Volo.Abp.Domain.Entities;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.Entities.Integral
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 签到表
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("SignIn")]
|
||||||
|
public class SignInEntity : Entity<Guid>, ICreationAuditedObject
|
||||||
|
{
|
||||||
|
|
||||||
|
[SugarColumn(IsPrimaryKey = true)]
|
||||||
|
public override Guid Id { get; protected set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 签到时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreationTime { get; set; }
|
||||||
|
|
||||||
|
//签到用户
|
||||||
|
public Guid? CreatorId { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Model;
|
using Yi.Framework.Bbs.Domain.Shared.Model;
|
||||||
using Yi.Framework.Core.Data;
|
using Yi.Framework.Core.Data;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Model;
|
using Yi.Framework.Bbs.Domain.Shared.Model;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Managers.ArticleImport
|
namespace Yi.Framework.Bbs.Domain.Managers.ArticleImport
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Model;
|
using Yi.Framework.Bbs.Domain.Shared.Model;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Managers.ArticleImport
|
namespace Yi.Framework.Bbs.Domain.Managers.ArticleImport
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Volo.Abp.Domain.Services;
|
using Volo.Abp.Domain.Services;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Managers.ArticleImport;
|
using Yi.Framework.Bbs.Domain.Managers.ArticleImport;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
using Yi.Framework.Bbs.Domain.Shared.Enums;
|
||||||
using Yi.Framework.Bbs.Domain.Shared.Model;
|
using Yi.Framework.Bbs.Domain.Shared.Model;
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
using Volo.Abp.Domain.Services;
|
||||||
|
using Volo.Abp.EventBus.Local;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities.Integral;
|
||||||
|
using Yi.Framework.Bbs.Domain.Shared.Etos;
|
||||||
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.Domain.Managers
|
||||||
|
{
|
||||||
|
public class IntegralManager : DomainService
|
||||||
|
{
|
||||||
|
private ISqlSugarRepository<LevelEntity> _levelRepository;
|
||||||
|
private ISqlSugarRepository<SignInEntity> _signInRepository;
|
||||||
|
private readonly ILocalEventBus _localEventBus;
|
||||||
|
public IntegralManager(ISqlSugarRepository<LevelEntity> levelRepository, ISqlSugarRepository<SignInEntity> signInRepository, ILocalEventBus localEventBus)
|
||||||
|
{
|
||||||
|
_levelRepository = levelRepository;
|
||||||
|
_localEventBus = localEventBus;
|
||||||
|
_signInRepository = signInRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 签到
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task PostSignInAsync(Guid userId)
|
||||||
|
{
|
||||||
|
//签到,添加用户钱钱
|
||||||
|
//发送一个充值的领域事件即可
|
||||||
|
|
||||||
|
|
||||||
|
//签到添加的钱钱,跟连续签到有关系
|
||||||
|
//每天随机(3-10),连续签到每次累加多1点,最多一天30
|
||||||
|
|
||||||
|
//额外
|
||||||
|
//如果随机数数字都相同,额外再获取乘10倍
|
||||||
|
|
||||||
|
//这种逻辑,就是属于核心领域业务了
|
||||||
|
decimal number = 3;
|
||||||
|
|
||||||
|
|
||||||
|
//发布一个其他领域的事件
|
||||||
|
await _localEventBus.PublishAsync(new MoneyChangeEventArgs() { UserId = userId, Number = number });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Bbs.Domain.Repositories
|
namespace Yi.Framework.Bbs.Domain.Repositories
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
using Volo.Abp.Data;
|
using Volo.Abp.Data;
|
||||||
using Volo.Abp.DependencyInjection;
|
using Volo.Abp.DependencyInjection;
|
||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
using Volo.Abp.Data;
|
||||||
|
using Volo.Abp.DependencyInjection;
|
||||||
|
using Yi.Framework.Bbs.Domain.Entities.Integral;
|
||||||
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
|
namespace Yi.Framework.Bbs.SqlSugarCore.DataSeeds
|
||||||
|
{
|
||||||
|
public class LevelDataSeed : IDataSeedContributor, ITransientDependency
|
||||||
|
{
|
||||||
|
private ISqlSugarRepository<LevelEntity> _repository;
|
||||||
|
public LevelDataSeed(ISqlSugarRepository<LevelEntity> repository)
|
||||||
|
{
|
||||||
|
_repository = repository;
|
||||||
|
}
|
||||||
|
public async Task SeedAsync(DataSeedContext context)
|
||||||
|
{
|
||||||
|
if (!await _repository.IsAnyAsync(x => true))
|
||||||
|
{
|
||||||
|
await _repository.InsertManyAsync(GetSeedData());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public List<LevelEntity> GetSeedData()
|
||||||
|
{
|
||||||
|
List<LevelEntity> entities = new List<LevelEntity>()
|
||||||
|
{
|
||||||
|
new LevelEntity(1,"小白",10),
|
||||||
|
new LevelEntity(2,"中白",30),
|
||||||
|
new LevelEntity(3,"大白",100),
|
||||||
|
new LevelEntity(4,"精英",300),
|
||||||
|
new LevelEntity(5,"熟练",600),
|
||||||
|
new LevelEntity(6,"高手",1000),
|
||||||
|
new LevelEntity(7,"老手",1500),
|
||||||
|
new LevelEntity(8,"大佬",2000),
|
||||||
|
new LevelEntity(9,"巨佬",2500),
|
||||||
|
new LevelEntity(10,"大神",3000),
|
||||||
|
};
|
||||||
|
|
||||||
|
return entities;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using Volo.Abp.DependencyInjection;
|
using Volo.Abp.DependencyInjection;
|
||||||
using Yi.Framework.Bbs.Domain.Entities;
|
using Yi.Framework.Bbs.Domain.Entities.Forum;
|
||||||
using Yi.Framework.Bbs.Domain.Repositories;
|
using Yi.Framework.Bbs.Domain.Repositories;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
using Yi.Framework.SqlSugarCore.Repositories;
|
using Yi.Framework.SqlSugarCore.Repositories;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Volo.Abp.Application.Dtos;
|
using Volo.Abp.Application.Dtos;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.FileManger
|
namespace Yi.Framework.Rbac.Application.Contracts.Dtos.FileManager
|
||||||
{
|
{
|
||||||
public class FileGetListOutputDto : EntityDto<Guid>
|
public class FileGetListOutputDto : EntityDto<Guid>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Volo.Abp.Application.Services;
|
using Volo.Abp.Application.Services;
|
||||||
using Yi.Framework.Rbac.Application.FileManger;
|
using Yi.Framework.Rbac.Application.Contracts.Dtos.FileManager;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.Contracts.IServices
|
namespace Yi.Framework.Rbac.Application.Contracts.IServices
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ using Volo.Abp.Domain.Repositories;
|
|||||||
using Volo.Abp.Guids;
|
using Volo.Abp.Guids;
|
||||||
using Yi.Framework.Core.Enums;
|
using Yi.Framework.Core.Enums;
|
||||||
using Yi.Framework.Core.Helper;
|
using Yi.Framework.Core.Helper;
|
||||||
|
using Yi.Framework.Rbac.Application.Contracts.Dtos.FileManager;
|
||||||
using Yi.Framework.Rbac.Application.Contracts.IServices;
|
using Yi.Framework.Rbac.Application.Contracts.IServices;
|
||||||
using Yi.Framework.Rbac.Application.FileManger;
|
|
||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.Services
|
namespace Yi.Framework.Rbac.Application.Services
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using Volo.Abp.Uow;
|
|||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.Jobs
|
namespace Acme.BookStore.Application.Jobs
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 定时任务
|
/// 定时任务
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using Volo.Abp.Uow;
|
|||||||
using Yi.Framework.Rbac.Domain.Entities;
|
using Yi.Framework.Rbac.Domain.Entities;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
|
||||||
namespace Yi.Framework.Rbac.Application.Jobs
|
namespace Yi.Abp.Application.Jobs
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 定时任务
|
/// 定时任务
|
||||||
|
|||||||
Reference in New Issue
Block a user