77 lines
3.4 KiB
Go
77 lines
3.4 KiB
Go
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
|
||
}
|