fix:将任务管理台与发布管理里面的上传视频图文接口同步

This commit is contained in:
cjy 2026-01-07 15:20:25 +08:00
parent a3817266a8
commit b04fe6fd62
2 changed files with 65 additions and 88 deletions

View File

@ -48,21 +48,16 @@ import (
"go.uber.org/zap" "go.uber.org/zap"
) )
func UpdateWorkImage(ctx *gin.Context) { // UpdateWorkImageCore 更新作品图片的核心逻辑,可以被其他函数复用
var req *cast.UpdateWorkImageReq func UpdateWorkImageCore(ctx *gin.Context, req *cast.UpdateWorkImageReq) (*cast.UpdateWorkImageResp, error) {
var infoResp *accountFiee.UserInfoResponse var infoResp *accountFiee.UserInfoResponse
var err error var err error
var ok bool var ok bool
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
loginInfo := login.GetUserInfoFromC(ctx) loginInfo := login.GetUserInfoFromC(ctx)
lockKey := fmt.Sprintf("lock_update_work_image_%d", loginInfo.ID) lockKey := fmt.Sprintf("lock_update_work_image_%d", loginInfo.ID)
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5) reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5)
if !reply.Val() { if !reply.Val() {
service.Error(ctx, errors.New("请勿重复提交")) return nil, errors.New("请勿重复提交")
return
} }
defer func() { defer func() {
cache.RedisClient.Del(lockKey) cache.RedisClient.Del(lockKey)
@ -72,37 +67,30 @@ func UpdateWorkImage(ctx *gin.Context) {
/*for _, v := range req.Images { /*for _, v := range req.Images {
ok, err = check.SecurityFile(v) ok, err = check.SecurityFile(v)
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
if !ok { if !ok {
service.Error(ctx, errors.New("图片鉴定未通过")) return nil, errors.New("图片鉴定未通过")
return
} }
} }
ok, err = check.SecurityText(req.Title) ok, err = check.SecurityText(req.Title)
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
if !ok { if !ok {
service.Error(ctx, errors.New("标题鉴定未通过")) return nil, errors.New("标题鉴定未通过")
return
} }
ok, err = check.SecurityText(req.Content) ok, err = check.SecurityText(req.Content)
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
if !ok { if !ok {
service.Error(ctx, errors.New("内容鉴定未通过")) return nil, errors.New("内容鉴定未通过")
return
}*/ }*/
if req.From != "ai" { if req.From != "ai" {
for _, v := range req.Images { for _, v := range req.Images {
if filepath.Ext(v) != ".jpg" && filepath.Ext(v) != ".jpeg" { if filepath.Ext(v) != ".jpg" && filepath.Ext(v) != ".jpeg" {
service.Error(ctx, errors.New("图片格式只支持jpg")) return nil, errors.New("图片格式只支持jpg")
return
} }
} }
} }
@ -112,8 +100,7 @@ func UpdateWorkImage(ctx *gin.Context) {
for _, v := range images { for _, v := range images {
imageUrl, err = checkAndReuploadImage(v, "image") imageUrl, err = checkAndReuploadImage(v, "image")
if err != nil { if err != nil {
service.Error(ctx, errors.New("图片转换错误")) return nil, errors.New("图片转换错误")
return
} }
req.Images = append(req.Images, imageUrl) req.Images = append(req.Images, imageUrl)
} }
@ -124,8 +111,7 @@ func UpdateWorkImage(ctx *gin.Context) {
}) })
zap.L().Info("UpdateWorkImage infoResp", zap.Any("infoResp", infoResp)) zap.L().Info("UpdateWorkImage infoResp", zap.Any("infoResp", infoResp))
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
req.ArtistName = infoResp.Name req.ArtistName = infoResp.Name
@ -134,13 +120,26 @@ func UpdateWorkImage(ctx *gin.Context) {
req.ArtistSubNum = infoResp.SubNum req.ArtistSubNum = infoResp.SubNum
//artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) //artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
//if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil { //if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil {
// service.Error(ctx, err) // return nil, err
// return
//} //}
newCtx := NewCtxWithUserInfo(ctx) newCtx := NewCtxWithUserInfo(ctx)
req.Source = 1 req.Source = 1
resp, err := service.CastProvider.UpdateWorkImage(newCtx, req) resp, err := service.CastProvider.UpdateWorkImage(newCtx, req)
zap.L().Info("UpdateWorkImage resp", zap.Any("resp", resp)) zap.L().Info("UpdateWorkImage resp", zap.Any("resp", resp))
if err != nil {
return nil, err
}
return resp, nil
}
func UpdateWorkImage(ctx *gin.Context) {
var req *cast.UpdateWorkImageReq
var err error
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
resp, err := UpdateWorkImageCore(ctx, req)
if err != nil { if err != nil {
service.Error(ctx, err) service.Error(ctx, err)
return return
@ -171,27 +170,21 @@ func UpdateWorkImage(ctx *gin.Context) {
return return
} }
func UpdateWorkVideo(ctx *gin.Context) { // UpdateWorkVideoCore 更新作品视频的核心逻辑,可以被其他函数复用
var req *cast.UpdateWorkVideoReq func UpdateWorkVideoCore(ctx *gin.Context, req *cast.UpdateWorkVideoReq) (*cast.UpdateWorkVideoResp, error) {
var infoResp *accountFiee.UserInfoResponse var infoResp *accountFiee.UserInfoResponse
var err error var err error
var ok bool var ok bool
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
if req.CoverUrl != "" { if req.CoverUrl != "" {
if filepath.Ext(req.CoverUrl) != ".jpg" && filepath.Ext(req.CoverUrl) != ".jpeg" { if filepath.Ext(req.CoverUrl) != ".jpg" && filepath.Ext(req.CoverUrl) != ".jpeg" {
service.Error(ctx, errors.New("图片格式只支持jpg")) return nil, errors.New("图片格式只支持jpg")
return
} }
} }
loginInfo := login.GetUserInfoFromC(ctx) loginInfo := login.GetUserInfoFromC(ctx)
lockKey := fmt.Sprintf("lock_update_work_video_%d", loginInfo.ID) lockKey := fmt.Sprintf("lock_update_work_video_%d", loginInfo.ID)
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5) reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5)
if !reply.Val() { if !reply.Val() {
service.Error(ctx, errors.New("请勿重复提交")) return nil, errors.New("请勿重复提交")
return
} }
defer func() { defer func() {
cache.RedisClient.Del(lockKey) cache.RedisClient.Del(lockKey)
@ -199,30 +192,24 @@ func UpdateWorkVideo(ctx *gin.Context) {
fmt.Println(ok) fmt.Println(ok)
/* ok, err = check.SecurityText(req.Title) /* ok, err = check.SecurityText(req.Title)
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
if !ok { if !ok {
service.Error(ctx, errors.New("标题鉴定未通过")) return nil, errors.New("标题鉴定未通过")
return
} }
ok, err = check.SecurityText(req.Content) ok, err = check.SecurityText(req.Content)
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
if !ok { if !ok {
service.Error(ctx, errors.New("内容鉴定未通过")) return nil, errors.New("内容鉴定未通过")
return
} }
ok, err = check.SecurityFile(req.CoverUrl) ok, err = check.SecurityFile(req.CoverUrl)
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
if !ok { if !ok {
service.Error(ctx, errors.New("图片鉴定未通过")) return nil, errors.New("图片鉴定未通过")
return
}*/ }*/
if req.VideoUrl != "" && false { if req.VideoUrl != "" && false {
//请求接口判断 //请求接口判断
@ -231,12 +218,10 @@ func UpdateWorkVideo(ctx *gin.Context) {
FileName: "", FileName: "",
}) })
if errs != nil { if errs != nil {
service.Error(ctx, errs) return nil, errs
return
} }
if fileResp.SecurityStatus == "high" { if fileResp.SecurityStatus == "high" {
service.Error(ctx, errors.New("视频鉴定未通过")) return nil, errors.New("视频鉴定未通过")
return
} }
} }
if config.AppConfig.System.AppMode != "dev" { if config.AppConfig.System.AppMode != "dev" {
@ -247,8 +232,7 @@ func UpdateWorkVideo(ctx *gin.Context) {
}) })
zap.L().Info("UpdateWorkVideo", zap.Any("infoResp", infoResp)) zap.L().Info("UpdateWorkVideo", zap.Any("infoResp", infoResp))
if err != nil { if err != nil {
service.Error(ctx, err) return nil, err
return
} }
} else { } else {
infoResp = &accountFiee.UserInfoResponse{ infoResp = &accountFiee.UserInfoResponse{
@ -259,8 +243,7 @@ func UpdateWorkVideo(ctx *gin.Context) {
} }
//artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) //artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
//if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeVideoValue); err != nil { //if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeVideoValue); err != nil {
// service.Error(ctx, err) // return nil, err
// return
//} //}
req.ArtistName = infoResp.Name req.ArtistName = infoResp.Name
req.ArtistPhone = infoResp.TelNum req.ArtistPhone = infoResp.TelNum
@ -270,6 +253,20 @@ func UpdateWorkVideo(ctx *gin.Context) {
req.Source = 1 req.Source = 1
resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req) resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req)
zap.L().Info("UpdateWorkVideo", zap.Any("resp", resp)) zap.L().Info("UpdateWorkVideo", zap.Any("resp", resp))
if err != nil {
return nil, err
}
return resp, nil
}
func UpdateWorkVideo(ctx *gin.Context) {
var req *cast.UpdateWorkVideoReq
var err error
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
resp, err := UpdateWorkVideoCore(ctx, req)
if err != nil { if err != nil {
service.Error(ctx, err) service.Error(ctx, err)
return return

View File

@ -376,6 +376,11 @@ func UpdateWorkImageWithTaskUUID(ctx *gin.Context) {
service.Error(ctx, errors.New("任务已中止,不能上传图文")) service.Error(ctx, errors.New("任务已中止,不能上传图文"))
return return
} }
resp, err := castService.UpdateWorkImageCore(ctx, req.UpdateWorkImageReq)
if err != nil {
service.Error(ctx, err)
return
}
if config.AppConfig.System.AppMode != "dev" { if config.AppConfig.System.AppMode != "dev" {
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
@ -393,21 +398,6 @@ func UpdateWorkImageWithTaskUUID(ctx *gin.Context) {
TelAreaCode: "86", TelAreaCode: "86",
} }
} }
req.ArtistName = infoResp.Name
req.ArtistPhone = infoResp.TelNum
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
// artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
// if _, err = castService.CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil {
// service.Error(ctx, err)
// return
// }
newCtx := castService.NewCtxWithUserInfo(ctx)
req.Source = 1
resp, err := service.CastProvider.UpdateWorkImage(newCtx, req.UpdateWorkImageReq)
if err != nil {
service.Error(ctx, err)
return
}
// EmployeeName 和 EmployeeNum 从 toekn 里面拿 // EmployeeName 和 EmployeeNum 从 toekn 里面拿
userInfo := login.GetUserInfoFromC(ctx) userInfo := login.GetUserInfoFromC(ctx)
// 调用员工实际任务状态更新 // 调用员工实际任务状态更新
@ -474,6 +464,11 @@ func UpdateWorkVideoWithUUID(ctx *gin.Context) {
service.Error(ctx, errors.New("任务已中止,不能上传视频")) service.Error(ctx, errors.New("任务已中止,不能上传视频"))
return return
} }
resp, err := castService.UpdateWorkVideoCore(ctx, req.UpdateWorkVideoReq)
if err != nil {
service.Error(ctx, err)
return
}
if config.AppConfig.System.AppMode != "dev" { if config.AppConfig.System.AppMode != "dev" {
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
@ -491,21 +486,6 @@ func UpdateWorkVideoWithUUID(ctx *gin.Context) {
TelAreaCode: "86", TelAreaCode: "86",
} }
} }
// artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
// if _, err = castService.CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeVideoValue); err != nil {
// service.Error(ctx, err)
// return
// }
req.ArtistName = infoResp.Name
req.ArtistPhone = infoResp.TelNum
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
newCtx := castService.NewCtxWithUserInfo(ctx)
req.Source = 1
resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req.UpdateWorkVideoReq)
if err != nil {
service.Error(ctx, err)
return
}
// EmployeeName 和 EmployeeNum 从 toekn 里面拿 // EmployeeName 和 EmployeeNum 从 toekn 里面拿
userInfo := login.GetUserInfoFromC(ctx) userInfo := login.GetUserInfoFromC(ctx)
// 调用员工实际任务状态更新 // 调用员工实际任务状态更新