i18n:补充推送映射国际化内容

refactor: 轨迹明细弃用IsVisibility字段,新增IsExternal字段替代
轨迹内容上的是否对外作用:创建轨迹时如果是否对外字段留null,则以轨迹内容上的【是否对外】值做为默认值填充。IsExternal作用:在查询轨迹时判断如果是外部子系统,则过滤掉是否对外为false的轨迹
This commit is contained in:
hardstylewyl 2025-02-07 15:58:52 +08:00
parent 204c8fc7b5
commit 45bc0cf6df
21 changed files with 103 additions and 86 deletions

View File

@ -44,9 +44,15 @@ public class BatchUpsertTrackInput : OrderNosInfo
/// <summary> /// <summary>
/// 客户是否可见 /// 客户是否可见
/// </summary> /// </summary>
[Required] [Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; } public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外(可选的)
/// 如果未填则按照【轨迹内容】中的【是否可见】做为默认值
/// </summary>
public bool? IsExternal { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// 批量新增时使用指定轨迹来源,更新时无需指定 /// 批量新增时使用指定轨迹来源,更新时无需指定

View File

@ -72,6 +72,12 @@ public class TrackOrderDetailDto
/// </summary> /// </summary>
public float TrackTimeZoneValue { get; set; } public float TrackTimeZoneValue { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary> /// <summary>
/// 是否对外 /// 是否对外
/// </summary> /// </summary>
@ -87,11 +93,6 @@ public class TrackOrderDetailDto
/// </summary> /// </summary>
public string? CreateUser { get; set; } public string? CreateUser { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
public bool IsVisibility { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary> /// </summary>

View File

@ -36,13 +36,20 @@ public class TrackDetail
/// <summary> /// <summary>
/// 是否对外 /// 是否对外
/// </summary> /// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsDisplay { get; set; } public bool IsDisplay { get; set; }
/// <summary> /// <summary>
/// 客户是否可见 /// 客户是否可见
/// </summary> /// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; } public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary> /// </summary>

View File

@ -49,9 +49,15 @@ public class UpsertTrackInput : OrderNoInfo
/// <summary> /// <summary>
/// 客户是否可见 /// 客户是否可见
/// </summary> /// </summary>
[Required] [Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; } public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外(可选的)
/// 如果未填则按照【轨迹内容】中的【是否可见】做为默认值
/// </summary>
public bool? IsExternal { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary> /// </summary>

View File

@ -72,8 +72,14 @@ public class TrackChangeEto
/// <summary> /// <summary>
/// 客户是否可见 /// 客户是否可见
/// </summary> /// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; } public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary> /// </summary>

View File

@ -74,8 +74,14 @@ public class TrackUpsertEvent
/// <summary> /// <summary>
/// 客户是否可见 /// 客户是否可见
/// </summary> /// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; } public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool? IsExternal { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary> /// </summary>

View File

@ -10,17 +10,10 @@ public interface IBroadcastingService : ITransientDependency
/// 轨迹变更广播(新增/修改) /// 轨迹变更广播(新增/修改)
/// </summary> /// </summary>
/// <param name="eto"></param> /// <param name="eto"></param>
/// <param name="contentIsExternal"></param>
/// <param name="subSystemCode"></param> /// <param name="subSystemCode"></param>
/// <param name="trackStatusCode"></param> /// <param name="trackStatusCode"></param>
void TrackChangePublicTopic(TrackUpsertEvent eto, string subSystemCode, string trackStatusCode); void TrackChangePublicTopic(TrackUpsertEvent eto,bool contentIsExternal, string subSystemCode, string trackStatusCode);
/// <summary>
/// 轨迹变更广播(删除)
/// </summary>
/// <param name="eto"></param>
/// <param name="subSystemCode"></param>
/// <param name="trackStatusCode"></param>
void TrackChangePublicTopic(TrackDeleteEvent eto, OrderIdentifier[] orderIdentifiers, string trackCode, string trackStatusCode, string subSystemCode);
/// <summary> /// <summary>
/// 轨迹变更广播(删除) /// 轨迹变更广播(删除)

View File

@ -339,6 +339,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
Remarks = track.Remarks, Remarks = track.Remarks,
Source = track.Source, Source = track.Source,
IsVisibility = track.IsVisibility, IsVisibility = track.IsVisibility,
IsExternal = track.IsExternal,
TrackTimeZone = track.TrackTimeZone, TrackTimeZone = track.TrackTimeZone,
TrackTime = track.TrackTime, TrackTime = track.TrackTime,
TrackPlace = track.TrackPlace, TrackPlace = track.TrackPlace,

View File

@ -56,7 +56,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
// 处理广播事件 // 处理广播事件
if (content != null && (content.IsToMq || @event.IsToMq)) if (content != null && (content.IsToMq || @event.IsToMq))
_ = EnsureWriteAfterPublicTopicAsync(@event, content.SubSystemCode, content.TrackStatusCode); _ = EnsureWriteAfterPublicTopicAsync(@event, content.IsExternal, content.SubSystemCode, content.TrackStatusCode);
if (canNextOrderIds.Count == 0) return; if (canNextOrderIds.Count == 0) return;
// 根据订单关联关系异步向下刷(异步) // 根据订单关联关系异步向下刷(异步)
@ -363,6 +363,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
track.TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent; track.TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent;
//S06新增 //S06新增
track.IsVisibility = @event.IsVisibility; track.IsVisibility = @event.IsVisibility;
//当传入的IsExternal为空,则使用轨迹内容中的IsExternal
track.IsExternal = @event.IsExternal ?? trackContent.IsExternal;
track.Remarks = @event.Remarks ?? GlobalConst.EmptyString; track.Remarks = @event.Remarks ?? GlobalConst.EmptyString;
track.Files = @event.Files?.Select(x => new FileItem track.Files = @event.Files?.Select(x => new FileItem
{ {
@ -410,6 +412,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent, TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent,
//S06新增轨迹明细字段 //S06新增轨迹明细字段
IsVisibility = @event.IsVisibility, IsVisibility = @event.IsVisibility,
//当传入的IsExternal为空,则使用轨迹内容中的IsExternal
IsExternal = @event.IsExternal ?? trackContent.IsExternal,
Source = @event.Source, Source = @event.Source,
Remarks = @event.Remarks ?? GlobalConst.EmptyString, Remarks = @event.Remarks ?? GlobalConst.EmptyString,
Files = @event.Files?.Select(x => new FileItem Files = @event.Files?.Select(x => new FileItem
@ -450,7 +454,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
}; };
} }
private async Task EnsureWriteAfterPublicTopicAsync(TrackUpsertEvent @event, string subSystemCode, string statusCode) private async Task EnsureWriteAfterPublicTopicAsync(TrackUpsertEvent @event, bool contentIsExternal, string subSystemCode, string statusCode)
{ {
//理想情况在写入之后1s会刷盘 https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-refresh.html //理想情况在写入之后1s会刷盘 https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-refresh.html
//增加一个版本号来确定是否真的变更了 //增加一个版本号来确定是否真的变更了
@ -459,6 +463,6 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
//方案2:考虑强制刷盘(对es压力大)后发送 //方案2:考虑强制刷盘(对es压力大)后发送
//方案3:采用一个较大延时,不查询直接发 //方案3:采用一个较大延时,不查询直接发
await Task.Delay(1000); await Task.Delay(1000);
_broadcastingService.TrackChangePublicTopic(@event, subSystemCode, statusCode); _broadcastingService.TrackChangePublicTopic(@event, contentIsExternal, subSystemCode, statusCode);
} }
} }

View File

@ -10,6 +10,7 @@
"TrackFlagExist": "Duplicate code or flag in the current subsystem", "TrackFlagExist": "Duplicate code or flag in the current subsystem",
"IsExistTrackPullConfig": "Track Pull The template has been bound. Delete the track pull before deleting the template", "IsExistTrackPullConfig": "Track Pull The template has been bound. Delete the track pull before deleting the template",
"IsExistTrackStatus": "The trajectory content has been bound to the trajectory status. Delete the trajectory content before deleting the trajectory status", "IsExistTrackStatus": "The trajectory content has been bound to the trajectory status. Delete the trajectory content before deleting the trajectory status",
"IsExistTrackFlag": "The track content has been bound to the track mark. Delete the track content before deleting the track mark" "IsExistTrackFlag": "The track content has been bound to the track mark. Delete the track content before deleting the track mark",
"IsTrackPushConfigAny": "This subsystem already has the push mapping of this customer, and it cannot be added repeatedly"
} }
} }

View File

@ -10,6 +10,7 @@
"TrackFlagExist": "当前子系统下代码或标记重复", "TrackFlagExist": "当前子系统下代码或标记重复",
"IsExistTrackPullConfig": "轨迹拉取已绑定了该模版,请先删除轨迹拉取再删除该模版", "IsExistTrackPullConfig": "轨迹拉取已绑定了该模版,请先删除轨迹拉取再删除该模版",
"IsExistTrackStatus": "轨迹内容已经绑定了该轨迹状态,请先删除轨迹内容后再删除该轨迹状态", "IsExistTrackStatus": "轨迹内容已经绑定了该轨迹状态,请先删除轨迹内容后再删除该轨迹状态",
"IsExistTrackFlag": "轨迹内容已经绑定了该轨迹标记,请先删除轨迹内容后再删除该轨迹标记" "IsExistTrackFlag": "轨迹内容已经绑定了该轨迹标记,请先删除轨迹内容后再删除该轨迹标记",
"IsTrackPushConfigAny": "这个子系统已经存在这个客户的推送映射,无法重复添加"
} }
} }

View File

@ -261,6 +261,8 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
IsAdd = true, IsAdd = true,
//S06新增 //S06新增
IsVisibility = false, IsVisibility = false,
//服务商轨迹默认不对外
IsExternal = false,
Source = (int) TrackSourceEnum.ExternalServiceProvide, Source = (int) TrackSourceEnum.ExternalServiceProvide,
Remarks = null, Remarks = null,
Files = null, Files = null,
@ -308,6 +310,8 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
TrackEnContent = GlobalConst.EmptyString, TrackEnContent = GlobalConst.EmptyString,
//S06新增轨迹明细字段 //S06新增轨迹明细字段
IsVisibility = false, IsVisibility = false,
//服务商轨迹默认不对外
IsExternal = false,
Source = (int) TrackSourceEnum.ExternalServiceProvide, Source = (int) TrackSourceEnum.ExternalServiceProvide,
Remarks = null, Remarks = null,
Files = null, Files = null,

View File

@ -23,10 +23,11 @@ public class BroadcastingService : IBroadcastingService
/// 轨迹变更广播 /// 轨迹变更广播
/// </summary> /// </summary>
/// <param name="eto"></param> /// <param name="eto"></param>
/// <param name="contentIsExternal">轨迹内容中的是否对外</param>
/// <param name="subSystemCode">子系统代码</param> /// <param name="subSystemCode">子系统代码</param>
/// <param name="trackStatusCode">轨迹状态代码</param> /// <param name="trackStatusCode">轨迹状态代码</param>
/// <returns></returns> /// <returns></returns>
public void TrackChangePublicTopic(TrackUpsertEvent eto, string subSystemCode, string trackStatusCode) public void TrackChangePublicTopic(TrackUpsertEvent eto, bool contentIsExternal, string subSystemCode, string trackStatusCode)
{ {
var data = new TrackChangeEto var data = new TrackChangeEto
{ {
@ -42,6 +43,7 @@ public class BroadcastingService : IBroadcastingService
Remarks = eto.Remarks, Remarks = eto.Remarks,
Source = eto.Source, Source = eto.Source,
IsVisibility = eto.IsVisibility, IsVisibility = eto.IsVisibility,
IsExternal = eto.IsExternal ?? contentIsExternal,
TrackTimeZone = eto.TrackTimeZone, TrackTimeZone = eto.TrackTimeZone,
TrackTime = eto.TrackTime, TrackTime = eto.TrackTime,
TrackPlace = eto.TrackPlace, TrackPlace = eto.TrackPlace,
@ -66,22 +68,6 @@ public class BroadcastingService : IBroadcastingService
Encoding.UTF8.GetBytes(data.ToJson())); Encoding.UTF8.GetBytes(data.ToJson()));
} }
public void TrackChangePublicTopic(TrackDeleteEvent eto, OrderIdentifier[] orderIdentifiers, string trackCode, string trackStatusCode, string subSystemCode)
{
var data = new TrackChangeEto
{
OrderIdentifiers = orderIdentifiers,
TrackStatusCode = trackStatusCode,
TrackCode = trackCode,
OperationMan = eto.OperationMan,
SubSystemId = eto.SubSystemId,
Option = 2
};
_rabbitClientBus.Publish(GlobalConst.TrackChangeExchange, $"TrackChange.{subSystemCode}",
Encoding.UTF8.GetBytes(data.ToJson()));
}
public void TrackChangePublicTopic(TrackChangeEto eto, string subSystemCode) public void TrackChangePublicTopic(TrackChangeEto eto, string subSystemCode)
{ {
eto.Option = 2; eto.Option = 2;

View File

@ -35,25 +35,6 @@ public partial class TrackService
//内部子系统不过滤外部轨迹 //内部子系统不过滤外部轨迹
var isFilterExternal = await HasFilterExternalTrack(); var isFilterExternal = await HasFilterExternalTrack();
// 是否对外
var trackCodes = details.Select(x => x.TrackCode)
.WhereIf(isFilterExternal, x => x != GlobalConst.EmptyString)
.Distinct()
.ToList();
var trackContentDic = new Dictionary<string, bool>();
if (!trackCodes.IsNullOrEmpty())
{
var trackContents = await _trackContentRepository.GetListAsync(x =>
x.SubSystemId == input.SubSystemId && trackCodes.Contains(x.Code),
x => new
{
x.Code,
x.IsExternal
});
trackContents.ForEach(x => trackContentDic.Add(x.Code, x.IsExternal));
}
var ossKeys = details var ossKeys = details
.Where(x => x.Files != null && x.Files.Count > 0) .Where(x => x.Files != null && x.Files.Count > 0)
.SelectMany(x => x.Files!.Select(y => y.OssKey)) .SelectMany(x => x.Files!.Select(y => y.OssKey))
@ -65,7 +46,7 @@ public partial class TrackService
{ {
var item = new GetTrackOutput(); var item = new GetTrackOutput();
var trackDetails = group var trackDetails = group
.WhereIf(isFilterExternal, x => trackContentDic.TryGetValue(x.TrackCode, out var isExternal) && isExternal) .WhereIf(isFilterExternal, x => x.IsExternal)
.ToList(); .ToList();
if (trackDetails.Count == 0) if (trackDetails.Count == 0)
continue; continue;
@ -86,8 +67,9 @@ public partial class TrackService
TimeZone = Math.Abs(x.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1 TimeZone = Math.Abs(x.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1
? null ? null
: input.TimeZone ?? 8, : input.TimeZone ?? 8,
IsDisplay = trackContentDic.TryGetValue(x.TrackCode, out var isExternal) && isExternal, IsDisplay = x.IsExternal,
IsVisibility = x.IsVisibility, IsVisibility = x.IsVisibility,
IsExternal = x.IsExternal,
Source = x.Source, Source = x.Source,
Remarks = x.Remarks, Remarks = x.Remarks,
Files = x.Files?.Select(y => new FileItemDto Files = x.Files?.Select(y => new FileItemDto
@ -135,25 +117,6 @@ public partial class TrackService
//内部子系统不过滤外部轨迹 //内部子系统不过滤外部轨迹
var isFilterExternal = await HasFilterExternalTrack(); var isFilterExternal = await HasFilterExternalTrack();
// 是否对外
var trackCodes = details.Select(x => x.TrackCode)
.WhereIf(isFilterExternal, x => x != GlobalConst.EmptyString)
.Distinct()
.ToList();
var trackContentDic = new Dictionary<string, bool>();
if (!trackCodes.IsNullOrEmpty())
{
var trackContents = await _trackContentRepository.GetListAsync(x =>
x.SubSystemId == input.SubSystemId && trackCodes.Contains(x.Code),
x => new
{
x.Code,
x.IsExternal
});
trackContents.ForEach(x => trackContentDic.Add(x.Code, x.IsExternal));
}
var ossKeys = details var ossKeys = details
.Where(x => x.Files != null && x.Files.Count > 0) .Where(x => x.Files != null && x.Files.Count > 0)
.SelectMany(x => x.Files!.Select(y => y.OssKey)) .SelectMany(x => x.Files!.Select(y => y.OssKey))
@ -165,7 +128,7 @@ public partial class TrackService
{ {
var item = new GetTrackOutput(); var item = new GetTrackOutput();
var trackDetails = group var trackDetails = group
.WhereIf(isFilterExternal, x => trackContentDic.TryGetValue(x.TrackCode, out var isExternal) && isExternal) .WhereIf(isFilterExternal, x => x.IsExternal)
.ToList(); .ToList();
if (trackDetails.Count == 0) if (trackDetails.Count == 0)
continue; continue;
@ -182,8 +145,9 @@ public partial class TrackService
Location = x.TrackPlace, Location = x.TrackPlace,
Time = x.TrackTime, Time = x.TrackTime,
TimeZone = x.TrackTimeZone, TimeZone = x.TrackTimeZone,
IsDisplay = trackContentDic.TryGetValue(x.TrackCode, out var isExternal) && isExternal, IsDisplay = x.IsExternal,
IsVisibility = x.IsVisibility, IsVisibility = x.IsVisibility,
IsExternal = x.IsExternal,
Source = x.Source, Source = x.Source,
Remarks = x.Remarks, Remarks = x.Remarks,
Files = x.Files?.Select(y => new FileItemDto Files = x.Files?.Select(y => new FileItemDto

View File

@ -399,6 +399,7 @@ public partial class TrackService : ApplicationService, ITrackService
OperationMan = userInfo.Data.UserName, OperationMan = userInfo.Data.UserName,
OperationManId = userInfo.Data.UserId, OperationManId = userInfo.Data.UserId,
IsVisibility = input.IsVisibility, IsVisibility = input.IsVisibility,
IsExternal = input.IsExternal,
Source = input.Source, Source = input.Source,
Remarks = input.Remarks, Remarks = input.Remarks,
Files = input.Files, Files = input.Files,

View File

@ -217,7 +217,7 @@ public class TrackOrderService : ApplicationService
foreach (var item in trackDetails) foreach (var item in trackDetails)
{ {
//如果是外部系统,且轨迹内容不对外则跳过这条轨迹内容 //如果是外部系统,且轨迹内容不对外则跳过这条轨迹内容
if (system.SystemProperty == 2 && !item.IsVisibility) if (system.SystemProperty == 2 && !item.IsExternal)
continue; continue;
//时间和时区任意一个为空则使用创建时间做为排序参照值 //时间和时区任意一个为空则使用创建时间做为排序参照值

View File

@ -35,4 +35,6 @@ public interface ITrackDetailsEsRepository : IElasticsearchClientService<TrackDe
Task<List<TrackDetailsIndex>> GetDataByIds(string[] ids); Task<List<TrackDetailsIndex>> GetDataByIds(string[] ids);
Task<TrackDetailsIndex> GetDetailAsync(string orderNo, string trackCode, int orderType, int subSystemId, DateTime trackTime); Task<TrackDetailsIndex> GetDetailAsync(string orderNo, string trackCode, int orderType, int subSystemId, DateTime trackTime);
Task MigrateAsync();
} }

View File

@ -125,8 +125,14 @@ public class TrackDetailsIndex : IdBaseIndex
/// <summary> /// <summary>
/// 客户是否可见 /// 客户是否可见
/// </summary> /// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; } public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary> /// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建 /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary> /// </summary>

View File

@ -67,6 +67,11 @@ public class TrackContentVO
/// </summary> /// </summary>
public bool IsToMq { get; set; } public bool IsToMq { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary> /// <summary>
/// 轨迹内容code /// 轨迹内容code
/// </summary> /// </summary>

View File

@ -270,6 +270,7 @@ public class TrackContentRepository : BasicRepository<TrackContentEntity>, ITrac
IsAllowManuallyUpdate = x.IsAllowManuallyUpdate, IsAllowManuallyUpdate = x.IsAllowManuallyUpdate,
IsAllowManuallyCreate = x.IsAllowManuallyCreate, IsAllowManuallyCreate = x.IsAllowManuallyCreate,
IsToMq = y.IsToMq, IsToMq = y.IsToMq,
IsExternal = x.IsExternal
}).ToListAsync(); }).ToListAsync();
} }
} }

View File

@ -162,6 +162,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
track.TrackContent, track.TrackContent,
track.TrackEnContent, track.TrackEnContent,
track.IsVisibility, track.IsVisibility,
track.IsExternal,
track.Remarks, track.Remarks,
track.Files, track.Files,
track.TrackPlaceCity, track.TrackPlaceCity,
@ -173,7 +174,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
track.TrackPlacePostcode, track.TrackPlacePostcode,
track.DestinationTimeZone, track.DestinationTimeZone,
track.EstimatedDeliveryDate, track.EstimatedDeliveryDate,
track.Extra Extra = track.Extra
}) })
); );
@ -207,6 +208,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
ctx._source.trackContent = params.trackContent; ctx._source.trackContent = params.trackContent;
ctx._source.trackEnContent = params.trackEnContent; ctx._source.trackEnContent = params.trackEnContent;
ctx._source.isVisibility = params.isVisibility; ctx._source.isVisibility = params.isVisibility;
ctx._source.isExternal = params.isExternal;
ctx._source.remarks = params.remarks; ctx._source.remarks = params.remarks;
ctx._source.files = params.files; ctx._source.files = params.files;
ctx._source.trackPlaceCity = params.trackPlaceCity; ctx._source.trackPlaceCity = params.trackPlaceCity;
@ -230,6 +232,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
.Add("trackContent", track.TrackContent) .Add("trackContent", track.TrackContent)
.Add("trackEnContent", track.TrackEnContent) .Add("trackEnContent", track.TrackEnContent)
.Add("isVisibility", track.IsVisibility) .Add("isVisibility", track.IsVisibility)
.Add("isExternal", track.IsExternal)
.Add("remarks", track.Remarks) .Add("remarks", track.Remarks)
.Add("files", track.Files) .Add("files", track.Files)
.Add("trackPlaceCity", track.TrackPlaceCity) .Add("trackPlaceCity", track.TrackPlaceCity)
@ -284,6 +287,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
ctx._source.trackContent = params.trackContent; ctx._source.trackContent = params.trackContent;
ctx._source.trackEnContent = params.trackEnContent; ctx._source.trackEnContent = params.trackEnContent;
ctx._source.isVisibility = params.isVisibility; ctx._source.isVisibility = params.isVisibility;
ctx._source.isExternal = params.isExternal;
ctx._source.remarks = params.remarks; ctx._source.remarks = params.remarks;
ctx._source.files = params.files; ctx._source.files = params.files;
ctx._source.trackPlaceCity = params.trackPlaceCity; ctx._source.trackPlaceCity = params.trackPlaceCity;
@ -306,6 +310,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
.Add("trackContent", track.TrackContent) .Add("trackContent", track.TrackContent)
.Add("trackEnContent", track.TrackEnContent) .Add("trackEnContent", track.TrackEnContent)
.Add("isVisibility", track.IsVisibility) .Add("isVisibility", track.IsVisibility)
.Add("isExternal", track.IsExternal)
.Add("remarks", track.Remarks) .Add("remarks", track.Remarks)
.Add("files", track.Files) .Add("files", track.Files)
.Add("trackPlaceCity", track.TrackPlaceCity) .Add("trackPlaceCity", track.TrackPlaceCity)
@ -590,4 +595,15 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
return res.Documents.FirstOrDefault(); return res.Documents.FirstOrDefault();
} }
public async Task MigrateAsync()
{
await Context.MapAsync<TrackDetailsIndex>(m => m
.AutoMap());
//字段迁移,isVisibility => isExternal
await Context.UpdateByQueryAsync<TrackDetailsIndex>(u => u
.Query(q => q.MatchAll())
.Script(s=>s.Source("ctx._source.isExternal = ctx._source.isVisibility"))
);
}
} }