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 }