Browse Source

Merge branch 'feature/v1.0.2' of https://jygit.jydev.jianyu360.cn/SocialPlatform/aiChat into feature/v1.0.2

wangchuanjin 5 months ago
parent
commit
8f32a97b28

+ 16 - 10
api/aiSearch/v1/aiSearchApi.go

@@ -1,6 +1,9 @@
 package v1
 
-import "github.com/gogf/gf/v2/frame/g"
+import (
+	"github.com/gogf/gf/v2/frame/g"
+	"github.com/gogf/gf/v2/os/gtime"
+)
 
 type CreateNewSessionReq struct {
 	g.Meta `path:"/session/newCreate" tags:"AiSearch" method:"get" summary:"创建新会话"`
@@ -45,9 +48,16 @@ type SessionDetailReq struct {
 }
 
 type SessionDetailRes struct {
-	ErrorCode int         `json:"errorCode"     dc:"状态码"`
-	ErrorMsg  string      `json:"errorMsg"    dc:"错误信息"`
-	Data      interface{} `json:"data" dc:"返回数据"`
+	Data []*SsDetailList `json:"data" dc:"返回数据"`
+}
+
+type SsDetailList struct {
+	Id         string     `json:"id" dc:"问题id"`
+	Question   string     `json:"question"`
+	Answer     *ChatRes   `json:"answer" dc:"答案列表"`
+	Like       int        `json:"like" dc:"点赞状态"`
+	Collect    int        `json:"collect" dc:"收藏状态"`
+	CreateTime gtime.Time `json:"create_time"`
 }
 
 type ProblemConfigurationReq struct {
@@ -55,9 +65,7 @@ type ProblemConfigurationReq struct {
 }
 
 type ProblemConfigurationRes struct {
-	ErrorCode int         `json:"errorCode"     dc:"状态码"`
-	ErrorMsg  string      `json:"errorMsg"    dc:"错误信息"`
-	Data      interface{} `json:"data" dc:"返回数据"`
+	Data interface{} `json:"data" dc:"返回数据"`
 }
 
 type ChatReq struct {
@@ -81,9 +89,7 @@ type BiddingListReq struct {
 	ChatId string `json:"chatId" dc:"聊天Id"`
 }
 type BiddingListRes struct {
-	ErrorCode int         `json:"errorCode"     dc:"状态码"`
-	ErrorMsg  string      `json:"errorMsg"    dc:"错误信息"`
-	Data      interface{} `json:"data" dc:"返回数据"`
+	Data []ResBidding `json:"data" dc:"返回数据"`
 }
 type ResBidding struct {
 	InfoId      string `json:"infoId" dc:"标讯id"`

+ 2 - 1
go.mod

@@ -1,6 +1,7 @@
 module aiChat
 
-go 1.20
+go 1.21
+
 
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20250220061341-81c668b6c7ea

+ 5 - 13
internal/controller/aiSearch/aiSearch_v1_bidding_list.go

@@ -4,26 +4,19 @@ import (
 	"aiChat/api/aiSearch/v1"
 	"aiChat/internal/model"
 	"aiChat/utility"
-	"context"
-	"fmt"
-
 	"app.yhyue.com/moapp/jybase/encrypt"
+	"context"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/util/gconv"
 )
 
 func (c *ControllerV1) BiddingList(ctx context.Context, req *v1.BiddingListReq) (res *v1.BiddingListRes, err error) {
-	var hTmp []v1.ResBidding
+	hTmp := []v1.ResBidding{}
 	session := model.SessionCtx.Get(ctx).JSession
-	if session.PositionId <= 0 {
-		return nil, fmt.Errorf("请登录")
-	}
 	chatId := gconv.Int64(encrypt.SE.Decode4HexByCheck(req.ChatId))
 	if chatId == 0 {
 		return &v1.BiddingListRes{
-			ErrorCode: 0,
-			ErrorMsg:  "",
-			Data:      hTmp,
+			Data: hTmp,
 		}, nil
 	}
 	err = g.Model("ai_search_bidding").Where("chat_id = ? and  position_id=?", chatId, session.PositionId).OrderDesc("create_time").Scan(&hTmp)
@@ -37,9 +30,8 @@ func (c *ControllerV1) BiddingList(ctx context.Context, req *v1.BiddingListReq)
 			}
 		}
 	}
+
 	return &v1.BiddingListRes{
-		ErrorCode: 0,
-		ErrorMsg:  "",
-		Data:      hTmp,
+		Data: hTmp,
 	}, nil
 }

+ 2 - 0
internal/controller/aiSearch/aiSearch_v1_history_ss_list.go

@@ -17,6 +17,7 @@ type ChatItem struct {
 	Id           int        `json:"id"`
 	Question     string     `json:"question"`
 	QuestionTime gtime.Time `json:"question_time"`
+	QuestionItem int        `json:"question_Item"`
 }
 
 func (c *ControllerV1) HistorySsList(ctx context.Context, req *v1.HistorySsListReq) (res *v1.HistorySsListRes, err error) {
@@ -46,6 +47,7 @@ func (c *ControllerV1) HistorySsList(ctx context.Context, req *v1.HistorySsListR
 		m1 := g.Map{}
 		m1["id"] = encrypt.SE.Encode2HexByCheck(gconv.String(item.Id))
 		m1["question"] = gconv.String(item.Question)
+		m1["question_item"] = gconv.Int(item.QuestionItem)
 		m1["question_time"] = item.QuestionTime
 		if item.QuestionTime.Truncate(24 * time.Hour).Equal(now) { // 今天
 			today = append(today, m1)

+ 21 - 17
internal/controller/aiSearch/aiSearch_v1_session_detail.go

@@ -4,22 +4,12 @@ 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 {
-	Id         int
-	Passport   string
-	Password   string
-	NickName   string
-	CreateTime *gtime.Time
-}
-
 func (c *ControllerV1) SessionDetail(ctx context.Context, req *v1.SessionDetailReq) (res *v1.SessionDetailRes, err error) {
 	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()
@@ -27,18 +17,32 @@ func (c *ControllerV1) SessionDetail(ctx context.Context, req *v1.SessionDetailR
 		g.Log().Error(ctx, "会话详情查询异常:%s", err)
 		return nil, gerror.NewCode(gcode.CodeInternalError)
 	}
-	list := make([]g.Map, 0)
+	list := make([]*v1.SsDetailList, 0)
 	for _, r := range results {
+		item := &v1.SsDetailList{}
 		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)
+		item.Id = encrypt.SE.Encode2HexByCheck(gconv.String(r1["id"]))
+		item.Question = gconv.String(r1["question"])
+		item.Like = gconv.Int(r1["like"])
+		item.Collect = gconv.Int(r1["collect"])
+		item.CreateTime = *gconv.GTime(r1["create_time"])
+		blist := make([]*v1.ResBidding, 0)
+		for _, v := range gconv.Maps(r1["answer"]) {
+			bidding := &v1.ResBidding{}
+			_ = gconv.Struct(v, bidding)
+			bidding.InfoId = encrypt.SE.Encode2HexByCheck(bidding.InfoId)
+			blist = append(blist, bidding)
+		}
+		item.Answer = &v1.ChatRes{
+			Status: gconv.Int(r1["answer_status"]),
+			Count:  gconv.Int(r1["list_count"]),
+			List:   blist,
+		}
+		list = append(list, item)
 
 	}
 	res = &v1.SessionDetailRes{
-		ErrorCode: 0,
-		ErrorMsg:  "",
-		Data:      list,
+		Data: list,
 	}
 	return res, nil
 }