122 lines
4.6 KiB
Go
122 lines
4.6 KiB
Go
package tencent
|
|
|
|
import (
|
|
"context"
|
|
dto "dataengine/model/dto/tencent"
|
|
entity "dataengine/model/entity/tencent"
|
|
service "dataengine/service/tencent"
|
|
|
|
"gitea.redpowerfuture.com/red-future/common/beans"
|
|
)
|
|
|
|
type oauthController struct{}
|
|
|
|
// OauthController OAuth控制器
|
|
var OauthController = new(oauthController)
|
|
|
|
// RefreshToken 刷新腾讯广告Token
|
|
func (c *oauthController) RefreshToken(ctx context.Context, req *dto.RefreshTokenReq) (res *dto.RefreshTokenRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.OauthService.RefreshToken(ctx, req)
|
|
}
|
|
|
|
// SyncAccountRelation 同步账户关系(自动分页获取所有数据)
|
|
func (c *oauthController) SyncAccountRelation(ctx context.Context, req *dto.SyncAccountRelationReq) (res *dto.SyncAccountRelationRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.AccountRelationService.SyncAll(ctx, req)
|
|
}
|
|
|
|
// ListAccountRelation 获取所有账户关系
|
|
func (c *oauthController) ListAccountRelation(ctx context.Context, req *dto.ListAccountRelationReq) (res *dto.ListAccountRelationRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
|
|
list, err := service.AccountRelationService.ListAll(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// 转换为DTO
|
|
items := make([]dto.AccountRelationItem, 0, len(list))
|
|
for _, item := range list {
|
|
items = append(items, dto.AccountRelationItem{
|
|
ID: item.Id,
|
|
AccountID: item.AccountID,
|
|
CorporationName: item.CorporationName,
|
|
IsAdx: item.IsAdx,
|
|
IsBid: item.IsBid,
|
|
IsMp: item.IsMp,
|
|
})
|
|
}
|
|
|
|
res = &dto.ListAccountRelationRes{
|
|
List: items,
|
|
}
|
|
return res, nil
|
|
}
|
|
|
|
// SyncAudio 同步音乐素材(自动分页获取所有数据)
|
|
func (c *oauthController) SyncAudio(ctx context.Context, req *dto.SyncAudioReq) (res *dto.SyncAudioRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.AudioService.SyncAll(ctx, req)
|
|
}
|
|
|
|
// ListAudio 获取所有音乐素材
|
|
func (c *oauthController) ListAudio(ctx context.Context, req *dto.ListAudioReq) (res []entity.Audio, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.AudioService.ListAll(ctx)
|
|
}
|
|
|
|
// SyncImage 同步图片素材(遍历所有账户,自动分页)
|
|
func (c *oauthController) SyncImage(ctx context.Context, req *dto.SyncImageReq) (res *dto.SyncImageRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.ImageService.SyncAll(ctx, req)
|
|
}
|
|
|
|
// ListImage 获取所有图片素材(旧接口,保留兼容)
|
|
func (c *oauthController) ListImage(ctx context.Context, req *dto.ListImageReq) (res []entity.Image, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.ImageService.ListAll(ctx)
|
|
}
|
|
|
|
// ListImagePage 分页查询图片素材(支持时间过滤)
|
|
func (c *oauthController) ListImagePage(ctx context.Context, req *dto.ListImagePageReq) (res *dto.ListImageRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
// 转换请求参数为Service层使用的类型
|
|
queryReq := &dto.ListImageQueryReq{
|
|
Page: req.Page,
|
|
PageSize: req.PageSize,
|
|
AccountId: req.AccountId,
|
|
StartTime: req.StartTime,
|
|
EndTime: req.EndTime,
|
|
Status: req.Status,
|
|
}
|
|
return service.ImageService.ListWithPage(ctx, queryReq)
|
|
}
|
|
|
|
// SyncVideo 同步视频素材(遍历所有账户,自动分页)
|
|
func (c *oauthController) SyncVideo(ctx context.Context, req *dto.SyncVideoReq) (res *dto.SyncVideoRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.VideoService.SyncAll(ctx, req)
|
|
}
|
|
|
|
// ListVideo 获取所有视频素材(旧接口,保留兼容)
|
|
func (c *oauthController) ListVideo(ctx context.Context, req *dto.ListVideoReq) (res []entity.Video, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
return service.VideoService.ListAll(ctx)
|
|
}
|
|
|
|
// ListVideoPage 分页查询视频素材(支持时间过滤)
|
|
func (c *oauthController) ListVideoPage(ctx context.Context, req *dto.ListVideoPageReq) (res *dto.ListVideoRes, err error) {
|
|
ctx = context.WithValue(ctx, "user", &beans.User{UserName: "admin"})
|
|
// 转换请求参数为Service层使用的类型
|
|
queryReq := &dto.ListVideoQueryReq{
|
|
Page: req.Page,
|
|
PageSize: req.PageSize,
|
|
AccountId: req.AccountId,
|
|
StartTime: req.StartTime,
|
|
EndTime: req.EndTime,
|
|
Status: req.Status,
|
|
}
|
|
return service.VideoService.ListWithPage(ctx, queryReq)
|
|
}
|