package dto import ( "fmt" "hospital-admin-api/api/model" ) type MessageImDto struct { MessageId string `json:"message_id"` // 主键id FromUserId string `json:"from_user_id"` // 发送方user_id ToUserId string `json:"to_user_id"` // 接收方user_id;NOT NULL MessageKey string `json:"message_key"` // 消息唯一标识(系统返回,撤回消息使用) MessageSendTime string `json:"message_send_time"` // 消息发送时间戳 MessageSeq int `json:"message_seq"` // 消息序列号(单聊消息优先使用 MsgTime 进行排序,同一秒发送的消息则按 MsgSeq 排序,MsgSeq 值越大消息越靠后) MessageSendResult int `json:"message_send_result"` // 消息下发结果(0:失败 1:成功) SendErrorInfo string `json:"send_error_info"` // 消息下发失败原因 MessageType string `json:"message_type"` // 消息类型(具体查看:https://cloud.tencent.com/document/product/269/2720) IsSystem int `json:"is_system"` // 是否系统操作发送(0:否 1:是) OrderInquiryId string `json:"order_inquiry_id"` // 问诊id(自定义字段) MessageContent string `json:"message_content"` // 消息内容(json形式) MessageCustomContent string `json:"message_custom_content"` // 自定义消息内容(json形式) CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 } func GetMessageImDto(m *model.MessageIm) *MessageImDto { return &MessageImDto{ MessageId: fmt.Sprintf("%d", m.MessageId), FromUserId: m.FromUserId, ToUserId: fmt.Sprintf("%d", m.ToUserId), MessageKey: m.MessageKey, MessageSendTime: m.MessageSendTime, MessageSeq: m.MessageSeq, MessageSendResult: m.MessageSendResult, SendErrorInfo: m.SendErrorInfo, MessageType: m.MessageType, IsSystem: m.IsSystem, OrderInquiryId: fmt.Sprintf("%d", m.OrderInquiryId), MessageContent: m.MessageContent, MessageCustomContent: m.MessageCustomContent, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } } func GetMessageImListDto(m []*model.MessageIm) []*MessageImDto { // 处理返回值 responses := make([]*MessageImDto, len(m)) if len(m) > 0 { for i, v := range m { response := &MessageImDto{ MessageId: fmt.Sprintf("%d", v.MessageId), FromUserId: v.FromUserId, ToUserId: fmt.Sprintf("%d", v.ToUserId), MessageKey: v.MessageKey, MessageSendTime: v.MessageSendTime, MessageSeq: v.MessageSeq, MessageSendResult: v.MessageSendResult, SendErrorInfo: v.SendErrorInfo, MessageType: v.MessageType, IsSystem: v.IsSystem, OrderInquiryId: fmt.Sprintf("%d", v.OrderInquiryId), MessageContent: v.MessageContent, MessageCustomContent: v.MessageCustomContent, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses }