123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MSHO.Collection.Service.IO
- {
- public enum MessageTypeEnum
- {
- NONE = 0,
- Connect = 1,
- ConnectResp = 11,
- Heart = 2,
- HeartResp = 22,
- ReportData = 3,
- ReportDataResp = 33,
- ErrorData = 4,
- ErrorDataResp = 44,
- UploadFile = 5,
- UploadFileResp = 55,
- GetUploadFile = 6,
- GetUploadFileResp = 66,
- }
- public class Msg
- {
- public string ClientCode { get; set; }
- public MessageTypeEnum MessageType { get; set; }
- public string Content { get; set; }
- public static Msg ParseMsg(Message net_msg)
- {
- var content = net_msg.Content;
- if (!string.IsNullOrEmpty(content))
- {
- try
- {
- var msg = JsonSerializable.FromJson<Msg>(content);
- if (msg != null)
- {
- switch (msg.MessageType)
- {
- case MessageTypeEnum.Connect:
- msg = JsonSerializable.FromJson<ConnectMsg>(content);
- break;
- case MessageTypeEnum.ConnectResp:
- msg = JsonSerializable.FromJson<ConnectRespMsg>(content);
- break;
- case MessageTypeEnum.Heart:
- msg = JsonSerializable.FromJson<HeartMsg>(content);
- break;
- case MessageTypeEnum.ReportData:
- msg = JsonSerializable.FromJson<DataReportMsg>(content);
- break;
- case MessageTypeEnum.ErrorData:
- msg = JsonSerializable.FromJson<ErrorMsg>(content);
- break;
- case MessageTypeEnum.UploadFile:
- msg = JsonSerializable.FromJson<UploadFileMsg>(content);
- break;
- case MessageTypeEnum.GetUploadFile:
- msg = JsonSerializable.FromJson<GetUploadFileMsg>(content);
- break;
- }
- if (msg != null)
- {
- msg.Content = content;
- }
- return msg;
- }
- }
- catch(Exception ex) {
- #if DEBUG
- Console.WriteLine(ex.Message);
- Console.WriteLine(content);
- #endif
- }
- }
- return null;
- }
- }
- public class ConnectMsg : Msg
- {
- public ConnectMsg()
- {
- this.MessageType = MessageTypeEnum.Connect;
- }
- }
- public class ConnectRespMsg : Msg
- {
- public ConnectRespMsg()
- {
- this.MessageType = MessageTypeEnum.ConnectResp;
- }
- }
- public class HeartMsg : Msg
- {
- public HeartMsg()
- {
- this.MessageType = MessageTypeEnum.Heart;
- }
- public DateTime Time { get; set; }
- }
- public class HeartRespMsg : Msg
- {
- public HeartRespMsg()
- {
- this.MessageType = MessageTypeEnum.HeartResp;
- }
- public DateTime Time { get; set; }
- }
- public class DataReportMsg : Msg
- {
- public DataReportMsg()
- {
- this.MessageType = MessageTypeEnum.ReportData;
- }
- public string Result { get; set; }
- public string DataType { get; set; }
- }
- public class DataReportRespMsg : Msg
- {
- public DataReportRespMsg() {
- this.MessageType = MessageTypeEnum.ReportDataResp;
- }
- /// <summary>
- /// 客户端数据ID
- /// </summary>
- public string DataId { get; set; }
- public bool Result { get; set; }
- /// <summary>
- /// 文件
- /// </summary>
- public List<MSHO.Collection.DataAccess.Models.WeightingFile> WeightingFiles { get; set; }
- }
- /// <summary>
- /// 错误消息
- /// </summary>
- public class ErrorMsg : Msg
- {
- public ErrorMsg()
- {
- MessageType = MessageTypeEnum.ErrorData;
- }
- public string Model { get; set; }
- public string LogMessage { get; set; }
- public string LogDetails { get; set; }
- }
- public class ErrorMsgRespMsg : Msg
- {
- public ErrorMsgRespMsg()
- {
- MessageType = MessageTypeEnum.ErrorDataResp;
- }
- public bool Result { get; set; }
- }
- /// <summary>
- /// 上传文件消息
- /// </summary>
- public class UploadFileMsg : Msg
- {
- public UploadFileMsg()
- {
- MessageType = MessageTypeEnum.UploadFile;
- }
- public long ID { get; set; }
- public long WeightingID { get; set; }
- public long BufferLength { get; set; }
- public string FileStreamBase64 { get; set; }
- }
- public class UploadFileMsgRespMsg : Msg
- {
- public UploadFileMsgRespMsg()
- {
- MessageType = MessageTypeEnum.UploadFileResp;
- }
- public bool Result { get; set; }
- }
- /////////////////////////////////////
- public class GetUploadFileMsg : Msg
- {
- public GetUploadFileMsg()
- {
- MessageType = MessageTypeEnum.GetUploadFile;
- }
- }
- public class GetUploadFileMsgRespMsg : Msg
- {
- public GetUploadFileMsgRespMsg()
- {
- MessageType = MessageTypeEnum.GetUploadFileResp;
- }
- public List<MSHO.Collection.DataAccess.Models.WeightingFile> WeightingFiles { get; set; }
- }
- }
|