package models

import (
	"eta_gn/eta_api/global"
	"time"
)

type Resource struct {
	Id           int       `gorm:"column:id;primaryKey;type:int" orm:"column(id);" description:"资源ID"`
	ResourceUrl  string    `gorm:"column:resource_url;type:varchar(255)" orm:"column(resource_url)" description:"资源地址"`
	CreateTime   time.Time `gorm:"column:create_time;type:datetime" orm:"column(create_time)" description:"创建时间"`
	ResourceType int       `gorm:"column:resource_type;type:int" orm:"column(resource_type)" 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)
	err = global.DmSQL["rddp"].Create(item).Error
	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)
	err = global.DmSQL["rddp"].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"`
}