package models

import (
	"eta/eta_api/global"
	"eta/eta_api/utils"
	"time"
)

type Resource struct {
	Id           int       `gorm:"column:id;primaryKey;autoIncrement" description:"资源id"`
	ResourceUrl  string    `description:"资源地址"`
	CreateTime   time.Time `description:"创建时间"`
	ResourceType int       `description:"资源类型,1:图片,2:音频,3:视频 ,4:ppt"`
}

type ResourceResp struct {
	Id            int64  `gorm:"column:id;primaryKey;autoIncrement" description:"用户id"`
	ResourceUrl   string `description:"资源地址"`
	PlaySeconds   uint32 `description:"播放时长,单位秒"`
	Source        string
	CacheKey      string
	ResourceName  string `description:"资源名称"`
	OpenaiFileId  string `description:"openai返回的文件id"`
	AiChatTopicId int    `description:"主题id"`
}

func AddResource(item *Resource) (newId int64, err error) {
	o := global.DbMap[utils.DbNameReport]
	err = o.Create(item).Error
	if err != nil {
		return
	}
	newId = int64(item.Id)
	return
}

//func GetResourceById(id string) (item *Resource, err error) {
//	o := global.DbMap[utils.DbNameReport]
//	sql := "SELECT * FROM resource WHERE id=? "
//	err = o.Raw(sql, id).First(&item).Error
//	return
//}

type ResourceBase64Resp struct {
	Image string `description:"图片,base64字符串"`
}

type PptResourceResp struct {
	Id          int64    `orm:"column(id);" description:"用户id"`
	ResourceUrl []string `description:"资源地址"`
	PlaySeconds uint32   `description:"播放时长,单位秒"`
}

type ImageSvgToPngResp struct {
	Data struct {
		ResourceURL string `json:"ResourceUrl"`
	} `json:"Data"`
	ErrCode     string `json:"ErrCode"`
	ErrMsg      string `json:"ErrMsg"`
	IsSendEmail bool   `json:"IsSendEmail"`
	Msg         string `json:"Msg"`
	Ret         int64  `json:"Ret"`
	Success     bool   `json:"Success"`
}

type UploadImgResp struct {
	ResourceUrl string `description:"资源地址"`
}