77 lines
3.4 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}