From c2567cbab4e600886890b03936097dafd8884f54 Mon Sep 17 00:00:00 2001 From: Leufolium Date: Fri, 5 Jul 2024 16:26:36 +0800 Subject: [PATCH 1/2] by Robin at 20240705 --- api/consts/status.go | 7 ++++--- app/mix/service/apiservice.go | 10 ++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/api/consts/status.go b/api/consts/status.go index f9e20872..71d1e3f9 100644 --- a/api/consts/status.go +++ b/api/consts/status.go @@ -287,7 +287,8 @@ const ( // 主播入驻完善人工复审 const ( - StreamerAuthApprovalDetailsApprove_Waiting = 0 //等待复审 - StreamerAuthApprovalDetailsApprove_Passed = 1 //已复审通过 - StreamerAuthApprovalDetailsApprove_Rejected = 2 //已复审拒绝 + StreamerAuthApprovalDetailsApprove_Waiting = 0 //等待复审 + StreamerAuthApprovalDetailsApprove_Passed = 1 //已复审通过 + StreamerAuthApprovalDetailsApprove_Rejected = 2 //已复审拒绝 + StreamerAuthApprovalDetailsApprove_Approving = 3 //跟进中 ) diff --git a/app/mix/service/apiservice.go b/app/mix/service/apiservice.go index d4af3e8f..b21e56e9 100644 --- a/app/mix/service/apiservice.go +++ b/app/mix/service/apiservice.go @@ -1095,6 +1095,11 @@ func (s *Service) ApiGetStreamerAuthApprovalBasicList(ctx *gin.Context, req *str ec = errcode.ErrCodeStreamerAuthApprovalBasicSrvFail return } + if streamerauthapprovalbasic == nil { + logger.Error("No streamer auth approval basic entity was found, req: %v", util.ToJson(req)) + ec = errcode.ErrCodeStreamerAuthApprovalBasicNotExist + return + } account, err := _DefaultAccount.OpListByMid(ctx, &accountproto.OpListByMidReq{ Mid: streamerauthapprovalbasic.Mid, @@ -1168,6 +1173,11 @@ func (s *Service) ApiGetStreamerAuthApprovalDetailsList(ctx *gin.Context, req *s ec = errcode.ErrCodeStreamerAuthApprovalDetailsSrvFail return } + if streamerauthapprovaldetails == nil { + logger.Error("No streamer auth approval details entity was found, req: %v", util.ToJson(req)) + ec = errcode.ErrCodeStreamerAuthApprovalDetailsNotExist + return + } account, err := _DefaultAccount.OpListByMid(ctx, &accountproto.OpListByMidReq{ Mid: streamerauthapprovaldetails.Mid, From ffcd55982504b8690118928475f8ee94b2880b12 Mon Sep 17 00:00:00 2001 From: Leufolium Date: Fri, 5 Jul 2024 16:47:36 +0800 Subject: [PATCH 2/2] by Robin at 20240705 --- api/consts/status.go | 9 +++-- .../proto/streamerauthapproval_api.go | 15 ++++++++ app/mix/controller/init.go | 1 + .../streamerauthapproval_details_api.go | 21 ++++++++++-- app/mix/service/apiservice.go | 34 +++++++++++++++++++ app/mix/service/service.go | 6 ++-- dbstruct/streamerauthapproval.go | 14 ++++++++ 7 files changed, 92 insertions(+), 8 deletions(-) diff --git a/api/consts/status.go b/api/consts/status.go index 71d1e3f9..fb5096fc 100644 --- a/api/consts/status.go +++ b/api/consts/status.go @@ -272,9 +272,11 @@ const ( // 主播入驻人工审核 const ( - StreamerAuthApprovalDetailsBasic_Waiting = 0 //等待复审 - StreamerAuthApprovalDetailsBasic_Passed = 1 //已复审通过 - StreamerAuthApprovalDetailsBasic_Rejected = 2 //已复审拒绝 + StreamerAuthApprovalBasicApprove_Waiting = 0 //等待复审 + StreamerAuthApprovalBasicApprove_Passed = 1 //已复审通过 + StreamerAuthApprovalBasicApprove_Rejected = 2 //已复审拒绝 + StreamerAuthApprovalBasicApprove_Approving = 3 //跟进中 + StreamerAuthApprovalBasicApprove_NotFound = 4 //未提交 ) // 主播入驻完善表status @@ -291,4 +293,5 @@ const ( StreamerAuthApprovalDetailsApprove_Passed = 1 //已复审通过 StreamerAuthApprovalDetailsApprove_Rejected = 2 //已复审拒绝 StreamerAuthApprovalDetailsApprove_Approving = 3 //跟进中 + StreamerAuthApprovalDetailsApprove_NotFound = 4 //未提交 ) diff --git a/api/proto/streamerauthapprovaldetails/proto/streamerauthapproval_api.go b/api/proto/streamerauthapprovaldetails/proto/streamerauthapproval_api.go index c44e7ff0..ec489ff5 100644 --- a/api/proto/streamerauthapprovaldetails/proto/streamerauthapproval_api.go +++ b/api/proto/streamerauthapprovaldetails/proto/streamerauthapproval_api.go @@ -45,3 +45,18 @@ type ApiListResp struct { base.BaseResponse Data *ApiListData `json:"data"` } + +// api 列表 +type ApiGetApproveStatusesReq struct { + base.BaseRequest +} + +type ApiGetApproveStatusesData struct { + BasicStatus int64 `json:"basic_status"` + DetailsStatus int64 `json:"details_status"` +} + +type ApiGetApproveStatusesResp struct { + base.BaseResponse + Data *ApiGetApproveStatusesData `json:"data"` +} diff --git a/app/mix/controller/init.go b/app/mix/controller/init.go index 0a7ef5ea..6c535c5c 100644 --- a/app/mix/controller/init.go +++ b/app/mix/controller/init.go @@ -146,6 +146,7 @@ func Init(r *gin.Engine) { apiStreamerAuthApprovalGroup.POST("create_details", middleware.JSONParamValidator(streamerauthapprovaldetailsproto.ApiCreateReq{}), middleware.JwtAuthenticator(), ApiCreateStreamerAuthApprovalDetails) apiStreamerAuthApprovalGroup.POST("delete_details", middleware.JSONParamValidator(streamerauthapprovaldetailsproto.ApiDeleteReq{}), middleware.JwtAuthenticator(), ApiDeleteStreamerAuthApprovalDetails) apiStreamerAuthApprovalGroup.POST("list_details", middleware.JSONParamValidator(streamerauthapprovaldetailsproto.ApiListReq{}), middleware.JwtAuthenticator(), ApiGetStreamerAuthApprovalDetailsList) + apiStreamerAuthApprovalGroup.POST("get_statuses", middleware.JSONParamValidator(streamerauthapprovaldetailsproto.ApiGetApproveStatusesReq{}), middleware.JwtAuthenticator(), ApiGetStreamerAuthApprovalApproveStatuses) // 主播 apiStreamerGroup := r.Group("/api/streamer", PrepareToC()) diff --git a/app/mix/controller/streamerauthapproval_details_api.go b/app/mix/controller/streamerauthapproval_details_api.go index a7b9e777..5f4aeccc 100644 --- a/app/mix/controller/streamerauthapproval_details_api.go +++ b/app/mix/controller/streamerauthapproval_details_api.go @@ -14,7 +14,7 @@ import ( func ApiCreateStreamerAuthApprovalDetails(ctx *gin.Context) { req := ctx.MustGet("client_req").(*streamerauthapprovaldetailsproto.ApiCreateReq) ec := service.DefaultService.ApiCreateStreamerAuthApprovalDetails(ctx, req) - if ec != errcode.ErrCodeStreamerAuthApprovalSrvOk { + if ec != errcode.ErrCodeStreamerAuthApprovalDetailsSrvOk { logger.Error("ApiCreateStreamerAuthApproval fail, req: %v, ec: %v", util.ToJson(req), ec) ReplyErrCodeMsg(ctx, ec) return @@ -39,7 +39,7 @@ func ApiGetStreamerAuthApprovalDetailsList(ctx *gin.Context) { req := ctx.MustGet("client_req").(*streamerauthapprovaldetailsproto.ApiListReq) streamerauthapprovaldetails, ec := service.DefaultService.ApiGetStreamerAuthApprovalDetailsList(ctx, req) - if ec != errcode.ErrCodeStreamerAuthApprovalSrvOk { + if ec != errcode.ErrCodeStreamerAuthApprovalDetailsSrvOk { logger.Error("ApiGetStreamerAuthApprovalList fail, req: %v, ec: %v", util.ToJson(req), ec) ReplyErrCodeMsg(ctx, ec) return @@ -58,3 +58,20 @@ func ApiGetStreamerAuthApprovalDetailsList(ctx *gin.Context) { } ReplyOk(ctx, data) } + +func ApiGetStreamerAuthApprovalApproveStatuses(ctx *gin.Context) { + req := ctx.MustGet("client_req").(*streamerauthapprovaldetailsproto.ApiGetApproveStatusesReq) + + basicStatus, detailsStatus, ec := service.DefaultService.GetStreamerAuthApprovalStatuses(ctx, req) + if ec != errcode.ErrCodeStreamerAuthApprovalDetailsSrvOk { + logger.Error("GetStreamerAuthApprovalStatuses fail, req: %v, ec: %v", util.ToJson(req), ec) + ReplyErrCodeMsg(ctx, ec) + return + } + + data := &streamerauthapprovaldetailsproto.ApiGetApproveStatusesData{ + BasicStatus: basicStatus, + DetailsStatus: detailsStatus, + } + ReplyOk(ctx, data) +} diff --git a/app/mix/service/apiservice.go b/app/mix/service/apiservice.go index b21e56e9..4deea5a1 100644 --- a/app/mix/service/apiservice.go +++ b/app/mix/service/apiservice.go @@ -1195,6 +1195,40 @@ func (s *Service) ApiGetStreamerAuthApprovalDetailsList(ctx *gin.Context, req *s return } +func (s *Service) GetStreamerAuthApprovalStatuses(ctx *gin.Context, req *streamerauthapprovaldetailsproto.ApiGetApproveStatusesReq) (basicStatus int64, detailsStatus int64, ec errcode.ErrCode) { + ec = errcode.ErrCodeStreamerAuthApprovalDetailsSrvOk + + streamerauthapprovalbasic, err := _DefaultStreamerAuthApprovalBasic.OpListByMid(ctx, &streamerauthapprovalbasicproto.OpListByMidReq{ + Uid: goproto.Int64(req.BaseRequest.Mid), + }) + if err != nil { + logger.Error("OpListByMid fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeStreamerAuthApprovalBasicSrvFail + return + } + if streamerauthapprovalbasic == nil { + basicStatus = consts.StreamerAuthApprovalBasicApprove_NotFound + } else { + basicStatus = streamerauthapprovalbasic.GetApproveStatus() + } + + streamerauthapprovaldetails, err := _DefaultStreamerAuthApprovalDetails.OpListByMid(ctx, &streamerauthapprovaldetailsproto.OpListByMidReq{ + Uid: goproto.Int64(req.BaseRequest.Mid), + }) + if err != nil { + logger.Error("OpListByMid fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeStreamerAuthApprovalDetailsSrvFail + return + } + if streamerauthapprovaldetails == nil { + detailsStatus = consts.StreamerAuthApprovalDetailsApprove_NotFound + } else { + detailsStatus = streamerauthapprovaldetails.GetApproveStatus() + } + + return +} + // Streamer func (s *Service) ApiUpdateStreamer(ctx *gin.Context, req *streamerproto.ApiUpdateReq) (ec errcode.ErrCode) { ec = errcode.ErrCodeStreamerSrvOk diff --git a/app/mix/service/service.go b/app/mix/service/service.go index 63b75b17..411a413c 100644 --- a/app/mix/service/service.go +++ b/app/mix/service/service.go @@ -1927,7 +1927,7 @@ func (s *Service) OpApproveStreamerAuthApprovalBasic(ctx *gin.Context, req *stre Remarks: req.Remarks, }, Ids: req.Ids, - ApproveStatus: consts.StreamerAuthApprovalDetailsBasic_Waiting, + ApproveStatus: consts.StreamerAuthApprovalBasicApprove_Waiting, }) if err == qmgo.ErrNoSuchDocuments { ec = errcode.ErrCodeStreamerAuthApprovalBasicNotExist @@ -1941,7 +1941,7 @@ func (s *Service) OpApproveStreamerAuthApprovalBasic(ctx *gin.Context, req *stre } //2.若是审批失败,则更新之后直接删除,审批失败的信息将流转到历史表里保存 - if util.DerefInt64(req.ApproveStatus) == consts.StreamerAuthApprovalDetailsBasic_Rejected { + if util.DerefInt64(req.ApproveStatus) == consts.StreamerAuthApprovalBasicApprove_Rejected { err := _DefaultStreamerAuthApprovalBasic.OpDeleteBatch(ctx, req.Ids) if err != nil { logger.Error("OpDeleteBatch fail, req: %v, err: %v", util.ToJson(req), err) @@ -1960,7 +1960,7 @@ func (s *Service) OpApproveStreamerAuthApprovalBasic(ctx *gin.Context, req *stre } //4.若是审批通过,将审批表的信息合并进主播表创建信息,并更新account表里的角色信息为准主播 - if util.DerefInt64(req.ApproveStatus) == consts.StreamerAuthApprovalDetailsBasic_Passed { + if util.DerefInt64(req.ApproveStatus) == consts.StreamerAuthApprovalBasicApprove_Passed { // 构建streamer信息 streamerList := make([]*dbstruct.Streamer, len(list)) midList := make([]int64, len(list)) diff --git a/dbstruct/streamerauthapproval.go b/dbstruct/streamerauthapproval.go index 1b4873be..b1196d77 100644 --- a/dbstruct/streamerauthapproval.go +++ b/dbstruct/streamerauthapproval.go @@ -61,6 +61,13 @@ func (p *StreamerAuthApprovalBasic) GetMid() int64 { return 0 } +func (p *StreamerAuthApprovalBasic) GetApproveStatus() int64 { + if p != nil && p.ApproveStatus != nil { + return *p.ApproveStatus + } + return 0 +} + type StreamerAuthApprovalDetails struct { Id *int64 `json:"id" bson:"_id"` // 女神认证审批完善表id Mid *int64 `json:"mid" bson:"mid"` // 用户表id @@ -114,3 +121,10 @@ func (p *StreamerAuthApprovalDetails) GetStatus() int64 { } return 0 } + +func (p *StreamerAuthApprovalDetails) GetApproveStatus() int64 { + if p != nil && p.ApproveStatus != nil { + return *p.ApproveStatus + } + return 0 +}