|
@@ -2,16 +2,19 @@ package aiSearch
|
|
|
|
|
|
import (
|
|
|
"aiChat/internal/model"
|
|
|
+ "app.yhyue.com/moapp/jybase/encrypt"
|
|
|
"context"
|
|
|
"fmt"
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
|
+ "github.com/gogf/gf/v2/util/gconv"
|
|
|
"time"
|
|
|
|
|
|
"aiChat/api/aiSearch/v1"
|
|
|
)
|
|
|
|
|
|
type ChatItem struct {
|
|
|
+ Id int `json:"id"`
|
|
|
Question string `json:"question"`
|
|
|
QuestionTime gtime.Time `json:"question_time"`
|
|
|
}
|
|
@@ -21,39 +24,43 @@ func (c *ControllerV1) HistorySsList(ctx context.Context, req *v1.HistorySsListR
|
|
|
if jSession.PositionId <= 0 {
|
|
|
return nil, fmt.Errorf("请登录")
|
|
|
}
|
|
|
- all, count, err := g.Model("ai_search_session").Fields("question", "question_time").
|
|
|
+ all, count, err := g.Model("ai_search_session").Fields("id", "question", "question_time").
|
|
|
Where("position_id = ? and status = 1 and question IS NOT NULL", jSession.PositionId).AllAndCount(false)
|
|
|
if err != nil {
|
|
|
g.Log().Error(ctx, "历史会话列表查询异常:", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
- mList := make(map[string]*[]ChatItem)
|
|
|
+ mList := make(map[string][]g.Map)
|
|
|
now := gtime.Now().Truncate(24 * time.Hour)
|
|
|
b7now := gtime.Now().Add(-7 * 24 * time.Hour).Truncate(24 * time.Hour) // 7天之前的日期
|
|
|
b1Mnow := gtime.Now().AddDate(0, -1, 0).Truncate(24 * time.Hour) // 一个月之前的日期
|
|
|
var (
|
|
|
- today []ChatItem
|
|
|
- b7Data []ChatItem
|
|
|
- bMData []ChatItem
|
|
|
- bOlddata []ChatItem
|
|
|
+ today []g.Map
|
|
|
+ b7Data []g.Map
|
|
|
+ bMData []g.Map
|
|
|
+ bOlddata []g.Map
|
|
|
)
|
|
|
- for _, v := range all {
|
|
|
- var item ChatItem
|
|
|
- _ = v.Struct(&item)
|
|
|
+ for _, r := range all {
|
|
|
+ item := &ChatItem{}
|
|
|
+ err = r.Struct(item)
|
|
|
+ m1 := g.Map{}
|
|
|
+ m1["id"] = encrypt.SE.Encode2HexByCheck(gconv.String(item.Id))
|
|
|
+ m1["question"] = gconv.String(item.Question)
|
|
|
+ m1["question_time"] = item.QuestionTime
|
|
|
if item.QuestionTime.Truncate(24 * time.Hour).Equal(now) { // 今天
|
|
|
- today = append(today, item)
|
|
|
+ today = append(today, m1)
|
|
|
} else if item.QuestionTime.Truncate(24 * time.Hour).After(b7now) { // 一周内
|
|
|
- b7Data = append(b7Data, item)
|
|
|
+ b7Data = append(b7Data, m1)
|
|
|
} else if item.QuestionTime.Truncate(24 * time.Hour).After(b1Mnow) { // 一个月之内
|
|
|
- bMData = append(bMData, item)
|
|
|
+ bMData = append(bMData, m1)
|
|
|
} else { // 更早
|
|
|
- bOlddata = append(bOlddata, item)
|
|
|
+ bOlddata = append(bOlddata, m1)
|
|
|
}
|
|
|
}
|
|
|
- mList["今天"] = &today
|
|
|
- mList["过去7天"] = &b7Data
|
|
|
- mList["过去30天"] = &bMData
|
|
|
- mList["更早"] = &bOlddata
|
|
|
+ mList["今天"] = today
|
|
|
+ mList["过去7天"] = b7Data
|
|
|
+ mList["过去30天"] = bMData
|
|
|
+ mList["更早"] = bOlddata
|
|
|
res = &v1.HistorySsListRes{
|
|
|
ErrorCode: 0,
|
|
|
ErrorMsg: "",
|