59 lines
2.0 KiB
Go
59 lines
2.0 KiB
Go
package mongo_model
|
||
|
||
import (
|
||
"time"
|
||
)
|
||
|
||
type AdvicerChatHisMongo struct {
|
||
SessionId string `json:"sessionId" bson:"sessionId"`
|
||
User string `json:"User" bson:"User"`
|
||
Assistant Assistant `json:"assistant" bson:"assistant"`
|
||
InToken int64 `json:"inToken" bson:"inToken"`
|
||
OutToken int64 `json:"outToken" bson:"outToken"`
|
||
CreatAt time.Time `json:"creatAt" bson:"creatAt"`
|
||
}
|
||
|
||
func NewAdvicerChatHisMongo() *AdvicerChatHisMongo {
|
||
return &AdvicerChatHisMongo{}
|
||
}
|
||
|
||
func (a *AdvicerChatHisMongo) MongoTableName() string {
|
||
return "advicer_chat_his"
|
||
}
|
||
|
||
type AdvicerChatHisMongoEntity struct {
|
||
User string `json:"user"`
|
||
Assistant string `json:"assistant"`
|
||
MissionStatus string `json:"missionStatus"`
|
||
MissionNext string `json:"missionNext"`
|
||
CreateAt string `json:"createAt"`
|
||
}
|
||
|
||
func (a *AdvicerChatHisMongo) Entity() AdvicerChatHisMongoEntity {
|
||
return AdvicerChatHisMongoEntity{
|
||
User: a.User,
|
||
Assistant: a.Assistant.Result,
|
||
MissionStatus: a.Assistant.MissionStatus,
|
||
MissionNext: a.Assistant.MissionCompleteDesc,
|
||
CreateAt: a.CreatAt.Format(time.DateTime),
|
||
}
|
||
}
|
||
|
||
type Assistant struct {
|
||
Result string `json:"result"`
|
||
Mission string `json:"mission,omitempty"`
|
||
MissionStatus string `json:"mission_status"`
|
||
MissionCompleteDesc string `json:"mission_complete_desc"`
|
||
// Remind / Lead 为对话内联识别的可选结果(宁缺毋滥,未命中时模型不输出,解析后为 nil)。
|
||
Remind *FollowHint `json:"remind,omitempty"` // 到点提醒/回访约定(入库后由 cron RunDue 到点执行)
|
||
Lead *FollowHint `json:"lead,omitempty"` // 成交线索(到访/成交/付款约定,供销售跟进)
|
||
}
|
||
|
||
// FollowHint 对话内联抽取的时间约定单条(remind 忽略 Type;lead 的 Type 取 visit/deal/payment)。
|
||
type FollowHint struct {
|
||
Type string `json:"type,omitempty"`
|
||
Title string `json:"title,omitempty"`
|
||
Detail string `json:"detail,omitempty"`
|
||
DueAt string `json:"due_at,omitempty"` // 约定时间,格式 2006-01-02 15:04
|
||
}
|