diff --git a/pkg/service/cast/work.go b/pkg/service/cast/work.go index 0c95350..9580e16 100644 --- a/pkg/service/cast/work.go +++ b/pkg/service/cast/work.go @@ -48,21 +48,16 @@ import ( "go.uber.org/zap" ) -func UpdateWorkImage(ctx *gin.Context) { - var req *cast.UpdateWorkImageReq +// UpdateWorkImageCore 更新作品图片的核心逻辑,可以被其他函数复用 +func UpdateWorkImageCore(ctx *gin.Context, req *cast.UpdateWorkImageReq) (*cast.UpdateWorkImageResp, error) { var infoResp *accountFiee.UserInfoResponse var err error var ok bool - if err = ctx.ShouldBind(&req); err != nil { - service.Error(ctx, err) - return - } loginInfo := login.GetUserInfoFromC(ctx) 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) if !reply.Val() { - service.Error(ctx, errors.New("请勿重复提交")) - return + return nil, errors.New("请勿重复提交") } defer func() { cache.RedisClient.Del(lockKey) @@ -72,37 +67,30 @@ func UpdateWorkImage(ctx *gin.Context) { /*for _, v := range req.Images { ok, err = check.SecurityFile(v) if err != nil { - service.Error(ctx, err) - return + return nil, err } if !ok { - service.Error(ctx, errors.New("图片鉴定未通过")) - return + return nil, errors.New("图片鉴定未通过") } } ok, err = check.SecurityText(req.Title) if err != nil { - service.Error(ctx, err) - return + return nil, err } if !ok { - service.Error(ctx, errors.New("标题鉴定未通过")) - return + return nil, errors.New("标题鉴定未通过") } ok, err = check.SecurityText(req.Content) if err != nil { - service.Error(ctx, err) - return + return nil, err } if !ok { - service.Error(ctx, errors.New("内容鉴定未通过")) - return + return nil, errors.New("内容鉴定未通过") }*/ if req.From != "ai" { for _, v := range req.Images { if filepath.Ext(v) != ".jpg" && filepath.Ext(v) != ".jpeg" { - service.Error(ctx, errors.New("图片格式只支持jpg")) - return + return nil, errors.New("图片格式只支持jpg") } } } @@ -112,8 +100,7 @@ func UpdateWorkImage(ctx *gin.Context) { for _, v := range images { imageUrl, err = checkAndReuploadImage(v, "image") if err != nil { - service.Error(ctx, errors.New("图片转换错误")) - return + return nil, errors.New("图片转换错误") } req.Images = append(req.Images, imageUrl) } @@ -124,8 +111,7 @@ func UpdateWorkImage(ctx *gin.Context) { }) zap.L().Info("UpdateWorkImage infoResp", zap.Any("infoResp", infoResp)) if err != nil { - service.Error(ctx, err) - return + return nil, err } req.ArtistName = infoResp.Name @@ -134,13 +120,26 @@ func UpdateWorkImage(ctx *gin.Context) { req.ArtistSubNum = infoResp.SubNum //artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) //if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil { - // service.Error(ctx, err) - // return + // return nil, err //} newCtx := NewCtxWithUserInfo(ctx) req.Source = 1 resp, err := service.CastProvider.UpdateWorkImage(newCtx, req) 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 { service.Error(ctx, err) return @@ -171,27 +170,21 @@ func UpdateWorkImage(ctx *gin.Context) { return } -func UpdateWorkVideo(ctx *gin.Context) { - var req *cast.UpdateWorkVideoReq +// UpdateWorkVideoCore 更新作品视频的核心逻辑,可以被其他函数复用 +func UpdateWorkVideoCore(ctx *gin.Context, req *cast.UpdateWorkVideoReq) (*cast.UpdateWorkVideoResp, error) { var infoResp *accountFiee.UserInfoResponse var err error var ok bool - if err = ctx.ShouldBind(&req); err != nil { - service.Error(ctx, err) - return - } if req.CoverUrl != "" { if filepath.Ext(req.CoverUrl) != ".jpg" && filepath.Ext(req.CoverUrl) != ".jpeg" { - service.Error(ctx, errors.New("图片格式只支持jpg")) - return + return nil, errors.New("图片格式只支持jpg") } } loginInfo := login.GetUserInfoFromC(ctx) 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) if !reply.Val() { - service.Error(ctx, errors.New("请勿重复提交")) - return + return nil, errors.New("请勿重复提交") } defer func() { cache.RedisClient.Del(lockKey) @@ -199,30 +192,24 @@ func UpdateWorkVideo(ctx *gin.Context) { fmt.Println(ok) /* ok, err = check.SecurityText(req.Title) if err != nil { - service.Error(ctx, err) - return + return nil, err } if !ok { - service.Error(ctx, errors.New("标题鉴定未通过")) - return + return nil, errors.New("标题鉴定未通过") } ok, err = check.SecurityText(req.Content) if err != nil { - service.Error(ctx, err) - return + return nil, err } if !ok { - service.Error(ctx, errors.New("内容鉴定未通过")) - return + return nil, errors.New("内容鉴定未通过") } ok, err = check.SecurityFile(req.CoverUrl) if err != nil { - service.Error(ctx, err) - return + return nil, err } if !ok { - service.Error(ctx, errors.New("图片鉴定未通过")) - return + return nil, errors.New("图片鉴定未通过") }*/ if req.VideoUrl != "" && false { //请求接口判断 @@ -231,12 +218,10 @@ func UpdateWorkVideo(ctx *gin.Context) { FileName: "", }) if errs != nil { - service.Error(ctx, errs) - return + return nil, errs } if fileResp.SecurityStatus == "high" { - service.Error(ctx, errors.New("视频鉴定未通过")) - return + return nil, errors.New("视频鉴定未通过") } } if config.AppConfig.System.AppMode != "dev" { @@ -247,8 +232,7 @@ func UpdateWorkVideo(ctx *gin.Context) { }) zap.L().Info("UpdateWorkVideo", zap.Any("infoResp", infoResp)) if err != nil { - service.Error(ctx, err) - return + return nil, err } } else { infoResp = &accountFiee.UserInfoResponse{ @@ -259,8 +243,7 @@ func UpdateWorkVideo(ctx *gin.Context) { } //artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) //if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeVideoValue); err != nil { - // service.Error(ctx, err) - // return + // return nil, err //} req.ArtistName = infoResp.Name req.ArtistPhone = infoResp.TelNum @@ -270,6 +253,20 @@ func UpdateWorkVideo(ctx *gin.Context) { req.Source = 1 resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req) 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 { service.Error(ctx, err) return diff --git a/pkg/service/taskbench/taskBench.go b/pkg/service/taskbench/taskBench.go index bd8659c..a0c91a5 100644 --- a/pkg/service/taskbench/taskBench.go +++ b/pkg/service/taskbench/taskBench.go @@ -376,6 +376,11 @@ func UpdateWorkImageWithTaskUUID(ctx *gin.Context) { service.Error(ctx, errors.New("任务已中止,不能上传图文")) return } + resp, err := castService.UpdateWorkImageCore(ctx, req.UpdateWorkImageReq) + if err != nil { + service.Error(ctx, err) + return + } if config.AppConfig.System.AppMode != "dev" { artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ @@ -393,21 +398,6 @@ func UpdateWorkImageWithTaskUUID(ctx *gin.Context) { 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 里面拿 userInfo := login.GetUserInfoFromC(ctx) // 调用员工实际任务状态更新 @@ -474,6 +464,11 @@ func UpdateWorkVideoWithUUID(ctx *gin.Context) { service.Error(ctx, errors.New("任务已中止,不能上传视频")) return } + resp, err := castService.UpdateWorkVideoCore(ctx, req.UpdateWorkVideoReq) + if err != nil { + service.Error(ctx, err) + return + } if config.AppConfig.System.AppMode != "dev" { artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ @@ -491,21 +486,6 @@ func UpdateWorkVideoWithUUID(ctx *gin.Context) { 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 里面拿 userInfo := login.GetUserInfoFromC(ctx) // 调用员工实际任务状态更新