conversationlistlogic.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package logic
  2. import (
  3. quitl "app.yhyue.com/moapp/jybase/common"
  4. "app.yhyue.com/moapp/jybase/encrypt"
  5. util "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/entity"
  6. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/service"
  7. "context"
  8. "time"
  9. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/internal/svc"
  10. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/messagecenter"
  11. "github.com/zeromicro/go-zero/core/logx"
  12. )
  13. type ConversationListLogic struct {
  14. ctx context.Context
  15. svcCtx *svc.ServiceContext
  16. logx.Logger
  17. }
  18. func NewConversationListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ConversationListLogic {
  19. return &ConversationListLogic{
  20. ctx: ctx,
  21. svcCtx: svcCtx,
  22. Logger: logx.WithContext(ctx),
  23. }
  24. }
  25. // 用户会话列表查询
  26. func (l *ConversationListLogic) ConversationList(in *messagecenter.ConversationReq) (*messagecenter.UserResp, error) {
  27. // todo: add your logic here and delete this line
  28. m := service.MessaggeService{}
  29. data, count, err := m.ConversationList(in)
  30. if err != nil {
  31. return nil, err
  32. }
  33. var result = []*messagecenter.UserEntity{}
  34. if data != nil && len(*data) > 0 {
  35. for _, v := range *data {
  36. tim, _ := time.ParseInLocation(util.Date_Full_Layout, quitl.InterfaceToStr(v["create_time"]), time.Local)
  37. userResp := messagecenter.UserEntity{
  38. Name: quitl.ObjToString(v["name"]),
  39. Title: quitl.ObjToString(v["title"]),
  40. Type: quitl.Int64All(v["type"]),
  41. Link: quitl.ObjToString(v["link"]),
  42. Content: quitl.ObjToString(v["content"]),
  43. CreateTime: tim.Unix(),
  44. UserType: quitl.Int64All(v["userType"]),
  45. Number: quitl.Int64All(v["number"]),
  46. UserId: encrypt.SE.Encode2Hex(quitl.InterfaceToStr(v["id"])),
  47. Headimg: quitl.ObjToString(v["headimg"]),
  48. IsTourist: quitl.Int64All(v["is_tourist"]),
  49. }
  50. result = append(result, &userResp)
  51. }
  52. }
  53. return &messagecenter.UserResp{Data: result, Count: count}, nil
  54. }