using IStation.Untity;
|
using Mapster;
|
using System;
|
using System.Text;
|
|
namespace IStation.Application
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class Mapper : IRegister
|
{
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="config"></param>
|
public void Register(TypeAdapterConfig config)
|
{
|
#region 恩普特
|
|
config.ForType<AddSmiExpertVibrationRecordInput, Model.SmiExpertVibrationRecord>()
|
.Map(dest => dest.DataTime, src => DateTime.Now)
|
.Map(dest => dest.SrcTime, src => src.DataTime)
|
.Map(dest => dest.DataStatus, src => src.Rpm > 0 ? new List<string> { MonitorRecord.Status_Run } : new List<string> { MonitorRecord.Status_Shut});
|
|
config.ForType<Model.SmiExpertVibrationRecord, Model.SmiExpertVibrationConfig>();
|
|
config.ForType<Model.SmiExpertVibrationRecord, SmiExpertVibrationRecordDto>()
|
.Map(dest=>dest.DataTime,src=>DateTime.SpecifyKind(src.DataTime, DateTimeKind.Unspecified).ToString("O"))
|
.Map(dest => dest.SendTime, src => DateTime.SpecifyKind(src.SrcTime, DateTimeKind.Unspecified).ToString("O"))
|
.Map(dest => dest.Id, src =>CreateDataId(src.ObjectId,src.DataTime));
|
|
#endregion
|
|
|
#region 航天
|
|
config.ForType<AddSmiHangTianVibartionRecordInput, Model.SmiHangTianVibrationRecord>()
|
.Map(dest => dest.DataTime, src => DateTime.Now)
|
.Map(dest => dest.SrcTime, src => src.DataTime)
|
.Map(dest => dest.DataStatus, src => src.Speed>0?new List<string> { MonitorRecord.Status_Run}:new List<string> { MonitorRecord.Status_Shut});
|
|
config.ForType<Model.SmiHangTianVibrationRecord, Model.SmiHangTianVibrationConfig>();
|
|
config.ForType<Model.SmiHangTianVibrationRecord, SmiHangTianVibrationRecordDto>();
|
|
#endregion
|
|
}
|
|
//创建数据Id
|
private static string CreateDataId(string objectId, DateTime dataTime)
|
{
|
StringBuilder sb = new StringBuilder();
|
sb.Append(objectId);
|
sb.Append(dataTime.ToString("yyyy-MM-dd HH:mm:ss"));
|
return Md5Cryption.Encrypt32(sb.ToString());
|
}
|
}
|
}
|