diff --git a/app/mix/service/apiservice_business_validation.go b/app/mix/service/apiservice_business_validation.go index 94c50aac..afa74e5a 100644 --- a/app/mix/service/apiservice_business_validation.go +++ b/app/mix/service/apiservice_business_validation.go @@ -226,6 +226,7 @@ func (s *Service) ApiUpdateAccountBusinessValidate(ctx *gin.Context, req *accoun // 1.业务校验 result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.Account.Avatar). EnsureIsOperatingHisOwn(util.DerefInt64(req.Account.Mid)). Validate(). Collect() @@ -421,6 +422,8 @@ func (s *Service) ApiCreateStreamerAuthApprovalBusinessValidate(ctx *gin.Context ec = errcode.ErrCodeStreamerAuthApprovalSrvOk result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.StreamerAuthApproval.Album). + EnsureMediaIsSuccessfullyUploaded(req.StreamerAuthApproval.Shorts). EnsureIsOperatingHisOwn(util.DerefInt64(req.StreamerAuthApproval.Mid)). Validate(). Collect() @@ -479,6 +482,8 @@ func (s *Service) ApiUpdateStreamerBusinessValidate(ctx *gin.Context, req *strea ec = errcode.ErrCodeStreamerSrvOk result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.Streamer.Album). + EnsureMediaIsSuccessfullyUploaded(req.Streamer.Shorts). EnsureIsOperatingHisOwn(util.DerefInt64(req.Streamer.Mid)). Validate(). Collect() diff --git a/app/mix/service/opservice_business_validation.go b/app/mix/service/opservice_business_validation.go index 3ea1a119..944eb6c9 100644 --- a/app/mix/service/opservice_business_validation.go +++ b/app/mix/service/opservice_business_validation.go @@ -1,6 +1,7 @@ package service import ( + "service/api/consts" "service/api/errcode" accountproto "service/api/proto/account/proto" accountpunishmentproto "service/api/proto/accountpunishment/proto" @@ -242,6 +243,7 @@ func (s *Service) OpUpdateAccountBusinessValidate(ctx *gin.Context, req *account // 1.业务校验 result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.Account.Avatar). QueryAccount(_DefaultAccount.OpListByMid). EnsureAccountExist(). EnsureIsOpRole(). @@ -518,6 +520,8 @@ func (s *Service) OpUpdateStreamerBusinessValidate(ctx *gin.Context, req *stream // 1.业务校验 result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.Streamer.Album). + EnsureMediaIsSuccessfullyUploaded(req.Streamer.Shorts). QueryAccount(_DefaultAccount.OpListByMid). EnsureAccountExist(). EnsureIsOpRole(). @@ -1146,6 +1150,7 @@ func (s *Service) OpCreateMomentBusinessValidate(ctx *gin.Context, req *momentpr ec = errcode.ErrCodeMomentSrvOk // 1.业务校验 result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.Moment.MediaComp). QueryAccount(_DefaultAccount.OpListByMid). EnsureAccountExist(). EnsureIsOpRole(). @@ -1162,6 +1167,7 @@ func (s *Service) OpUpdateMomentBusinessValidate(ctx *gin.Context, req *momentpr ec = errcode.ErrCodeMomentSrvOk // 1.业务校验 result := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.Moment.MediaComp). QueryAccount(_DefaultAccount.OpListByMid). EnsureAccountExist(). EnsureIsOpRole(). @@ -1445,3 +1451,53 @@ func (s *Service) OpUpdateZoneThirdPartnerBusinessValidate(ctx *gin.Context, req } return } + +func (s *Service) OpCreateZoneMomentBusinessValidate(ctx *gin.Context, req *zonemomentproto.OpCreateReq) (ec errcode.ErrCode, accountpunishment *dbstruct.AccountPunishment) { + ec = errcode.ErrCodeMomentSrvOk + + mediaVisibleRange := int64(0) + switch req.ZoneMoment.GetCType() { + case consts.ZoneMomentCType_Free: + case consts.ZoneMomentCType_Paid: + mediaVisibleRange = req.ZoneMoment.GetMediaVisibleRange() + } + + resultList := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.ZoneMoment.MediaComp). + EnsureZoneMomentImagesEnoughForEncryption(req.ZoneMoment.GetMType(), req.ZoneMoment.MediaComp, mediaVisibleRange). + EnsureAmongZoneMomentsPaidItemsLessThanFreeItems(_DefaultZoneMoment.OpCountByMidAndCType, req.ZoneMoment.GetMid(), req.ZoneMoment.GetCType()). + EnsureZoneMomentCreateTimesNotReachedDailyUpperbound(_DefaultZoneMomentCreateTimes.OpGetAndUpdate, req.ZoneMoment.GetMid(), req.ZoneMoment.GetCType()). + Validate(). + Collect() + ec, _ = resultList[0].(errcode.ErrCode) + accountpunishment, _ = resultList[3].(*dbstruct.AccountPunishment) + if ec != errcode.ErrCodeOk { + logger.Error("OpCreateZoneMomentBusinessValidate business validation failed!") + return + } + + return +} + +func (s *Service) OpUpdateZoneMomentBusinessValidate(ctx *gin.Context, req *zonemomentproto.OpUpdateReq) (ec errcode.ErrCode) { + ec = errcode.ErrCodeMomentSrvOk + + mediaVisibleRange := int64(0) + switch req.ZoneMoment.GetCType() { + case consts.ZoneMomentCType_Paid: + mediaVisibleRange = req.ZoneMoment.GetMediaVisibleRange() + } + + resultList := businessvalidator.NewAuthBusinessValidator(ctx, req). + EnsureMediaIsSuccessfullyUploaded(req.ZoneMoment.MediaComp). + EnsureZoneMomentImagesEnoughForEncryption(req.ZoneMoment.GetMType(), req.ZoneMoment.MediaComp, mediaVisibleRange). + Validate(). + Collect() + ec, _ = resultList[0].(errcode.ErrCode) + if ec != errcode.ErrCodeOk { + logger.Error("OpUpdateZoneMomentBusinessValidate business validation failed!") + return + } + + return +}