新增问诊记录详情
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
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
|
||||
}
|
||||
@@ -47,8 +47,10 @@ type OrderInquiryDto struct {
|
||||
OrderInquiryRefund *OrderInquiryRefundDto `json:"order_inquiry_refund"` // 退款数据
|
||||
OrderEvaluation *OrderEvaluationDto `json:"order_evaluation"` // 订单评价
|
||||
UserDoctor *UserDoctorDto `json:"user_doctor"` // 医生数据
|
||||
MessageIm []*MessageImDto `json:"message_im"` // 聊天记录
|
||||
}
|
||||
|
||||
// GetOrderInquiryDto 问诊订单详情
|
||||
func GetOrderInquiryDto(m *model.OrderInquiry) *OrderInquiryDto {
|
||||
var doctorId string
|
||||
if m.DoctorId != 0 {
|
||||
@@ -93,6 +95,7 @@ func GetOrderInquiryDto(m *model.OrderInquiry) *OrderInquiryDto {
|
||||
}
|
||||
}
|
||||
|
||||
// GetOrderInquiryListDto 问诊订单列表
|
||||
func GetOrderInquiryListDto(m []*model.OrderInquiry) []*OrderInquiryDto {
|
||||
// 处理返回值
|
||||
responses := make([]*OrderInquiryDto, len(m))
|
||||
@@ -150,6 +153,7 @@ func GetOrderInquiryListDto(m []*model.OrderInquiry) []*OrderInquiryDto {
|
||||
return responses
|
||||
}
|
||||
|
||||
// GetOrderInquiryRecordListDto 问诊记录列表
|
||||
func GetOrderInquiryRecordListDto(m []*model.OrderInquiry) []*OrderInquiryDto {
|
||||
// 处理返回值
|
||||
responses := make([]*OrderInquiryDto, len(m))
|
||||
@@ -199,6 +203,51 @@ func GetOrderInquiryRecordListDto(m []*model.OrderInquiry) []*OrderInquiryDto {
|
||||
return responses
|
||||
}
|
||||
|
||||
// GetOrderInquiryRecordDto 问诊记录详情
|
||||
func GetOrderInquiryRecordDto(m *model.OrderInquiry) *OrderInquiryDto {
|
||||
var doctorId string
|
||||
if m.DoctorId != 0 {
|
||||
doctorId = fmt.Sprintf("%v", m.DoctorId)
|
||||
}
|
||||
|
||||
return &OrderInquiryDto{
|
||||
OrderInquiryId: fmt.Sprintf("%d", m.OrderInquiryId),
|
||||
UserId: fmt.Sprintf("%d", m.UserId),
|
||||
DoctorId: doctorId,
|
||||
PatientId: fmt.Sprintf("%d", m.PatientId),
|
||||
FamilyId: fmt.Sprintf("%d", m.FamilyId),
|
||||
InquiryType: m.InquiryType,
|
||||
InquiryMode: m.InquiryMode,
|
||||
InquiryStatus: m.InquiryStatus,
|
||||
IsDelete: m.IsDelete,
|
||||
InquiryRefundStatus: m.InquiryRefundStatus,
|
||||
InquiryPayChannel: m.InquiryPayChannel,
|
||||
InquiryPayStatus: m.InquiryPayStatus,
|
||||
InquiryNo: m.InquiryNo,
|
||||
EscrowTradeNo: m.EscrowTradeNo,
|
||||
AmountTotal: m.AmountTotal,
|
||||
CouponAmountTotal: m.CouponAmountTotal,
|
||||
PaymentAmountTotal: m.PaymentAmountTotal,
|
||||
PayTime: m.PayTime,
|
||||
ReceptionTime: m.ReceptionTime,
|
||||
CompleteTime: m.CompleteTime,
|
||||
FinishTime: m.FinishTime,
|
||||
StatisticsStatus: m.StatisticsStatus,
|
||||
StatisticsTime: m.StatisticsTime,
|
||||
IsWithdrawal: m.IsWithdrawal,
|
||||
WithdrawalTime: m.WithdrawalTime,
|
||||
CancelTime: m.CancelTime,
|
||||
CancelReason: m.CancelReason,
|
||||
CancelRemarks: m.CancelRemarks,
|
||||
PatientName: m.PatientName,
|
||||
PatientNameMask: m.PatientNameMask,
|
||||
PatientSex: m.PatientSex,
|
||||
PatientAge: m.PatientAge,
|
||||
CreatedAt: m.CreatedAt,
|
||||
UpdatedAt: m.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
// LoadDoctorName 加载医生名称
|
||||
func (r *OrderInquiryDto) LoadDoctorName(m *model.UserDoctor) *OrderInquiryDto {
|
||||
if m != nil {
|
||||
@@ -246,3 +295,13 @@ func (r *OrderInquiryDto) LoadOrderEvaluation(m *model.OrderEvaluation) *OrderIn
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
// LoadMessageIm 加载聊天记录
|
||||
func (r *OrderInquiryDto) LoadMessageIm(m []*model.MessageIm) *OrderInquiryDto {
|
||||
if len(m) > 0 {
|
||||
d := GetMessageImListDto(m)
|
||||
|
||||
r.MessageIm = d
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user