Эх сурвалжийг харах

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

wangchuanjin 5 сар өмнө
parent
commit
d9a5aa6d66

+ 4 - 4
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 {
@@ -71,7 +71,7 @@ type ChatRes struct {
 
 type BiddingListReq struct {
 	g.Meta `path:"/bidding/List" tags:"AiSearch" method:"post" summary:"报讯列表"`
-	ChatId int64 `json:"chatId" dc:"聊天Id"`
+	ChatId string `json:"chatId" dc:"聊天Id"`
 }
 type BiddingListRes struct {
 	ErrorCode int         `dc:"状态码"`

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

@@ -7,6 +7,7 @@ import (
 	"context"
 	"fmt"
 	"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) {
@@ -15,7 +16,15 @@ func (c *ControllerV1) BiddingList(ctx context.Context, req *v1.BiddingListReq)
 	if session.PositionId <= 0 {
 		return nil, fmt.Errorf("请登录")
 	}
-	err = g.Model("ai_search_bidding").Where("chat_id = ? and  position_id=?", req.ChatId, session.PositionId).OrderDesc("create_time").Scan(&hTmp)
+	chatId := gconv.Int64(encrypt.SE.Decode4HexByCheck(req.ChatId))
+	if chatId == 0 {
+		return &v1.BiddingListRes{
+			ErrorCode: 0,
+			ErrorMsg:  "",
+			Data:      hTmp,
+		}, nil
+	}
+	err = g.Model("ai_search_bidding").Where("chat_id = ? and  position_id=?", chatId, session.PositionId).OrderDesc("create_time").Scan(&hTmp)
 	if hTmp != nil && len(hTmp) > 0 {
 		for i := len(hTmp) - 1; i >= 0; i-- {
 			data := hTmp[i]
@@ -31,16 +40,17 @@ func (c *ControllerV1) BiddingList(ctx context.Context, req *v1.BiddingListReq)
 }
 
 type ResBidding struct {
-	InfoId        string  `json:"infoId" dc:"内容"`
-	Id            string  `json:"id" dc:"信息加密id"`
-	Title         string  `json:"title" dc:"内容"`
-	Area          string  `json:"area" dc:"内容"`
-	Subtype       string  `json:"subtype" dc:"内容"`
-	Annex         string  `json:"annex" dc:"内容"`
-	Subscopeclass string  `json:"subscopeclass" dc:"内容"`
-	Buyerclass    string  `json:"buyerclass" dc:"内容"`
-	Budget        float64 `json:"budget" dc:"内容"`
-	Bidanount     float64 `json:"bidanount" dc:"内容"`
-	Publishtime   string  `json:"publishtime" dc:"内容"`
-	Create_time   string  `json:"create_time" dc:"内容"`
+	InfoId         string  `json:"infoId" dc:"内容"`
+	Id             string  `json:"id" dc:""`
+	Title          string  `json:"title" dc:"标题"`
+	Area           string  `json:"area" dc:"地区"`
+	Subtype        string  `json:"subtype" dc:"信息类型"`
+	Annex          string  `json:"annex" dc:"是否有附件;0:否 1:是"`
+	Subscopeclass  string  `json:"subscopeclass" dc:"信息行业"`
+	Buyerclass     string  `json:"buyerclass" dc:"采购单位行业"`
+	Budget         float64 `json:"budget" dc:"预算"`
+	Bidanount      float64 `json:"bidanount" dc:"中标金额"`
+	Publishtime    int64   `json:"publishtime" dc:"发布时间"`
+	Create_time    string  `json:"create_time" dc:"创建时间"`
+	PublishtimeStr string  `json:"publishtimeStr" dc:"发布时间"`
 }

+ 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
 }