package logic import ( "app.yhyue.com/moapp/MessageCenter/api/internal/svc" "app.yhyue.com/moapp/MessageCenter/api/internal/types" "app.yhyue.com/moapp/MessageCenter/rpc/messageclient" "context" "log" "github.com/zeromicro/go-zero/core/logx" ) type UnreadMessagesLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewUnreadMessagesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UnreadMessagesLogic { return &UnreadMessagesLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *UnreadMessagesLogic) UnreadMessages(req *types.UnreadMessageReq) (resp *types.UnreadMessageResp, err error) { result := &types.UnreadMessageResp{} lsi := l.svcCtx.MessageCenter res, err := lsi.UserUnreadMsgList(l.ctx, &messageclient.UserUnreadMsgListReq{ UserId: req.UserId, Appid: req.AppId, PageSize: req.PageSize, OffSet: req.Offset, IsNeedData: req.IsNeedData, }) if err != nil { return nil, err } if res.List != nil && len(res.List) > 0 { for _, v := range res.List { result.Data = append(result.Data, map[string]interface{}{ "id": v.Id, "appid": v.Appid, "createtime": v.Createtime, "title": v.Title, "msg_type": v.MsgType, "link": v.Link, "content": v.Content, "isRead": v.IsRead, "msgLogId": v.MsgLogId, "url": v.Url, }) } } log.Println(result.Data) result.Code = res.Code result.Message = res.Message result.Total = res.Count return result, nil }