diff --git a/api/proto/zone/proto/zone_op.go b/api/proto/zone/proto/zone_op.go index f826906b..2f437c8c 100644 --- a/api/proto/zone/proto/zone_op.go +++ b/api/proto/zone/proto/zone_op.go @@ -61,9 +61,9 @@ type OpListReq struct { } type OpListData struct { - List []*dbstruct.Zone `json:"list"` - Offset int `json:"offset"` - More int `json:"more"` + List []*OpZoneVO `json:"list"` + Offset int `json:"offset"` + More int `json:"more"` } type OpListResp struct { diff --git a/api/proto/zonemoment/proto/not_null_def_op.go b/api/proto/zonemoment/proto/not_null_def_op.go index b57c3124..5f9d6039 100644 --- a/api/proto/zonemoment/proto/not_null_def_op.go +++ b/api/proto/zonemoment/proto/not_null_def_op.go @@ -80,6 +80,7 @@ func (p *OpSetPrivateReq) ProvideNotNullValue() (params []*validator.JsonParam) params = make([]*validator.JsonParam, 0) params = append(params, validator.NewInt64PtrParam("请确认待审批动态的id!", p.ZoneMomentId)) + params = append(params, validator.NewStringParam("请确认人工审批意见!", p.ManuallyReviewOpinion)) return } diff --git a/api/proto/zonemoment/proto/zonemoment_op.go b/api/proto/zonemoment/proto/zonemoment_op.go index efc2e998..4693e913 100644 --- a/api/proto/zonemoment/proto/zonemoment_op.go +++ b/api/proto/zonemoment/proto/zonemoment_op.go @@ -213,7 +213,8 @@ type OpHeadResp struct { // op 退回动态 type OpSetPrivateReq struct { base.BaseRequest - ZoneMomentId *int64 `json:"zone_moment_id"` + ZoneMomentId *int64 `json:"zone_moment_id"` + ManuallyReviewOpinion string `json:"manually_review_opinion"` } type OpSetPrivateData struct { diff --git a/app/mix/service/apiservice.go b/app/mix/service/apiservice.go index 895fd9f0..12ab027c 100644 --- a/app/mix/service/apiservice.go +++ b/app/mix/service/apiservice.go @@ -2653,6 +2653,26 @@ func (s *Service) ApiDeleteZoneMoment(ctx *gin.Context, req *zonemomentproto.Api return } + // 回退空间内统计总数,只回退公开的情况 + if zonemoment.GetStatus() == consts.ZoneMoment_Public { + mediaCountInc := len(zonemoment.MediaComp.GetImageIds()) + videoCountInc := len(zonemoment.MediaComp.GetVideoIds()) + err = _DefaultZone.RecordStatisticsById(ctx, zonemoment.GetZid(), -1, -int64(mediaCountInc), -int64(videoCountInc)) + if err != nil { + logger.Error("RecordStatisticsById fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeZoneSrvFail + return + } + } + + // 回退每日发帖次数 + totalIncr := int64(-1) + _, err = _DefaultZoneMomentCreateTimes.OpGetAndUpdate(ctx, zone.GetMid(), totalIncr) + if err != nil { + logger.Error("OpGetAndUpdate fail, err: %v", err) + ec = errcode.ErrCodeZoneMomentSrvFail + } + // 查看空间最后更新时间是否需要回退 if zonemoment.GetStatus() == consts.ZoneMoment_Public { list, err := _DefaultZoneMoment.OpListByMid(ctx, &zonemomentproto.OpListByMidReq{ @@ -2699,26 +2719,6 @@ func (s *Service) ApiDeleteZoneMoment(ctx *gin.Context, req *zonemomentproto.Api } } - // 回退空间内统计总数,只回退公开的情况 - if zonemoment.GetStatus() == consts.ZoneMoment_Public { - mediaCountInc := len(zonemoment.MediaComp.GetImageIds()) - videoCountInc := len(zonemoment.MediaComp.GetVideoIds()) - err = _DefaultZone.RecordStatisticsById(ctx, zonemoment.GetZid(), -1, -int64(mediaCountInc), -int64(videoCountInc)) - if err != nil { - logger.Error("RecordStatisticsById fail, req: %v, err: %v", util.ToJson(req), err) - ec = errcode.ErrCodeZoneSrvFail - return - } - } - - // 回退每日发帖次数 - totalIncr := int64(-1) - _, err = _DefaultZoneMomentCreateTimes.OpGetAndUpdate(ctx, zone.GetMid(), totalIncr) - if err != nil { - logger.Error("OpGetAndUpdate fail, err: %v", err) - ec = errcode.ErrCodeZoneMomentSrvFail - } - return } diff --git a/app/mix/service/service.go b/app/mix/service/service.go index 7406a0a7..7fa0805b 100644 --- a/app/mix/service/service.go +++ b/app/mix/service/service.go @@ -3215,7 +3215,7 @@ func (s *Service) OpDeleteZone(ctx *gin.Context, id int64) (ec errcode.ErrCode) return } -func (s *Service) OpGetZoneList(ctx *gin.Context, req *zoneproto.OpListReq) (list []*dbstruct.Zone, ec errcode.ErrCode) { +func (s *Service) OpGetZoneList(ctx *gin.Context, req *zoneproto.OpListReq) (volist []*zoneproto.OpZoneVO, ec errcode.ErrCode) { ec = errcode.ErrCodeZoneSrvOk list, err := _DefaultZone.OpList(ctx, req) if err != nil { @@ -3223,6 +3223,15 @@ func (s *Service) OpGetZoneList(ctx *gin.Context, req *zoneproto.OpListReq) (lis ec = errcode.ErrCodeZoneSrvFail return } + + // 填充必要信息 + volist, err = s.utilFillZonesWithOpVOInfo(ctx, list) + if err != nil { + logger.Error("utilFillZonesWithOpVOInfo fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeZoneSrvFail + return + } + return } @@ -3416,6 +3425,18 @@ func (s *Service) OpDeleteZoneMoment(ctx *gin.Context, req *zonemomentproto.OpDe return } + // 回退空间内统计总数,只回退公开的情况 + if zonemoment.GetStatus() == consts.ZoneMoment_Public { + mediaCountInc := len(zonemoment.MediaComp.GetImageIds()) + videoCountInc := len(zonemoment.MediaComp.GetVideoIds()) + err = _DefaultZone.RecordStatisticsById(ctx, zonemoment.GetZid(), -1, -int64(mediaCountInc), -int64(videoCountInc)) + if err != nil { + logger.Error("RecordStatisticsById fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeZoneSrvFail + return + } + } + // 查看空间最后更新时间是否需要回退 if zonemoment.GetStatus() == consts.ZoneMoment_Public { list, err := _DefaultZoneMoment.OpListByMid(ctx, &zonemomentproto.OpListByMidReq{ @@ -3462,18 +3483,6 @@ func (s *Service) OpDeleteZoneMoment(ctx *gin.Context, req *zonemomentproto.OpDe } } - // 回退空间内统计总数,只回退公开的情况 - if zonemoment.GetStatus() == consts.ZoneMoment_Public { - mediaCountInc := len(zonemoment.MediaComp.GetImageIds()) - videoCountInc := len(zonemoment.MediaComp.GetVideoIds()) - err = _DefaultZone.RecordStatisticsById(ctx, zonemoment.GetZid(), -1, -int64(mediaCountInc), -int64(videoCountInc)) - if err != nil { - logger.Error("RecordStatisticsById fail, req: %v, err: %v", util.ToJson(req), err) - ec = errcode.ErrCodeZoneSrvFail - return - } - } - return } @@ -3654,8 +3663,10 @@ func (s *Service) OpSetPrivateZoneMoment(ctx *gin.Context, req *zonemomentproto. // 更新动态的状态 err = _DefaultZoneMoment.OpUpdate(ctx, &zonemomentproto.OpUpdateReq{ ZoneMoment: &dbstruct.ZoneMoment{ - Id: req.ZoneMomentId, - Status: goproto.Int64(consts.ZoneMoment_Private), + Id: req.ZoneMomentId, + Status: goproto.Int64(consts.ZoneMoment_Private), + ManuallyReviewStatus: goproto.Int64(consts.ZoneMomentManuallyReview_Rejected), + ManuallyReviewOpinion: goproto.String(req.ManuallyReviewOpinion), }, }) if err != nil {