|
|
package v2
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"gitlab.fjmaimaimai.com/mmm-go/gocomm/pkg/log"
|
|
|
oss "openapi/pkg/application/oss/service"
|
|
|
vod "openapi/pkg/application/vod/service"
|
|
|
"openapi/pkg/domain"
|
|
|
"openapi/pkg/infrastructure/aliyun"
|
|
|
"openapi/pkg/port/beego/controllers"
|
|
|
)
|
|
|
|
|
|
type VodController struct {
|
|
|
controllers.BaseController
|
|
|
}
|
|
|
|
|
|
//创建视频上传凭证 CreateUploadVideo
|
|
|
// @router /createUploadVideo [post]
|
|
|
func (this *VodController) CreateUploadVideo() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request *aliyun.CreateUploadVideoRequest
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
if len(request.FileName) == 0 {
|
|
|
request.FileName = aliyun.DefaultVideoFileName
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(vod.CreateUploadVideo(header, request))
|
|
|
}
|
|
|
|
|
|
//创建视频上传凭证(多个) CreateUploadVideos
|
|
|
// @router /createUploadVideos [post]
|
|
|
func (this *VodController) CreateUploadVideos() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
var response *aliyun.CreateUploadVideosResponse = &aliyun.CreateUploadVideosResponse{
|
|
|
List: make([]*aliyun.CreateUploadVideoResponse, 0),
|
|
|
}
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request *aliyun.CreateUploadVideosRequest
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
var err error
|
|
|
if len(request.Items) == 0 {
|
|
|
msg = domain.BadRequestParam(2)
|
|
|
}
|
|
|
for i := range request.Items {
|
|
|
r := request.Items[i]
|
|
|
if rsp, e := vod.CreateUploadVideo(header, r); e != nil {
|
|
|
err = e
|
|
|
break
|
|
|
} else {
|
|
|
response.List = append(response.List, rsp)
|
|
|
}
|
|
|
}
|
|
|
msg = domain.NewReturnResponse(response, err)
|
|
|
}
|
|
|
|
|
|
//刷新视频上传凭证 RefreshUploadVideo
|
|
|
// @router /refreshUploadVideo [post]
|
|
|
func (this *VodController) RefreshUploadVideo() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request *aliyun.RefreshUploadVideoRequest
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(vod.RefreshUploadVideo(header, request))
|
|
|
}
|
|
|
|
|
|
//创建图片上传凭证 CreateUploadImage
|
|
|
// @router /createUploadImage [post]
|
|
|
func (this *VodController) CreateUploadImage() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request *aliyun.CreateUploadImageRequest
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(vod.CreateUploadImage(header, request))
|
|
|
}
|
|
|
|
|
|
//创建图片上传凭证 CreateUploadImages
|
|
|
// @router /createUploadImages [post]
|
|
|
func (this *VodController) CreateUploadImages() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var (
|
|
|
request *aliyun.CreateUploadImagesRequest
|
|
|
response *aliyun.CreateUploadImagesResponse = &aliyun.CreateUploadImagesResponse{
|
|
|
List: make([]*aliyun.CreateUploadImageResponse, 0),
|
|
|
}
|
|
|
)
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
var err error
|
|
|
if len(request.Items) == 0 {
|
|
|
msg = domain.BadRequestParam(2)
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
for i := range request.Items {
|
|
|
r := request.Items[i]
|
|
|
if rsp, e := vod.CreateUploadImage(header, r); e != nil {
|
|
|
err = e
|
|
|
break
|
|
|
} else {
|
|
|
response.List = append(response.List, rsp)
|
|
|
}
|
|
|
}
|
|
|
msg = domain.NewReturnResponse(response, err)
|
|
|
}
|
|
|
|
|
|
//获取视频播放地址 GetPlayInfo
|
|
|
// @router /getPlayInfo [post]
|
|
|
func (this *VodController) GetPlayInfo() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request *aliyun.GetPlayInfoRequest
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(vod.GetPlayInfo(header, request))
|
|
|
}
|
|
|
|
|
|
//获取视频播放凭证 GetVideoPlayAuth
|
|
|
// @router /getVideoPlayAuth [post]
|
|
|
func (this *VodController) GetVideoPlayAuth() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request *aliyun.GetVideoPlayAuthRequest
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
if b, m := this.Valid(request); !b {
|
|
|
msg = m
|
|
|
return
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(vod.GetVideoPlayAuth(header, request))
|
|
|
}
|
|
|
|
|
|
//归档对象 PutObject
|
|
|
// @router /putObject [post]
|
|
|
func (this *VodController) PutObject() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(oss.CreateOssUpload(header, this.Ctx.Request.MultipartForm))
|
|
|
}
|
|
|
|
|
|
// STS授权 CreateStsAuth
|
|
|
// @router /createStsAuth [post]
|
|
|
func (this *VodController) CreateStsAuth() {
|
|
|
var msg *domain.ResponseMessage
|
|
|
defer func() {
|
|
|
this.Resp(msg)
|
|
|
}()
|
|
|
var request = struct {
|
|
|
FileNames []string `json:"files"`
|
|
|
}{}
|
|
|
if err := json.Unmarshal(this.ByteBody, &request); err != nil {
|
|
|
log.Error(err)
|
|
|
msg = domain.BadRequestParam(1)
|
|
|
return
|
|
|
}
|
|
|
header := controllers.GetRequestHeader(this.Ctx)
|
|
|
msg = domain.NewReturnResponse(oss.CreateStsAuth(header, request.FileNames))
|
|
|
} |
...
|
...
|
|