by Robin at 20241107
This commit is contained in:
parent
0d0414b344
commit
521d7694c2
|
@ -20,7 +20,7 @@ const (
|
|||
SysNotifTemp_ZoneVasUpdated = 9 // 设置空间付费信息
|
||||
SysNotifTemp_ZoneThirdPartnerCreated = 10 // 博主自己设置空间代运营
|
||||
SysNotifTemp_MembershipPurchased = 11 // 开通会员
|
||||
SysNotifTemp_PlatformInfoUpdated = 12 // 主播编辑平台并保存
|
||||
SysNotifTemp_PlatformInfoUpdated = 12 // 主播编辑平台并保存(todo)
|
||||
|
||||
AudNotifTemp_AvatarChangeApplied = 100 // 用户修改头像
|
||||
AudNotifTemp_AvatarPassed = 101 // 用户修改头像成功
|
||||
|
@ -67,7 +67,7 @@ const (
|
|||
AudNotifTemp_ZoneMomentReeditionRejected = 144 // 运营审核拒绝重新编辑的空间贴
|
||||
|
||||
VasNotifTemp_MembershipPurchased = 200 // 开通会员
|
||||
VasNotifTemp_WithdrawalFinished = 201 // 提现
|
||||
VasNotifTemp_WithdrawalFinished = 201 // 提现成功
|
||||
VasNotifTemp_ZoneAdmissionPurchased_User = 202 // 用户【付费/免费】加入主播空间-用户侧
|
||||
VasNotifTemp_ZoneAdmissionPurchased_Streamer = 203 // 用户【付费/免费】加入主播空间-主播侧
|
||||
VasNotifTemp_ZoneSuperfanshipPurchased_User = 204 // 用户付费成为主播的超粉-用户侧
|
||||
|
|
|
@ -81,3 +81,11 @@ func (p *ApiHeadReq) ProvideNotNullValue() (params []*validator.JsonParam) {
|
|||
|
||||
return
|
||||
}
|
||||
|
||||
func (p *ApiListByIdsReq) ProvideNotNullValue() (params []*validator.JsonParam) {
|
||||
params = make([]*validator.JsonParam, 0)
|
||||
|
||||
params = append(params, validator.NewInt64SliceParam("请确认动态的ids!", p.Ids))
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
@ -163,3 +163,17 @@ type ApiListStatisticsByCreaterMidResp struct {
|
|||
base.BaseResponse
|
||||
Data *ApiListStatisticsByCreaterMidData `json:"data"`
|
||||
}
|
||||
|
||||
// op ids查询
|
||||
type ApiListByIdsReq struct {
|
||||
base.BaseRequest
|
||||
Ids []int64 `json:"ids"`
|
||||
}
|
||||
|
||||
type ApiListByIdsData struct {
|
||||
}
|
||||
|
||||
type ApiListByIdsResp struct {
|
||||
base.BaseResponse
|
||||
Data *ApiListByIdsData `json:"data"`
|
||||
}
|
||||
|
|
|
@ -5139,6 +5139,23 @@ func (m *Mongo) GetZidsByZoneMomentIds(ctx *gin.Context, zonemomentIds []int64)
|
|||
return zids, err
|
||||
}
|
||||
|
||||
func (m *Mongo) GetZoneMomentListByIds(ctx *gin.Context, ids []int64) ([]*dbstruct.ZoneMoment, error) {
|
||||
list := make([]*dbstruct.ZoneMoment, 0)
|
||||
col := m.getColZoneMoment()
|
||||
query := qmgo.M{
|
||||
"_id": qmgo.M{
|
||||
"$in": ids,
|
||||
},
|
||||
"del_flag": 0,
|
||||
}
|
||||
err := col.Find(ctx, query).All(&list)
|
||||
if err == qmgo.ErrNoSuchDocuments {
|
||||
err = nil
|
||||
return make([]*dbstruct.ZoneMoment, 0), err
|
||||
}
|
||||
return list, err
|
||||
}
|
||||
|
||||
func (m *Mongo) HeadZoneMomentByIds(ctx *gin.Context, ids []int64, opType int64) error {
|
||||
col := m.getColZoneMoment()
|
||||
query := qmgo.M{
|
||||
|
|
|
@ -3430,6 +3430,63 @@ func (s *Service) ApiGetZoneMomentListByZid(ctx *gin.Context, req *zonemomentpro
|
|||
return
|
||||
}
|
||||
|
||||
func (s *Service) ApiGetZoneMomentListByIds(ctx *gin.Context, req *zonemomentproto.ApiListByIdsReq) (volist []*zonemomentproto.ApiZoneMomentVO, ec errcode.ErrCode) {
|
||||
ec = errcode.ErrCodeZoneMomentSrvOk
|
||||
|
||||
// 1.查询该用户解锁的空间
|
||||
zidZuMap, err := _DefaultVas.GetZoneUnlockMapByMid(ctx, req.BaseRequest.Mid)
|
||||
if err != nil {
|
||||
logger.Error("GetZoneUnlockMapByMid fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
ec = errcode.ErrCodeZoneSrvFail
|
||||
return
|
||||
}
|
||||
|
||||
// 2.查询访客创建的空间
|
||||
zoneMap, err := _DefaultZone.GetZoneMapByMids(ctx, []int64{req.BaseRequest.Mid})
|
||||
if err != nil {
|
||||
logger.Error("_DefaultZone GetZoneMapByMids fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
ec = errcode.ErrCodeZoneSrvFail
|
||||
return
|
||||
}
|
||||
zones := zoneMap[req.BaseRequest.Mid]
|
||||
zoneZidMap := make(map[int64]*dbstruct.Zone, 0)
|
||||
for _, zone := range zones {
|
||||
zoneZidMap[zone.GetId()] = zone
|
||||
}
|
||||
|
||||
// 3.通过ids查询得到这一轮动态基底
|
||||
list, err := _DefaultZoneMoment.GetByIds(ctx, req.Ids)
|
||||
if err != nil {
|
||||
logger.Error("ApiGetZoneMomentListByIds fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
ec = errcode.ErrCodeZoneMomentSrvFail
|
||||
return
|
||||
}
|
||||
|
||||
// 4.依次验证访问人是否有资格访问该条动态
|
||||
if !IsZoneVIP(req.BaseRequest.Mid) { // 空间vip放行
|
||||
for _, zonemoment := range list {
|
||||
if zoneZidMap[zonemoment.GetZid()] != nil { // 空间创建人放行
|
||||
continue
|
||||
}
|
||||
if zidZuMap[zonemoment.GetZid()] == nil { // 未解锁该空间则不允许该轮查询
|
||||
logger.Error("Visitor has not unlocked this zone, req: %v, err: %v", util.ToJson(req), err)
|
||||
ec = errcode.ErrCodeUnlockedZone
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 5.初始化返回的volist,获取mids,并将动态基底填充进去
|
||||
volist, err = s.utilFillZoneMomentsWithApiVOInfo(ctx, list, req.BaseRequest.Mid, zidZuMap)
|
||||
if err != nil {
|
||||
logger.Error("utilFillZoneMomentsWithApiVOInfo fail, req: %v, err: %v", util.ToJson(req), err)
|
||||
ec = errcode.ErrCodeZoneMomentSrvFail
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Service) ApiGetZoneMomentListByCreaterMid(ctx *gin.Context, req *zonemomentproto.ApiListByCreaterMidReq) (volist []*zonemomentproto.ApiZoneMomentVO, ec errcode.ErrCode) {
|
||||
ec = errcode.ErrCodeZoneMomentSrvOk
|
||||
|
||||
|
|
|
@ -198,3 +198,12 @@ func (p *ZoneMoment) GetZoneMomentStatInfoList(ctx *gin.Context, st, et int64) (
|
|||
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func (p *ZoneMoment) GetByIds(ctx *gin.Context, ids []int64) ([]*dbstruct.ZoneMoment, error) {
|
||||
list, err := p.store.GetZoneMomentListByIds(ctx, ids)
|
||||
if err != nil {
|
||||
logger.Error("GetZoneMomentListByIds fail, err: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return list, err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue