package models

import (
	"github.com/beego/beego/v2/client/orm"
	"time"
)

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

type ResourceResp struct {
	Id            int64  `orm:"column(id);" 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 := orm.NewOrmUsingDB("rddp")
	newId, err = o.Insert(item)
	return
}

func GetResourceById(id string) (item *Resource, err error) {
	o := orm.NewOrmUsingDB("rddp")
	sql := "SELECT * FROM resource WHERE id=? "
	err = o.Raw(sql, id).QueryRow(&item)
	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:"资源地址"`
}