Browse Source

修复gauss数据库时间格式

kobe6258 1 month ago
parent
commit
1d847fdfc0

+ 8 - 4
controllers/ai/ai_pormpt.go

@@ -22,8 +22,12 @@ func (this *AiController) AiPromptList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
+	// [2025-zsh-时间类型修复-chenhan]
 	list, err := ai_summary.GetAiPromptList(this.SysUser.AdminId, 0)
+	var resList []*ai_summary.AiPromptItem
+	for _, v := range list {
+		resList = append(resList, v.ToItem())
+	}
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取数据失败,Err:" + err.Error()
@@ -33,7 +37,7 @@ func (this *AiController) AiPromptList() {
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
-	br.Data = list
+	br.Data = resList
 }
 
 // PromptGroupList
@@ -68,7 +72,7 @@ func (this *AiController) PromptGroupList() {
 			AdminId:  v.SysAdminId,
 			RealName: v.SysAdminName,
 		}
-		publicPromptList = append(publicPromptList, v)
+		publicPromptList = append(publicPromptList, v.ToItem())
 		publicPromptListMap[v.SysAdminId] = publicPromptList
 	}
 	for _, v := range publicAdminIdList {
@@ -410,4 +414,4 @@ func (this *AiController) SharePrompt() {
 	br.Msg = "操作成功"
 
 	return
-}
+}

+ 3 - 3
controllers/ai/ai_summary.go

@@ -888,7 +888,7 @@ func (this *AiController) AiSummaryList() {
 	}
 	resp := new(ai_summary.AiSummaryListResp)
 	if list == nil || len(list) <= 0 || (err != nil && err.Error() == utils.ErrNoRow()) {
-		items := make([]*ai_summary.AiSummaryItems, 0)
+		items := make([]*ai_summary.AiSummaryItemsView, 0)
 		resp.Paging = page
 		resp.List = items
 		br.Ret = 200
@@ -905,7 +905,7 @@ func (this *AiController) AiSummaryList() {
 	}
 	page = paging.GetPaging(currentIndex, pageSize, dataCount)
 	resp.Paging = page
-	resp.List = list
+	resp.List = ai_summary.ToItemViewList(list)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
@@ -941,7 +941,7 @@ func (this *AiController) AiSummaryDetail() {
 		return
 	}
 	resp := ai_summary.AiSummaryDetailResp{
-		AiSummaryItems: detail,
+		AiSummaryItemsView: detail.ToItemView(),
 	}
 
 	if detail.SaDocId > 0 {

+ 21 - 4
models/ai_summary/ai_pormpt.go

@@ -1,6 +1,7 @@
 package ai_summary
 
 import (
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
@@ -17,6 +18,7 @@ type AiPrompt struct {
 	Sort          int       // 排序
 }
 
+// [2025-zsh-时间类型修复-chenhan]
 type AiPromptItem struct {
 	AiPromptId    int    `orm:"column(ai_prompt_id);pk"` // ai纪要提示词id
 	PromptContent string // 原始内容
@@ -29,7 +31,22 @@ type AiPromptItem struct {
 	Sort          int    // 排序
 }
 
-func GetAiPromptList(sysUserId, isShare int) (items []*AiPromptItem, err error) {
+func (aiPrompt *AiPrompt) ToItem() *AiPromptItem {
+	return &AiPromptItem{
+		AiPromptId:    aiPrompt.AiPromptId,
+		PromptContent: aiPrompt.PromptContent,
+		SysAdminId:    aiPrompt.SysAdminId,
+		SysAdminName:  aiPrompt.SysAdminName,
+		Title:         aiPrompt.Title,
+		CreateTime:    aiPrompt.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:    aiPrompt.ModifyTime.Format(utils.FormatDateTime), // 更新时间
+		IsShare:       aiPrompt.IsShare,                                 // 是否分享,0:不分享,1:分享
+		Sort:          aiPrompt.Sort,                                    // 排序
+	}
+}
+
+// [2025-zsh-时间类型修复-chenhan]
+func GetAiPromptList(sysUserId, isShare int) (items []*AiPrompt, err error) {
 	sql := ``
 	if isShare == 1 {
 		sql = ` SELECT * FROM ai_prompt WHERE sys_admin_id=? and is_share=1 ORDER BY sort  `
@@ -41,7 +58,8 @@ func GetAiPromptList(sysUserId, isShare int) (items []*AiPromptItem, err error)
 	return
 }
 
-func GetAiPromptShareList() (items []*AiPromptItem, err error) {
+// [2025-zsh-时间类型修复-chenhan]
+func GetAiPromptShareList() (items []*AiPrompt, err error) {
 	sql := ``
 	sql = ` SELECT * FROM ai_prompt WHERE is_share=1 ORDER BY create_time DESC `
 
@@ -115,7 +133,6 @@ func GetAiPromptMaxSort(adminId int) (sort int, err error) {
 	return
 }
 
-
 // MoveDownPromptBySort 往下移动提示词
 func MoveDownPromptBySort(sysAdminId, prevSort, currentSort int) (err error) {
 	o := orm.NewOrm()
@@ -130,4 +147,4 @@ func MoveUpPromptBySort(sysAdminId, nextSort, currentSort int) (err error) {
 	sql := `update ai_prompt set sort = sort + 1 where sys_admin_id = ? and sort >= ? and sort< ?`
 	_, err = o.Raw(sql, sysAdminId, nextSort, currentSort).Exec()
 	return
-}
+}

+ 48 - 1
models/ai_summary/ai_summary.go

@@ -1,6 +1,7 @@
 package ai_summary
 
 import (
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
@@ -23,7 +24,27 @@ type AiSummary struct {
 	Sort            int       // 排序字段,越小越靠前,默认值:10
 }
 
+// [2025-zsh-时间类型修复-chenhan]
 type AiSummaryItems struct {
+	AiSummaryId     int       `orm:"column(ai_summary_id);pk"` // ai纪要id
+	SaDocId         int       // 文档ID
+	OriginContent   string    // 原始内容
+	OriginTitle     string    // 原文标题
+	SummaryContent  string    // 纪要内容
+	ClassifyId      int       // 分类id
+	SysUserId       int       // 创建人ID
+	SysUserRealName string    // 创建人姓名
+	Title           string    // 文档标题
+	CreateTime      time.Time // 创建时间
+	ModifyTime      time.Time // 更新时间
+	OpenaiFileName  string    // 文件名称
+	OpenaiFilePath  string    // 文件路径
+	Sort            int       // 排序字段,越小越靠前,默认值:10
+	ParentIds       string
+}
+
+// [2025-zsh-时间类型修复-chenhan]
+type AiSummaryItemsView struct {
 	AiSummaryId     int    `orm:"column(ai_summary_id);pk"` // ai纪要id
 	SaDocId         int    // 文档ID
 	OriginContent   string // 原始内容
@@ -41,6 +62,32 @@ type AiSummaryItems struct {
 	ParentIds       string
 }
 
+func (aiSummary *AiSummaryItems) ToItemView() *AiSummaryItemsView {
+	return &AiSummaryItemsView{
+		AiSummaryId:     aiSummary.AiSummaryId,
+		SaDocId:         aiSummary.SaDocId,
+		OriginContent:   aiSummary.OriginContent,
+		OriginTitle:     aiSummary.OriginTitle,
+		SummaryContent:  aiSummary.SummaryContent,
+		ClassifyId:      aiSummary.ClassifyId,
+		SysUserId:       aiSummary.SysUserId,
+		SysUserRealName: aiSummary.SysUserRealName,
+		Title:           aiSummary.Title,
+		CreateTime:      aiSummary.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:      aiSummary.ModifyTime.Format(utils.FormatDateTime),
+		OpenaiFileName:  aiSummary.OpenaiFileName,
+		OpenaiFilePath:  aiSummary.OpenaiFilePath,
+		Sort:            aiSummary.Sort,
+		ParentIds:       aiSummary.ParentIds,
+	}
+}
+
+func ToItemViewList(itemList []*AiSummaryItems) (viewList []*AiSummaryItemsView) {
+	for _, item := range itemList {
+		viewList = append(viewList, item.ToItemView())
+	}
+	return
+}
 func GetAiChatTopicList(sysUserId int) (item []*AiSummary, err error) {
 	sql := ` SELECT * FROM ai_summary WHERE classify_id=? ORDER BY create_time DESC `
 	o := orm.NewOrm()
@@ -170,7 +217,7 @@ type AiSummaryAddResp struct {
 }
 
 type AiSummaryDetailResp struct {
-	*AiSummaryItems
+	*AiSummaryItemsView
 	SaDocTitle      string `description:"文档库标题"`
 	SaDocClassifyId int    `description:"文档库分类id"`
 }

+ 1 - 1
models/ai_summary/ai_summary_classify.go

@@ -319,7 +319,7 @@ WHERE
 
 type AiSummaryListResp struct {
 	Paging *paging.PagingItem
-	List   []*AiSummaryItems
+	List   []*AiSummaryItemsView
 }
 
 // GetAiSummaryClassifyAll

+ 67 - 4
models/aimod/ai.go

@@ -1,6 +1,7 @@
 package aimod
 
 import (
+	"eta/eta_api/utils"
 	"time"
 
 	"github.com/beego/beego/v2/client/orm"
@@ -17,6 +18,23 @@ type AiChatTopic struct {
 	ModifyTime      time.Time
 }
 
+func (obj *AiChatTopic) AiChatTopicView() *AiChatTopicView {
+	return &AiChatTopicView{
+		AiChatTopicId: obj.AiChatTopicId,
+		TopicName:     obj.TopicName,
+		CreateTime:    obj.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:    obj.ModifyTime.Format(utils.FormatDateTime),
+		AssistantId:   obj.AssistantId,
+		ThreadId:      obj.ThreadId,
+	}
+}
+func AiChatTopicViewList(topics []*AiChatTopic) (itemList []*AiChatTopicView) {
+	for _, item := range topics {
+		itemList = append(itemList, item.AiChatTopicView())
+	}
+	return
+}
+
 type AiChat struct {
 	AiChatId        int `orm:"column(ai_chat_id);pk"`
 	AiChatTopicId   int
@@ -33,6 +51,27 @@ type AiChat struct {
 	ModifyTime      time.Time
 }
 
+func (obj *AiChat) AiChatView() *AiChatView {
+	return &AiChatView{
+		AiChatId:       obj.AiChatId,
+		AiChatTopicId:  obj.AiChatTopicId,
+		Ask:            obj.Ask,
+		Answer:         obj.Answer,
+		Model:          obj.Model,
+		OpenaiFileId:   obj.OpenaiFileId,
+		OpenaiFileName: obj.OpenaiFileName,
+		OpenaiFilePath: obj.OpenaiFilePath,
+		CreateTime:     obj.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:     obj.ModifyTime.Format(utils.FormatDateTime),
+	}
+}
+func AiChatViewList(chats []*AiChat) (itemList []*AiChatView) {
+	for _, item := range chats {
+		itemList = append(itemList, item.AiChatView())
+	}
+	return
+}
+
 type ChatReq struct {
 	AiChatTopicId int    `description:"主题id"`
 	Ask           string `description:"提问"`
@@ -76,10 +115,16 @@ type AiChatTopicView struct {
 	ThreadId      string
 }
 
+// [2025-zsh-时间类型修复-chenhan]
 func GetAiChatTopicList(sysUserId int) (item []*AiChatTopicView, err error) {
+	var dbItemList []*AiChatTopic
 	sql := ` SELECT * FROM ai_chat_topic WHERE sys_user_id=? ORDER BY create_time DESC `
 	o := orm.NewOrmUsingDB("ai")
-	_, err = o.Raw(sql, sysUserId).QueryRows(&item)
+	_, err = o.Raw(sql, sysUserId).QueryRows(&dbItemList)
+	if err != nil {
+		return
+	}
+	item = AiChatTopicViewList(dbItemList)
 	return
 }
 
@@ -106,10 +151,16 @@ var ModelViewMap = map[string]string{
 	// "moonshot-v1-8k":     "Kimi",
 }
 
+// [2025-zsh-时间类型修复-chenhan]
 func GetAiChatList(aiChatTopicId int) (item []*AiChatView, err error) {
+	var dbItemList []*AiChat
 	sql := ` SELECT * FROM ai_chat WHERE ai_chat_topic_id=? ORDER BY create_time ASC `
 	o := orm.NewOrmUsingDB("ai")
-	_, err = o.Raw(sql, aiChatTopicId).QueryRows(&item)
+	_, err = o.Raw(sql, aiChatTopicId).QueryRows(&dbItemList)
+	if err != nil {
+		return
+	}
+	item = AiChatViewList(dbItemList)
 	return
 }
 
@@ -149,10 +200,16 @@ type TopicEditReq struct {
 	TopicName     string `description:"主题名称"`
 }
 
+// [2025-zsh-时间类型修复-chenhan]
 func GetAiChatTopicByTopicName(topicName string) (item *AiChatTopicView, err error) {
+	var dbItem *AiChatTopic
 	sql := ` SELECT * FROM ai_chat_topic WHERE topic_name=? `
 	o := orm.NewOrmUsingDB("ai")
-	err = o.Raw(sql, topicName).QueryRow(&item)
+	err = o.Raw(sql, topicName).QueryRow(&dbItem)
+	if err != nil {
+		return
+	}
+	item = dbItem.AiChatTopicView()
 	return
 }
 
@@ -163,10 +220,16 @@ func EditTopic(topicId int, topicName string) (err error) {
 	return err
 }
 
+// [2025-zsh-时间类型修复-chenhan]
 func (obj *AiChatTopic) GetAiChatTopicById() (item *AiChatTopicView, err error) {
+	var dbItem *AiChatTopic
 	o := orm.NewOrmUsingDB("ai")
 	sql := ` SELECT * FROM ai_chat_topic WHERE ai_chat_topic_id=? `
-	err = o.Raw(sql, obj.AiChatTopicId).QueryRow(&item)
+	err = o.Raw(sql, obj.AiChatTopicId).QueryRow(&dbItem)
+	if err != nil {
+		return
+	}
+	item = dbItem.AiChatTopicView()
 	return
 }
 

+ 3 - 1
models/material/material_classify.go

@@ -209,7 +209,9 @@ type SandboxLinkCheckResp struct {
 
 func GetMaterialClassifyByLevelPath(levelPath string) (items []*MaterialClassify, err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT * FROM material_classify where level_path like "` + levelPath + `%"`
+	//[2025-zsh修复-chenhan] gaussDB不支持双引号
+	//sql := `SELECT * FROM material_classify where level_path like "` + levelPath + `%"`
+	sql := `SELECT * FROM material_classify where level_path like '` + levelPath + `%'`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }