117 lines
3.6 KiB
Go
117 lines
3.6 KiB
Go
package updownloadser
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"time"
|
|
|
|
"91porn-server/app/appg"
|
|
"91porn-server/common"
|
|
"91porn-server/common/constant"
|
|
"91porn-server/common/httputil"
|
|
"91porn-server/common/log"
|
|
"91porn-server/models/commod"
|
|
"91porn-server/models/v/vidmod"
|
|
)
|
|
|
|
// SendVidCover2FS 传送图片
|
|
func SendVidCover2FS(id string, ext string, fileData string) (respBody commod.Resp, err error) {
|
|
var params = map[string]string{
|
|
"fileData": fileData,
|
|
"ext": ext,
|
|
}
|
|
code, err := httputil.DefaultClientPostJsonWithResp(&respBody, common.BindUrl(appg.Conf.URL.UploadImgUrl, id), nil, params)
|
|
log.Info("http method SendVidCover2FS response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
|
if err != nil {
|
|
log.Error("file upload wrong ", log.E(err))
|
|
}
|
|
return
|
|
}
|
|
|
|
// SendFile2FS 传送视频文件到Fs
|
|
func SendFile2FS(fileID string, fileData string, pos int64, total int64) (respBody commod.Resp, err error) {
|
|
respBody = commod.Resp{}
|
|
var params = map[string]interface{}{
|
|
"taskId": fileID,
|
|
"fileData": fileData,
|
|
"pos": pos,
|
|
"totalPos": total,
|
|
"type": "sp",
|
|
}
|
|
c, cancle := context.WithTimeout(context.Background(), 5*time.Minute)
|
|
defer cancle()
|
|
code, err := httputil.DefaultClientPostJsonWithRespWithCtx(c, &respBody, appg.Conf.URL.UploadUrl, nil, params)
|
|
log.Info("http method SendFile2FS response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
|
if err != nil {
|
|
log.Error("SendFile2FS file upload wrong ", log.E(err))
|
|
}
|
|
return
|
|
}
|
|
|
|
// SendImageToFS 传送图片
|
|
func SendImageToFS(fileName, fileData string) (respBody vidmod.FsSendSingleResp, err error) {
|
|
var params = map[string]interface{}{
|
|
"fileData": fileData,
|
|
"fileName": fileName,
|
|
}
|
|
code, err := httputil.DefaultClientPostJsonWithResp(&respBody, appg.Conf.URL.SendSingleFile, nil, params)
|
|
log.Info("http method SendImageToFS response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
|
if err != nil {
|
|
log.Error("SendImageToFS file upload wrong ", log.E(err))
|
|
}
|
|
return
|
|
}
|
|
|
|
type FileInfo struct {
|
|
FileName *string `json:"fileName"` // 文件名称
|
|
FileData *string `json:"fileData"` // 文件存储在那台服务器
|
|
Resize bool `json:"resize"`
|
|
}
|
|
|
|
type InfoBatch struct {
|
|
Batch []*FileInfo `json:"batch"` //Info array
|
|
}
|
|
|
|
// SendImageToFSBatch 传送图片
|
|
func SendImageToFSBatch(batch InfoBatch) (respBody vidmod.FsSendBatchResp, err error) {
|
|
if len(batch.Batch) == 0 {
|
|
err = errors.New("no file")
|
|
return
|
|
}
|
|
c, cancle := context.WithTimeout(context.Background(), 5*time.Minute)
|
|
defer cancle()
|
|
|
|
code, err := httputil.DefaultClientPostJsonWithRespWithCtx(c, &respBody, appg.Conf.URL.SendBatchFile, nil, batch)
|
|
log.Info("http method SendImageToFSBatch response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
|
if err != nil {
|
|
log.Error("SendImageToFSBatch file upload wrong ", log.E(err))
|
|
}
|
|
return
|
|
}
|
|
|
|
// FsIO 获取io.ready
|
|
func FsIO(source, mds string) (data []byte, err error) {
|
|
c, cancle := context.WithTimeout(context.Background(), 5*time.Minute)
|
|
defer cancle()
|
|
_, data, err = httputil.DefaultClientGetBytesWithCtx(c, common.BindUrl(getOriginUrl(mds), source), nil)
|
|
if err != nil {
|
|
log.ZapLog.Warn("download file error", log.E(err))
|
|
}
|
|
return
|
|
}
|
|
|
|
func getOriginUrl(mds string) string {
|
|
switch mds {
|
|
case constant.MediaSourcePMS:
|
|
return appg.Conf.URL.CdnUrl
|
|
case constant.MediaSourceSP:
|
|
return appg.Conf.URL.OriginUrl
|
|
case constant.MediaSourceLaoSiJi:
|
|
return appg.Conf.URL.LaoSiJiOriginUrl
|
|
case constant.MediaSourceJH1B:
|
|
return appg.Conf.URL.JH1BOriginUrl
|
|
default:
|
|
return appg.Conf.URL.OriginUrl
|
|
}
|
|
}
|