feat: 扩展领域模型与配置

This commit is contained in:
贺爱泽
2025-12-01 13:26:05 +08:00
parent a08804658b
commit 5ddad07658
148 changed files with 8519 additions and 2 deletions

View File

@@ -0,0 +1,39 @@
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Navigation.Entities;
/// <summary>
/// 地图 POI 信息,用于门店定位和推荐。
/// </summary>
public sealed class MapLocation : MultiTenantEntityBase
{
/// <summary>
/// 关联门店 ID可空表示独立 POI。
/// </summary>
public Guid? StoreId { get; set; }
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 地址。
/// </summary>
public string Address { get; set; } = string.Empty;
/// <summary>
/// 经度。
/// </summary>
public double Longitude { get; set; }
/// <summary>
/// 纬度。
/// </summary>
public double Latitude { get; set; }
/// <summary>
/// 打车/导航落点描述。
/// </summary>
public string? Landmark { get; set; }
}

View File

@@ -0,0 +1,35 @@
using TakeoutSaaS.Domain.Navigation.Enums;
using TakeoutSaaS.Shared.Abstractions.Entities;
namespace TakeoutSaaS.Domain.Navigation.Entities;
/// <summary>
/// 用户发起的导航请求日志。
/// </summary>
public sealed class NavigationRequest : MultiTenantEntityBase
{
/// <summary>
/// 用户 ID。
/// </summary>
public Guid UserId { get; set; }
/// <summary>
/// 门店 ID。
/// </summary>
public Guid StoreId { get; set; }
/// <summary>
/// 来源通道小程序、H5 等)。
/// </summary>
public NavigationChannel Channel { get; set; } = NavigationChannel.MiniProgram;
/// <summary>
/// 跳转的地图应用。
/// </summary>
public NavigationTargetApp TargetApp { get; set; } = NavigationTargetApp.WechatMap;
/// <summary>
/// 请求时间。
/// </summary>
public DateTime RequestedAt { get; set; } = DateTime.UtcNow;
}

View File

@@ -0,0 +1,22 @@
namespace TakeoutSaaS.Domain.Navigation.Enums;
/// <summary>
/// 导航请求来源渠道。
/// </summary>
public enum NavigationChannel
{
/// <summary>
/// 小程序。
/// </summary>
MiniProgram = 0,
/// <summary>
/// H5/公众号。
/// </summary>
Web = 1,
/// <summary>
/// App。
/// </summary>
MobileApp = 2
}

View File

@@ -0,0 +1,32 @@
namespace TakeoutSaaS.Domain.Navigation.Enums;
/// <summary>
/// 导航目标应用。
/// </summary>
public enum NavigationTargetApp
{
/// <summary>
/// 微信地图。
/// </summary>
WechatMap = 0,
/// <summary>
/// 腾讯地图。
/// </summary>
Tencent = 1,
/// <summary>
/// 高德。
/// </summary>
Amap = 2,
/// <summary>
/// 百度地图。
/// </summary>
Baidu = 3,
/// <summary>
/// Apple Map。
/// </summary>
Apple = 4
}