Files
ai-agent/internal/pkg/dto/response/channel_response.go
T

86 lines
3.2 KiB
Go
Raw Normal View History

2026-04-09 10:01:23 +08:00
package response
import (
"code.tczkiot.com/wlw/ai-agent/internal/models"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/enums"
"code.tczkiot.com/wlw/ai-agent/internal/pkg/utils"
2026-04-09 10:01:23 +08:00
)
type ChannelResponse struct {
ID int64 `json:"id"`
ChannelType string `json:"channel_type"`
ChannelID string `json:"channel_id"`
AIAgentID int64 `json:"ai_agent_id"`
AIAgentRolloutPercent int `json:"ai_agent_rollout_percent"`
PreviousAIAgentRolloutPercent int `json:"previous_ai_agent_rollout_percent"`
AIAgentName string `json:"ai_agent_name,omitempty"`
Name string `json:"name"`
ConfigJSON string `json:"config_json"`
Status enums.Status `json:"status"`
Remark string `json:"remark"`
2026-04-09 10:01:23 +08:00
}
type WxWorkKFAccountResponse struct {
OpenKfID string `json:"open_kf_id"`
Name string `json:"name"`
Avatar string `json:"avatar"`
ManagePrivilege bool `json:"manage_privilege"`
}
type ChannelMessageOutboxResponse struct {
ID int64 `json:"id"`
ChannelType string `json:"channel_type"`
ConversationID int64 `json:"conversation_id"`
MessageID int64 `json:"message_id"`
Payload string `json:"payload"`
SendStatus string `json:"send_status"`
RetryCount int `json:"retry_count"`
NextRetryAt string `json:"next_retry_at"`
LastError string `json:"last_error"`
SentAt string `json:"sent_at"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
CreateUserName string `json:"create_user_name"`
UpdateUserName string `json:"update_user_name"`
}
2026-04-09 10:01:23 +08:00
func BuildChannelResponse(item *models.Channel) ChannelResponse {
if item == nil {
return ChannelResponse{}
}
return ChannelResponse{
ID: item.ID,
ChannelType: item.ChannelType,
ChannelID: item.ChannelID,
AIAgentID: item.AIAgentID,
AIAgentRolloutPercent: item.AIAgentRolloutPercent,
PreviousAIAgentRolloutPercent: item.PreviousAIAgentRolloutPercent,
Name: item.Name,
ConfigJSON: item.ConfigJSON,
Status: item.Status,
Remark: item.Remark,
2026-04-09 10:01:23 +08:00
}
}
func BuildChannelMessageOutboxResponse(item *models.ChannelMessageOutbox) ChannelMessageOutboxResponse {
if item == nil {
return ChannelMessageOutboxResponse{}
}
return ChannelMessageOutboxResponse{
ID: item.ID,
ChannelType: item.ChannelType,
ConversationID: item.ConversationID,
MessageID: item.MessageID,
Payload: item.Payload,
SendStatus: item.SendStatus,
RetryCount: item.RetryCount,
NextRetryAt: utils.FormatTimePtr(item.NextRetryAt),
LastError: item.LastError,
SentAt: utils.FormatTimePtr(item.SentAt),
CreatedAt: utils.FormatTime(item.CreatedAt),
UpdatedAt: utils.FormatTime(item.UpdatedAt),
CreateUserName: item.CreateUserName,
UpdateUserName: item.UpdateUserName,
}
}