|
@@ -11,12 +11,12 @@ import (
|
|
)
|
|
)
|
|
|
|
|
|
var (
|
|
var (
|
|
- ChatHistroy = &cChatHistroy{
|
|
|
|
|
|
+ ChatHistory = &cChatHistory{
|
|
Arr: make([]*ChatRecord, 0, 100),
|
|
Arr: make([]*ChatRecord, 0, 100),
|
|
}
|
|
}
|
|
)
|
|
)
|
|
|
|
|
|
-type cChatHistroy struct {
|
|
|
|
|
|
+type cChatHistory struct {
|
|
Arr []*ChatRecord
|
|
Arr []*ChatRecord
|
|
}
|
|
}
|
|
|
|
|
|
@@ -35,14 +35,14 @@ type ChatRecord struct {
|
|
Useful int `json:"useful" dc:"1:有用 -1:无用 0:暂无评价"`
|
|
Useful int `json:"useful" dc:"1:有用 -1:无用 0:暂无评价"`
|
|
Actions int `json:"actions" dc:"1:有功能菜单 0:无功能菜单"`
|
|
Actions int `json:"actions" dc:"1:有功能菜单 0:无功能菜单"`
|
|
Item int `json:"item" dc:"1:常见问题 2:业务意图 3:chatGpt"`
|
|
Item int `json:"item" dc:"1:常见问题 2:业务意图 3:chatGpt"`
|
|
- AnswerId int64 `json:"answer_id" dc:"回答问题的id"`
|
|
|
|
|
|
+ QuestionId int64 `json:"question_id" dc:"回答问题的id"`
|
|
Refer string `json:"refer" dc:"会话来源地址"`
|
|
Refer string `json:"refer" dc:"会话来源地址"`
|
|
PersonId int64 `json:"person_id" dc:"自然人id"`
|
|
PersonId int64 `json:"person_id" dc:"自然人id"`
|
|
CreateTime string `json:"create_time" dc:"时间"`
|
|
CreateTime string `json:"create_time" dc:"时间"`
|
|
}
|
|
}
|
|
|
|
|
|
// CacheSave 保存聊天信息
|
|
// CacheSave 保存聊天信息
|
|
-func (m *cChatHistroy) CacheSave(msg *ChatRecord) {
|
|
|
|
|
|
+func (m *cChatHistory) CacheSave(msg *ChatRecord) {
|
|
m.Arr = append(m.Arr, msg)
|
|
m.Arr = append(m.Arr, msg)
|
|
if len(m.Arr) > 100 {
|
|
if len(m.Arr) > 100 {
|
|
tmp, ctx := m.Arr, gctx.New()
|
|
tmp, ctx := m.Arr, gctx.New()
|
|
@@ -65,7 +65,7 @@ func (m *cChatHistroy) CacheSave(msg *ChatRecord) {
|
|
}
|
|
}
|
|
|
|
|
|
// Save 保存聊天记录 返回最后一条记录id
|
|
// Save 保存聊天记录 返回最后一条记录id
|
|
-func (m *cChatHistroy) Save(ctx context.Context, msgs ...*ChatRecord) (id int64) {
|
|
|
|
|
|
+func (m *cChatHistory) Save(ctx context.Context, msgs ...*ChatRecord) (id int64) {
|
|
val := gconv.Maps(msgs)
|
|
val := gconv.Maps(msgs)
|
|
r, err := g.Model("ai_message_history").Data(val).Insert()
|
|
r, err := g.Model("ai_message_history").Data(val).Insert()
|
|
|
|
|
|
@@ -82,10 +82,10 @@ func (m *cChatHistroy) Save(ctx context.Context, msgs ...*ChatRecord) (id int64)
|
|
}
|
|
}
|
|
|
|
|
|
// GetMessage 查询聊天信息
|
|
// GetMessage 查询聊天信息
|
|
-func (m *cChatHistroy) GetMessage(userId int64, pageNum, pageSize int, prevId string) (h []ResHistory, hasNext bool, err error) {
|
|
|
|
|
|
+func (m *cChatHistory) GetMessage(userId int64, pageNum, pageSize int, prevId string) (h []ResHistory, hasNext bool, err error) {
|
|
var hTmp []ResHistory
|
|
var hTmp []ResHistory
|
|
if prevId != "" {
|
|
if prevId != "" {
|
|
- err = g.Model("ai_message_history").Where("person_id = ? and id < ? ", userId, prevId).OrderDesc("id").Limit(pageNum*pageSize, pageSize).Scan(&hTmp)
|
|
|
|
|
|
+ err = g.Model("ai_message_history").Where("person_id = ? and id < ? ", userId, prevId).OrderDesc("id").Limit(pageSize).Scan(&hTmp)
|
|
} else {
|
|
} else {
|
|
err = g.Model("ai_message_history").Where("person_id = ?", userId).OrderDesc("id").Limit(pageNum*pageSize, pageSize).Scan(&hTmp)
|
|
err = g.Model("ai_message_history").Where("person_id = ?", userId).OrderDesc("id").Limit(pageNum*pageSize, pageSize).Scan(&hTmp)
|
|
}
|
|
}
|
|
@@ -103,7 +103,7 @@ func (m *cChatHistroy) GetMessage(userId int64, pageNum, pageSize int, prevId st
|
|
}
|
|
}
|
|
|
|
|
|
// Evaluate 评价
|
|
// Evaluate 评价
|
|
-func (m *cChatHistroy) Evaluate(userId int64, megId string, value int) error {
|
|
|
|
|
|
+func (m *cChatHistory) Evaluate(userId int64, megId string, value int) error {
|
|
res, err := g.Model("ai_message_history").One("id =? and person_id =? and type=2", megId, userId)
|
|
res, err := g.Model("ai_message_history").One("id =? and person_id =? and type=2", megId, userId)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|