解决用户

This commit is contained in:
xiaolipro 2025-08-11 18:19:40 +08:00
parent 310988d583
commit 9870fb0ae7
37 changed files with 454 additions and 94 deletions

View File

@ -1,5 +0,0 @@
{
"sdk": {
"version": "8.0.303"
}
}

View File

@ -19,7 +19,7 @@
<ItemGroup>
<ProjectReference Include="..\TrackCenter.Application\TrackCenter.Application.csproj" />
<ProjectReference Include="..\TrackCenter.Repository\TrackCenter.Repository.csproj" />
<PackageReference Include="Fake.Autofac" Version="8.0.0-preview12" />
<PackageReference Include="Fake.Autofac" Version="8.0.0-preview17" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.Elasticsearch" Version="10.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />

View File

@ -7,6 +7,7 @@ using FluentValidation.AspNetCore;
using Hangfire;
using TrackCenter.Application;
using TrackCenter.Application.Hangfire;
using TrackCenter.Domain.Extensions;
using TrackCenter.Repository;
namespace TrackCenter.Api;
@ -28,6 +29,7 @@ public class TrackCenterApiModule : FakeModule
options.ScanApplicationServices<TrackCenterApplicationModule>();
});
services.AddMvc().AddNewtonsoftJson();
services.AddFakeExceptionFilter()
.AddFakeValidationActionFilter()
@ -67,12 +69,17 @@ public class TrackCenterApiModule : FakeModule
{
DisplayStorageConnectionString = false,
IgnoreAntiforgeryToken = true,
AppPath = configuration["Swagger:JsonUrlPrefix"]! + "/",
PrefixPath = System.Diagnostics.Debugger.IsAttached
? ""
: configuration["Swagger:JsonUrlPrefix"]!,
AppPath = "",
PrefixPath = "",
DashboardTitle = "轨迹预警任务",
Authorization = [new AnonymousHangfireAuthorizationFilter()]
});
LogHelper.Info("Application started", true);
}
public override void Shutdown(ApplicationShutdownContext context)
{
LogHelper.Info("Application stoped", true);
}
}

View File

@ -1,6 +1,5 @@
using DotNetCore.CAP;
using InterfaceForward.Domain.Shared.Helpers;
using Microsoft.Extensions.Logging;
using TrackCenter.Application.Events;
using TrackCenter.Application.Kafka;
using TrackCenter.Application.Queries;

View File

@ -8,11 +8,6 @@ public class UpsertOrderInput : UpdateOrderInput
/// 客户
/// </summary>
public string Customer { get; set; }
/// <summary>
/// 当前操作人
/// </summary>
public int OptionUserId { get; set; }
}
public class BatchUpsertOrderInput

View File

@ -132,11 +132,6 @@ public class UpsertTrackInput : OrderNoInfo
[Range(-12, 12)]
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 当前操作人
/// </summary>
public int OptionUserId { get; set; }
/// <summary>
/// 重复的情况下,用什么比较
/// </summary>

View File

@ -47,7 +47,7 @@ public class TrackDeleteEvent
/// <summary>
/// 操作人id
/// </summary>
public Guid OperationManId { get; set; }
public int OperationManId { get; set; }
/// <summary>
/// 已经处理过的订单

View File

@ -32,7 +32,7 @@ public class TrackUpsertEvent
/// <summary>
/// 操作人id
/// </summary>
public Guid OperationManId { get; set; }
public int OperationManId { get; set; }
/// <summary>
/// true新增,false更新

View File

@ -1,5 +1,8 @@
using System.Security.Claims;
namespace TrackCenter.Application.Services;
public class ApplicationServiceBase: ApplicationService
public class ApplicationServiceBase : ApplicationService
{
public int CurrentUserId => CurrentUser.GetId<int>();
}

View File

@ -74,7 +74,7 @@ public partial class OrderService
x.Id,
x.OrderNo,
x.OrderType,
AppKey = x.AppKey,
x.AppKey,
x.Customer
});

View File

@ -64,7 +64,7 @@ public partial class OrderService : ApplicationServiceBase
OrderNo = input.OrderNo,
OptionType = OrderOperationType.修改订单.ToString(),
Content = input.ToJson(),
CreateUserId = CurrentUser.Id ?? Guid.Empty,
CreateUserId = CurrentUserId,
CreateUserName = CurrentUser.UserName ?? string.Empty,
};
@ -90,7 +90,7 @@ public partial class OrderService : ApplicationServiceBase
OrderNo = input.OrderNo,
OptionType = nameof(OrderOperationType.创建订单),
Content = input.ToJson(),
CreateUserId = CurrentUser.Id ?? Guid.Empty,
CreateUserId = CurrentUserId,
CreateUserName = CurrentUser.UserName ?? string.Empty,
CreateTime = DateTime.Now
};
@ -142,7 +142,7 @@ public partial class OrderService : ApplicationServiceBase
OrderNo = order.OrderNo,
OptionType = nameof(OrderOperationType.修改订单),
Content = input2.ToJson(),
CreateUserId = CurrentUser.Id ?? Guid.Empty,
CreateUserId = CurrentUserId,
CreateUserName = CurrentUser.UserName ?? string.Empty,
CreateTime = DateTime.Now
});
@ -176,7 +176,7 @@ public partial class OrderService : ApplicationServiceBase
OrderNo = order.OrderNo,
OptionType = OrderOperationType.创建订单.ToString(),
Content = insertInput.ToJson(),
CreateUserId = CurrentUser.Id ?? Guid.Empty,
CreateUserId = CurrentUserId,
CreateUserName = CurrentUser.UserName ?? string.Empty,
CreateTime = DateTime.Now
});

View File

@ -139,7 +139,7 @@ public partial class TrackService : ApplicationServiceBase
AppKey = tracks.First().AppKey,
Source = input.Source,
OperationMan = CurrentUser.UserName,
OperationManId = CurrentUser.Id ?? Guid.Empty,
OperationManId = CurrentUserId,
};
await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event);
}
@ -341,7 +341,7 @@ public partial class TrackService : ApplicationServiceBase
NewTrackTime = input.NewTrackTime,
TrackTimeZone = input.TrackTimeZone ?? GlobalConst.NoneTrackTimeZone, //时区为空使用一个特殊值填充
OperationMan = CurrentUser.UserName,
OperationManId = CurrentUser.Id ?? Guid.Empty,
OperationManId = CurrentUserId,
IsExternal = input.IsExternal,
Source = input.Source,
Remarks = input.Remarks,

View File

@ -8,9 +8,9 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Fake.AspNetCore" Version="8.0.0-preview12" />
<PackageReference Include="Fake.EventBus.RabbitMQ" Version="8.0.0-preview12" />
<PackageReference Include="Fake.ObjectMapping.AutoMapper" Version="8.0.0-preview12" />
<PackageReference Include="Fake.AspNetCore" Version="8.0.0-preview17" />
<PackageReference Include="Fake.EventBus.RabbitMQ" Version="8.0.0-preview17" />
<PackageReference Include="Fake.ObjectMapping.AutoMapper" Version="8.0.0-preview17" />
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.14.1" />
<PackageReference Include="Confluent.Kafka" Version="2.10.0" />

View File

@ -59,9 +59,7 @@ public class TrackCenterApplicationModule : FakeModule
options.UseDashboard(dashboardOptions =>
{
dashboardOptions.PathBase = System.Diagnostics.Debugger.IsAttached
? ""
: configuration["Swagger:JsonUrlPrefix"]!;
dashboardOptions.PathBase = "";
});
options.FailedThresholdCallback = faileCalback =>
{

View File

@ -4,7 +4,7 @@ using Fake.Domain.Entities.Auditing;
namespace TrackCenter.Domain.Aggregates.KPIAreaAggregate;
[SugarTable("t_area", TableDescription = "KPI分区主表")]
public class RuleAreaEntity : AggregateRoot<int>, IHasCreateUserId, IHasCreateTime, IHasUpdateUserId, IHasUpdateTime
public class RuleAreaEntity : AggregateRoot<int>, IHasCreateUserId<int>, IHasCreateTime, IHasUpdateUserId<int>, IHasUpdateTime
{
/// <summary>
/// 自增主键
@ -28,7 +28,7 @@ public class RuleAreaEntity : AggregateRoot<int>, IHasCreateUserId, IHasCreateTi
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "CreateUserId", ColumnDescription = "创建人")]
public Guid CreateUserId { get; set; }
public int CreateUserId { get; set; }
/// <summary>
/// 创建时间
@ -40,7 +40,7 @@ public class RuleAreaEntity : AggregateRoot<int>, IHasCreateUserId, IHasCreateTi
/// 更新人
/// </summary>
[SugarColumn(ColumnName = "UpdateUserId", ColumnDescription = "更新人")]
public Guid UpdateUserId { get; set; }
public int UpdateUserId { get; set; }
/// <summary>
/// 更新时间

View File

@ -4,7 +4,7 @@ using Fake.Domain.Entities.Auditing;
namespace TrackCenter.Domain.Aggregates.KPIAreaAggregate;
[SugarTable("t_area_details", TableDescription = "kpi 区域子表")]
public class RuleAreaInfoEntity : Entity<int>, IHasCreateUserId, IHasCreateTime, IHasUpdateUserId, IHasUpdateTime
public class RuleAreaInfoEntity : Entity<int>, IHasCreateUserId<int>, IHasCreateTime, IHasUpdateUserId<int>, IHasUpdateTime
{
/// <summary>
/// 自增主键
@ -58,7 +58,7 @@ public class RuleAreaInfoEntity : Entity<int>, IHasCreateUserId, IHasCreateTime,
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "CreateUserId", ColumnDescription = "创建人")]
public Guid CreateUserId { get; set; }
public int CreateUserId { get; set; }
/// <summary>
/// 创建时间
@ -70,7 +70,7 @@ public class RuleAreaInfoEntity : Entity<int>, IHasCreateUserId, IHasCreateTime,
/// 更新人
/// </summary>
[SugarColumn(ColumnName = "UpdateUserId", IsNullable = false, ColumnDescription = "更新人")]
public Guid UpdateUserId { get; set; }
public int UpdateUserId { get; set; }
/// <summary>
/// 更新时间

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.OrderAggregate;
/// 轨迹订单主表
/// </summary>
[SugarTable("t_order")]
public class OrderEntity : FullAuditedAggregateRoot<int>
public class OrderEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.OrderAggregate;
/// 订单航班表(1:N)
/// </summary>
[SugarTable("t_order_flight")]
public class OrderFlightEntity : CreateAuditedEntity<int>, ISoftDelete
public class OrderFlightEntity : CreateAuditedEntity<int, int>, ISoftDelete
{
/// <summary>
/// 自增主键
@ -33,18 +33,6 @@ public class OrderFlightEntity : CreateAuditedEntity<int>, ISoftDelete
[SugarColumn(ColumnName = "OrderId")]
public int OrderId { get; set; }
/// <summary>
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "CreateUserId")]
public override Guid CreateUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnName = "CreateTime")]
public override DateTime CreateTime { get; set; }
/// <summary>
/// 是否删除
/// </summary>

View File

@ -6,7 +6,7 @@ namespace TrackCenter.Domain.Aggregates.OrderAggregate;
/// 轨迹订单关联表(1:N)
/// </summary>
[SugarTable("t_order_link")]
public class OrderLinkEntity : CreateAuditedEntity<int>, ISoftDelete
public class OrderLinkEntity : CreateAuditedEntity<int, int>, ISoftDelete
{
/// <summary>
/// 自增主键
@ -26,18 +26,6 @@ public class OrderLinkEntity : CreateAuditedEntity<int>, ISoftDelete
[SugarColumn(ColumnName = "LinkOrderId")]
public int LinkOrderId { get; set; }
/// <summary>
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "CreateUserId")]
public int CreateUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnName = "CreateTime")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 是否删除
/// </summary>

View File

@ -38,7 +38,7 @@ public class OrderOperationRecordIndex : IdBaseIndex
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
public int CreateUserId { get; set; }
/// <summary>
/// 创建人姓名

View File

@ -79,7 +79,7 @@ public class OrderPullStatusEntity : FullAuditedEntity<int>
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "CreateUserId")]
public Guid CreateUserId { get; set; }
public int CreateUserId { get; set; }
/// <summary>
/// 创建时间
@ -91,5 +91,5 @@ public class OrderPullStatusEntity : FullAuditedEntity<int>
public DateTime? UpdateTime { get; set; }
[SugarColumn(ColumnName = "UpdateUserId")]
public Guid UpdateUserId { get; set; }
public int UpdateUserId { get; set; }
}

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.TrackContentAggregate;
/// 轨迹内容
/// </summary>
[SugarTable("t_track_content")]
public class TrackContentEntity : FullAuditedAggregateRoot<int>
public class TrackContentEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.TrackFlagAggregate;
/// 轨迹标记表
/// </summary>
[SugarTable("t_track_flag")]
public class TrackFlagEntity : FullAuditedAggregateRoot<int>
public class TrackFlagEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.TrackNodeAggregate;
/// 轨迹节点主表
/// </summary>
[SugarTable("t_track_node", TableDescription = "轨迹节点主表")]
public class TrackNodeEntity : FullAuditedAggregateRoot<int>
public class TrackNodeEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -6,7 +6,7 @@ namespace TrackCenter.Domain.Aggregates.TrackPullAggregate;
/// 轨迹拉取配置表
/// </summary>
[SugarTable("t_track_pull_config")]
public class TrackPullConfigEntity : FullAuditedAggregateRoot<int>
public class TrackPullConfigEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.TrackPushAggregate;
/// 轨迹推送配置表
/// </summary>
[SugarTable("t_track_push_config")]
public class TrackPushConfigEntity : FullAuditedAggregateRoot<int>
public class TrackPushConfigEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -7,7 +7,7 @@ namespace TrackCenter.Domain.Aggregates.TrackStatusAggregate;
/// 轨迹状态表
/// </summary>
[SugarTable("t_track_status")]
public class TrackStatusEntity : FullAuditedAggregateRoot<int>
public class TrackStatusEntity : FullAuditedAggregateRoot<int, int>
{
/// <summary>
/// 自增主键

View File

@ -4,7 +4,7 @@ using TrackCenter.Domain.SeedWork;
namespace TrackCenter.Domain.Aggregates.WarningAggregate;
[SugarTable("t_warning_notify_task", TableDescription = "预警通知任务")]
public sealed class WarningNotifyTaskEntity : FullAuditedAggregateRoot<int>
public sealed class WarningNotifyTaskEntity : FullAuditedAggregateRoot<int, int>
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }

View File

@ -6,7 +6,7 @@ namespace TrackCenter.Domain.Aggregates.WarningAggregate;
// 预警规则主体
[SugarTable("t_warning", TableDescription = "预警规则主体")]
[SugarIndex("IDX_Customer_AppKey", nameof(Customer), OrderByType.Asc, nameof(AppKey), OrderByType.Asc)]
public sealed class WarningRuleEntity : FullAuditedAggregateRoot<int>
public sealed class WarningRuleEntity : FullAuditedAggregateRoot<int, int>
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }

View File

@ -9,11 +9,11 @@
<ItemGroup>
<PackageReference Include="NEST" Version="7.17.5" />
<PackageReference Include="Fake.SqlSugarCore" Version="8.0.0-preview12" />
<PackageReference Include="Fake.SqlSugarCore" Version="8.0.0-preview17" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Serilog" Version="4.2.3" />
<PackageReference Include="Fake.DomainDrivenDesign" Version="8.0.0-preview12" />
<PackageReference Include="Fake.DomainDrivenDesign" Version="8.0.0-preview17" />
</ItemGroup>
</Project>

View File

@ -6,7 +6,7 @@ namespace TrackCenter.Domain.VEntities;
/// 应用表
///</summary>
[SugarTable("v_app")]
public class VAppEntity : FullAuditedAggregateRoot<int>
public class VAppEntity : FullAuditedAggregateRoot<int, int>
{
///<summary>
/// 自增主键

View File

@ -0,0 +1,391 @@
namespace TrackCenter.Domain.VEntities;
public class VUserEntity
{
/// <summary>
/// Desc:Id
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// Desc:头像
/// Default:
/// Nullable:True
/// </summary>
public string? Avatar { get; set; }
/// <summary>
/// Desc:签名
/// Default:
/// Nullable:True
/// </summary>
public string? Signature { get; set; }
/// <summary>
/// Desc:账号
/// Default:
/// Nullable:False
/// </summary>
public string Account { get; set; } = null!;
/// <summary>
/// Desc:密码
/// Default:
/// Nullable:False
/// </summary>
public string Password { get; set; } = null!;
/// <summary>
/// Desc:姓名
/// Default:
/// Nullable:True
/// </summary>
public string? Name { get; set; }
/// <summary>
/// Desc:昵称
/// Default:
/// Nullable:True
/// </summary>
public string? Nickname { get; set; }
/// <summary>
/// Desc:性别
/// Default:
/// Nullable:True
/// </summary>
public string? Gender { get; set; }
/// <summary>
/// Desc:出生日期
/// Default:
/// Nullable:True
/// </summary>
public string? Birthday { get; set; }
/// <summary>
/// Desc:民族
/// Default:
/// Nullable:True
/// </summary>
public string? Nation { get; set; }
/// <summary>
/// Desc:籍贯
/// Default:
/// Nullable:True
/// </summary>
public string? NativePlace { get; set; }
/// <summary>
/// Desc:家庭住址
/// Default:
/// Nullable:True
/// </summary>
public string? HomeAddress { get; set; }
/// <summary>
/// Desc:通信地址
/// Default:
/// Nullable:True
/// </summary>
public string? MailingAddress { get; set; }
/// <summary>
/// Desc:证件类型
/// Default:
/// Nullable:True
/// </summary>
public string? IdCardType { get; set; }
/// <summary>
/// Desc:证件号码
/// Default:
/// Nullable:True
/// </summary>
public string? IdCardNumber { get; set; }
/// <summary>
/// Desc:文化程度
/// Default:
/// Nullable:True
/// </summary>
public string? CultureLevel { get; set; }
/// <summary>
/// Desc:政治面貌
/// Default:
/// Nullable:True
/// </summary>
public string? PoliticalOutlook { get; set; }
/// <summary>
/// Desc:毕业院校
/// Default:
/// Nullable:True
/// </summary>
public string? College { get; set; }
/// <summary>
/// Desc:学历
/// Default:
/// Nullable:True
/// </summary>
public string? Education { get; set; }
/// <summary>
/// Desc:学制
/// Default:
/// Nullable:True
/// </summary>
public string? EduLength { get; set; }
/// <summary>
/// Desc:学位
/// Default:
/// Nullable:True
/// </summary>
public string? Degree { get; set; }
/// <summary>
/// Desc:手机
/// Default:
/// Nullable:True
/// </summary>
public string? Phone { get; set; }
/// <summary>
/// Desc:邮箱
/// Default:
/// Nullable:True
/// </summary>
public string? Email { get; set; }
/// <summary>
/// Desc:家庭电话
/// Default:
/// Nullable:True
/// </summary>
public string? HomeTel { get; set; }
/// <summary>
/// Desc:办公电话
/// Default:
/// Nullable:True
/// </summary>
public string? OfficeTel { get; set; }
/// <summary>
/// Desc:紧急联系人
/// Default:
/// Nullable:True
/// </summary>
public string? EmergencyContact { get; set; }
/// <summary>
/// Desc:紧急联系人电话
/// Default:
/// Nullable:True
/// </summary>
public string? EmergencyPhone { get; set; }
/// <summary>
/// Desc:紧急联系人地址
/// Default:
/// Nullable:True
/// </summary>
public string? EmergencyAddress { get; set; }
/// <summary>
/// Desc:员工编号
/// Default:
/// Nullable:True
/// </summary>
public string? EmpNo { get; set; }
/// <summary>
/// Desc:入职日期
/// Default:
/// Nullable:True
/// </summary>
public string? EntryDate { get; set; }
/// <summary>
/// Desc:机构id
/// Default:
/// Nullable:False
/// </summary>
public long OrgId { get; set; }
/// <summary>
/// Desc:职位id
/// Default:
/// Nullable:False
/// </summary>
public long PositionId { get; set; }
/// <summary>
/// Desc:职级
/// Default:
/// Nullable:True
/// </summary>
public string? PositionLevel { get; set; }
/// <summary>
/// Desc:主管id
/// Default:
/// Nullable:True
/// </summary>
public long? DirectorId { get; set; }
/// <summary>
/// Desc:密码提醒修改时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? PwdRemindUpdateTime { get; set; }
/// <summary>
/// Desc:上次登录ip
/// Default:
/// Nullable:True
/// </summary>
public string? LastLoginIp { get; set; }
/// <summary>
/// Desc:上次登录地点
/// Default:
/// Nullable:True
/// </summary>
public string? LastLoginAddress { get; set; }
/// <summary>
/// Desc:上次登录时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? LastLoginTime { get; set; }
/// <summary>
/// Desc:上次登录设备
/// Default:
/// Nullable:True
/// </summary>
public string? LastLoginDevice { get; set; }
/// <summary>
/// Desc:最新登录ip
/// Default:
/// Nullable:True
/// </summary>
public string? LatestLoginIp { get; set; }
/// <summary>
/// Desc:最新登录地点
/// Default:
/// Nullable:True
/// </summary>
public string? LatestLoginAddress { get; set; }
/// <summary>
/// Desc:最新登录时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? LatestLoginTime { get; set; }
/// <summary>
/// Desc:最新登录设备
/// Default:
/// Nullable:True
/// </summary>
public string? LatestLoginDevice { get; set; }
/// <summary>
/// Desc:排序码
/// Default:
/// Nullable:True
/// </summary>
public int? SortCode { get; set; }
/// <summary>
/// Desc:默认模块
/// Default:
/// Nullable:True
/// </summary>
public long? DefaultModule { get; set; }
/// <summary>
/// Desc:状态
/// Default:ENABLE
/// Nullable:True
/// </summary>
public string? Status { get; set; }
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// Desc:更新时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// Desc:创建者Id
/// Default:
/// Nullable:True
/// </summary>
public long? CreateUserId { get; set; }
/// <summary>
/// Desc:修改者Id
/// Default:
/// Nullable:True
/// </summary>
public long? UpdateUserId { get; set; }
/// <summary>
/// Desc:创建人
/// Default:
/// Nullable:True
/// </summary>
public string? CreateUser { get; set; }
/// <summary>
/// Desc:更新人
/// Default:
/// Nullable:True
/// </summary>
public string? UpdateUser { get; set; }
/// <summary>
/// Desc:软删除
/// Default:true
/// Nullable:True
/// </summary>
public bool? IsDelete { get; set; }
/// <summary>
/// Desc:扩展信息
/// Default:
/// Nullable:True
/// </summary>
public string? ExtJson { get; set; }
/// <summary>
/// Desc:用户id(特意映射)
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsIdentity = true)]
public int UserId { get; set; }
}

View File

@ -63,15 +63,15 @@ public class KpiAreaRepository : BasicRepository<RuleAreaEntity>, IKpiAreaReposi
public async Task<PagedResult<RuleAreaInfoDto>> GetAreaInfos(QueryAreaInfoRequest query)
{
return await Context.Queryable<RuleAreaInfoEntity>()
.InnerJoin<VCountryEntity>((x, c) => x.CountryCode == c.Digit2Code)
//.InnerJoin<VCountryEntity>((x, c) => x.CountryCode == c.Digit2Code)
.Where(x => x.AreaId == query.AreaId)
.OrderBy(x => x.UpdateTime, OrderByType.Desc)
.Select<RuleAreaInfoDto>((x, c) => new RuleAreaInfoDto()
.Select<RuleAreaInfoDto>((x) => new RuleAreaInfoDto()
{
Id = x.Id,
AreaId = x.AreaId,
City = x.City,
CountryId = c.Id,
//CountryId = c.Id,
CountryCode = x.CountryCode,
CountryName = x.CountryName,
LeftPostcode = x.LeftPostcode,

View File

@ -49,8 +49,8 @@ public class TrackContentRepository : BasicRepository<TrackContentEntity>, ITrac
{
var pagedList = await Context.Queryable<TrackContentEntity>()
.LeftJoin<TrackStatusEntity>((a, b) => a.TrackStatusId == b.Id && b.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, e) => a.CreateUserId == e.Id && e.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, e, f) => a.UpdateUserId == f.Id && f.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, e) => a.CreateUserId == e.UserId && e.IsDelete == false)
.LeftJoin<VUserEntity>((a, b, e, f) => a.UpdateUserId == f.UserId && f.IsDelete == false)
.WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, b, e, f) => a.AppKey == input.AppKey)
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(),
(a, b, e, f) => a.Code.Contains(input.Keywords!) || a.Content.Contains(input.Keywords!)

View File

@ -39,8 +39,8 @@ public class TrackFlagRepository : BasicRepository<TrackFlagEntity>, ITrackFlagR
PagedResult<GetTrackFlagListVO> pagedList = new PagedResult<GetTrackFlagListVO>();
pagedList = await Context.Queryable<TrackFlagEntity>()
.LeftJoin<VAppEntity>((a, b) => a.AppKey == b.AppKey && b.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, c) => a.CreateUserId == c.Id && c.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, c, d) => a.UpdateUserId == d.Id && d.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, c) => a.CreateUserId == c.UserId && c.IsDelete == false)
.LeftJoin<VUserEntity>((a, b, c, d) => a.UpdateUserId == d.UserId && d.IsDelete == false)
.WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, b, c, d) => a.AppKey == input.AppKey)
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (a, b, c, d) => SqlFunc.Contains(a.Code, input.Keywords))
.OrderByIF(input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => a.CreateTime, OrderByType.Desc)

View File

@ -1,6 +1,7 @@
using TrackCenter.Domain.Aggregates.TrackNodeAggregate;
using TrackCenter.Domain.Aggregates.TrackStatusAggregate;
using TrackCenter.Domain.Dtos.TrackStatus;
using TrackCenter.Domain.VEntities;
namespace TrackCenter.Repository.Repositories;
@ -40,8 +41,8 @@ public class TrackStatusRepository : BasicRepository<TrackStatusEntity>, ITrackS
public async Task<PagedResult<GetTrackStatusListVO>> GetPageTrackStatus(GetPagedTrackStatusVO input)
{
var pagedList = await Context.Queryable<TrackStatusEntity>()
.LeftJoin<VUserEntity>((a, b) => a.CreateUserId == b.Id && b.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b, d) => a.UpdateUserId == d.Id && d.IsDeleted == false)
.LeftJoin<VUserEntity>((a, b) => a.CreateUserId == b.UserId && b.IsDelete == false)
.LeftJoin<VUserEntity>((a, b, d) => a.UpdateUserId == d.UserId && d.IsDelete == false)
.InnerJoin<TrackNodeEntity>((a, b, d, e) => a.Node == e.Id && a.AppKey == e.AppKey)
.WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, b, d) => a.AppKey == input.AppKey)
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(),

View File

@ -5,7 +5,7 @@ using TrackCenter.Domain.Aggregates.WarningAggregate.Transport;
namespace TrackCenter.Repository.Repositories;
public sealed class WarningTaskRepository : BasicRepository<WarningNotifyTaskEntity>, IWarningTaskRepository, ITransientDependency
public class WarningTaskRepository : BasicRepository<WarningNotifyTaskEntity>, IWarningTaskRepository, ITransientDependency
{
#region 预警通知任务