messagegetlastlogic.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/MessageCenter/api/internal/svc"
  4. "app.yhyue.com/moapp/MessageCenter/api/internal/types"
  5. "app.yhyue.com/moapp/MessageCenter/rpc/messageclient"
  6. "context"
  7. "log"
  8. "github.com/tal-tech/go-zero/core/logx"
  9. )
  10. type MessageGetLastLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewMessageGetLastLogic(ctx context.Context, svcCtx *svc.ServiceContext) MessageGetLastLogic {
  16. return MessageGetLastLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. }
  21. }
  22. func (l *MessageGetLastLogic) MessageGetLast(req types.MessageGetLastReq) (*types.MessageGetLastRes, error) {
  23. // todo: add your logic here and delete this line
  24. result := &types.MessageGetLastRes{}
  25. log.Println(req)
  26. lsi := l.svcCtx.MessageCenter
  27. resp, err := lsi.GetLastMessage(l.ctx, &messageclient.GetLastMessageReq{
  28. MsgType: req.MsgType,
  29. Appid: req.AppId,
  30. UserId: req.UserId,
  31. })
  32. if err != nil {
  33. return nil, err
  34. }
  35. //data := make([]map[string]interface{}, 0)
  36. result.Code = resp.Code
  37. result.Message = resp.Message
  38. result.Status = 0
  39. result.Data = map[string]interface{}{
  40. "id": resp.Data.Id,
  41. "appid": resp.Data.Appid,
  42. "receive_name": resp.Data.ReceiveName,
  43. "send_userid": resp.Data.SendUserId,
  44. "send_name": resp.Data.SendName,
  45. "createtime": resp.Data.Createtime,
  46. "title": resp.Data.Title,
  47. "msg_type": resp.Data.MsgType,
  48. "link": resp.Data.Link,
  49. "cite_id": resp.Data.CiteId,
  50. "content": resp.Data.Content,
  51. "isRead": resp.Data.IsRead,
  52. }
  53. return result, nil
  54. }