package logic import ( "app.yhyue.com/moapp/MessageCenter/rpc/messageclient" "context" "app.yhyue.com/moapp/MessageCenter/api/internal/svc" "app.yhyue.com/moapp/MessageCenter/api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type GetBuoyMsgLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewGetBuoyMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) GetBuoyMsgLogic { return GetBuoyMsgLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *GetBuoyMsgLogic) GetBuoyMsg(req types.GetBuoyMsgReq) (*types.GetBuoyMsgResp, error) { if req.Size > 10 { req.Size = 10 } if req.Size <= 0 { req.Size = 1 } result := &types.GetBuoyMsgResp{} lsi := l.svcCtx.MessageCenter res, err := lsi.FindUserBuoyMsg(l.ctx, &messageclient.FindUserBuoyMsgReq{ UserId: req.UserId, PageSize: req.Size, Appid: req.AppId, }) if err != nil { return nil, err } result.Code = res.Code result.Message = res.Message for _, msg := range res.Data { result.Data = append(result.Data, map[string]interface{}{ "id": msg.Id, "buoyDetail": msg.BuoyDetail, "pcUrl": msg.PcUrl, "androidUrl": msg.AndroidUrl, "iosUrl": msg.IosUrl, "weChatUrl": msg.WeChatUrl, }) } return result, nil }