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 MessageGetLastLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewMessageGetLastLogic(ctx context.Context, svcCtx *svc.ServiceContext) MessageGetLastLogic { return MessageGetLastLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *MessageGetLastLogic) MessageGetLast(req types.MessageGetLastReq) (*types.MessageGetLastRes, error) { // todo: add your logic here and delete this line result := &types.MessageGetLastRes{} log.Println("MessageGetLast", req) lsi := l.svcCtx.MessageCenter resp, err := lsi.GetLastMessage(l.ctx, &messageclient.GetLastMessageReq{ MsgType: req.MsgType, Appid: req.AppId, UserId: req.UserId, IsRead: req.IsRead, }) log.Println(resp, 887898855, err) if err != nil { return nil, err } //data := make([]map[string]interface{}, 0) result.Code = resp.Code result.Message = resp.Message if resp.Data != nil { result.Data = map[string]interface{}{ "id": resp.Data.Id, "appid": resp.Data.Appid, "receive_name": resp.Data.ReceiveName, "send_userid": resp.Data.SendUserId, "send_name": resp.Data.SendName, "createtime": resp.Data.Createtime, "title": resp.Data.Title, "msg_type": resp.Data.MsgType, "link": resp.Data.Link, "cite_id": resp.Data.CiteId, "content": resp.Data.Content, "isRead": resp.Data.IsRead, "msgLogId": resp.Data.MsgLogId, } } return result, nil }