123
ningshuxia
2023-04-13 eb32b4263f6901bb7ac1915b400e4fe28db20ef0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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());
        }
    }
}