usermsglistlogic.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/MessageCenter/service"
  4. "app.yhyue.com/moapp/MessageCenter/util"
  5. "context"
  6. "app.yhyue.com/moapp/MessageCenter/rpc/internal/svc"
  7. "app.yhyue.com/moapp/MessageCenter/rpc/type/message"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type UserMsgListLogic struct {
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. logx.Logger
  14. }
  15. func NewUserMsgListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserMsgListLogic {
  16. return &UserMsgListLogic{
  17. ctx: ctx,
  18. svcCtx: svcCtx,
  19. Logger: logx.WithContext(ctx),
  20. }
  21. }
  22. // new用户消息列表
  23. func (l *UserMsgListLogic) UserMsgList(in *message.UserMsgListReq) (*message.UserMsgListRes, error) {
  24. // todo: add your logic here and delete this line
  25. data := new(message.UserMsgListRes)
  26. res1 := service.UserMsgList(in) //具体信息
  27. res2 := service.MessageGetLast(in) //最新信息
  28. if res2 != nil || res1.Data != nil {
  29. var finalData []*message.Messages
  30. if res1.Data != nil {
  31. for _, v := range res1.Data {
  32. link3, androidUrl3, iosUrl3, weChatUrl3 := util.LinkSplit(v.Link)
  33. v.Link = link3
  34. v.Url = map[string]string{
  35. "androidUrl": androidUrl3,
  36. "iosUrl": iosUrl3,
  37. "weChatUrl": weChatUrl3,
  38. }
  39. finalData = append(finalData, v)
  40. }
  41. }
  42. lastMsg := new(message.Messages)
  43. if res2 != nil {
  44. lastMsg = res2
  45. links4 := lastMsg.Link
  46. link4, androidUrl4, iosUrl4, weChatUrl4 := util.LinkSplit(links4)
  47. lastMsg.Link = link4
  48. lastMsg.Url = map[string]string{
  49. "androidUrl": androidUrl4,
  50. "iosUrl": iosUrl4,
  51. "weChatUrl": weChatUrl4,
  52. }
  53. }
  54. data.Column = res1.SortData
  55. data.List = finalData
  56. data.Last = lastMsg
  57. data.Count = res1.Count
  58. }
  59. return data, nil
  60. }