jianghan 5 月之前
父節點
當前提交
1760debb8c

+ 3 - 3
api/aiSearch/v1/aiSearchApi.go

@@ -14,8 +14,8 @@ type CreateNewSessionRes struct {
 
 type LikeAnswerReq struct {
 	g.Meta `path:"/answer/like" tags:"AiSearch" method:"post" summary:"回复点赞"`
-	Cid    int64 `json:"cid" dc:"聊天id"`
-	Val    int   `json:"val" dc:"点赞:0:未点赞 1:已点赞"`
+	Cid    string `json:"cid" dc:"聊天id"`
+	Val    int    `json:"val" dc:"点赞:0:未点赞 1:已点赞"`
 }
 
 type LikeAnswerRes struct {
@@ -36,7 +36,7 @@ type HistorySsListRes struct {
 
 type SessionDetailReq struct {
 	g.Meta `path:"/session/detail" tags:"AiSearch" method:"post" summary:"会话详情"`
-	Sid    int64 `json:"sid" dc:"当前会话id"`
+	Sid    string `json:"sid" dc:"当前会话id"`
 }
 
 type SessionDetailRes struct {

+ 8 - 10
internal/controller/aiSearch/aiSearch_v1_create_new_session.go

@@ -2,11 +2,11 @@ package aiSearch
 
 import (
 	"aiChat/internal/model"
+	"app.yhyue.com/moapp/jybase/encrypt"
 	"context"
-	"github.com/gogf/gf/v2/errors/gcode"
-	"github.com/gogf/gf/v2/errors/gerror"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/os/gtime"
+	"github.com/gogf/gf/v2/util/gconv"
 
 	"aiChat/api/aiSearch/v1"
 )
@@ -22,14 +22,12 @@ func (c *ControllerV1) CreateNewSession(ctx context.Context, req *v1.CreateNewSe
 	r, err := g.Model("ai_search_session").Data(tmp).Insert()
 	if err != nil {
 		g.Log().Error(ctx, "会话创建异常:%s", err)
+		return nil, err
 	}
 	lid, _ := r.LastInsertId()
-	if lid > 0 {
-		return &v1.CreateNewSessionRes{
-			ErrorCode: 0,
-			ErrorMsg:  "",
-			Data:      lid,
-		}, nil
-	}
-	return nil, gerror.NewCode(gcode.CodeInternalError)
+	return &v1.CreateNewSessionRes{
+		ErrorCode: 0,
+		ErrorMsg:  "",
+		Data:      encrypt.SE.Encode2HexByCheck(gconv.String(lid)),
+	}, nil
 }

+ 24 - 17
internal/controller/aiSearch/aiSearch_v1_history_ss_list.go

@@ -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:  "",

+ 6 - 2
internal/controller/aiSearch/aiSearch_v1_like_answer.go

@@ -2,20 +2,24 @@ package aiSearch
 
 import (
 	"aiChat/api/aiSearch/v1"
+	"app.yhyue.com/moapp/jybase/encrypt"
 	"context"
+	"fmt"
 	"github.com/gogf/gf/v2/frame/g"
 )
 
 func (c *ControllerV1) LikeAnswer(ctx context.Context, req *v1.LikeAnswerReq) (res *v1.LikeAnswerRes, err error) {
-	r, err := g.Model("ai_search_chat").Data("like", req.Val).Where("id", req.Cid).Update()
+	id := encrypt.SE.Decode4HexByCheck(fmt.Sprint(req.Cid))
+	r, err := g.Model("ai_search_chat").Data("like", req.Val).Where("id", id).Update()
 	if err != nil {
 		g.Log().Error(ctx, "点赞失败:%s", err)
 		return nil, err
 	}
+	affected, _ := r.RowsAffected()
 	res = &v1.LikeAnswerRes{
 		ErrorCode: 0,
 		ErrorMsg:  "",
-		Data:      r.RowsAffected(),
+		Data:      affected,
 	}
 	return res, nil
 }

+ 14 - 2
internal/controller/aiSearch/aiSearch_v1_session_detail.go

@@ -2,11 +2,14 @@ package aiSearch
 
 import (
 	"aiChat/api/aiSearch/v1"
+	"app.yhyue.com/moapp/jybase/encrypt"
 	"context"
+	"fmt"
 	"github.com/gogf/gf/v2/errors/gcode"
 	"github.com/gogf/gf/v2/errors/gerror"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/os/gtime"
+	"github.com/gogf/gf/v2/util/gconv"
 )
 
 type SsDetail struct {
@@ -18,15 +21,24 @@ type SsDetail struct {
 }
 
 func (c *ControllerV1) SessionDetail(ctx context.Context, req *v1.SessionDetailReq) (res *v1.SessionDetailRes, err error) {
-	results, err := g.Model("ai_search_chat").Where("session_id = ? and status = 1", req.Sid).OrderDesc("create_time").All()
+	sid := gconv.Int(encrypt.SE.Decode4HexByCheck(req.Sid))
+	results, err := g.Model("ai_search_chat").Where("session_id = ? and status = 1", sid).OrderDesc("create_time").All()
 	if err != nil {
 		g.Log().Error(ctx, "会话详情查询异常:%s", err)
 		return nil, gerror.NewCode(gcode.CodeInternalError)
 	}
+	list := make([]g.Map, 0)
+	for _, r := range results {
+		r1 := r.Map()
+		r1["id"] = encrypt.SE.Encode2HexByCheck(fmt.Sprint(r1["id"]))
+		r1["session_id"] = encrypt.SE.Encode2HexByCheck(fmt.Sprint(r1["session_id"]))
+		list = append(list, r1)
+
+	}
 	res = &v1.SessionDetailRes{
 		ErrorCode: 0,
 		ErrorMsg:  "",
-		Data:      results,
+		Data:      list,
 	}
 	return res, nil
 }