messagecountlogic.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package logic
  2. import (
  3. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/util"
  4. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/messagecenter"
  5. "context"
  6. "net/http"
  7. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/internal/svc"
  8. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/internal/types"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. )
  11. type MessageCountLogic struct {
  12. logx.Logger
  13. ctx context.Context
  14. svcCtx *svc.ServiceContext
  15. r *http.Request
  16. }
  17. func NewMessageCountLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request) *MessageCountLogic {
  18. return &MessageCountLogic{
  19. Logger: logx.WithContext(ctx),
  20. ctx: ctx,
  21. svcCtx: svcCtx,
  22. r: r,
  23. }
  24. }
  25. func (l *MessageCountLogic) MessageCount(req *types.CountReq) (resp *types.CommonRes, err error) {
  26. if req.NewUserId == 0 {
  27. r, err := util.GetTouristInfo(l.r, l.svcCtx.Social, l.ctx)
  28. if err != nil || r.BaseUserId == 0 {
  29. return nil, err
  30. }
  31. req.NewUserId = r.BaseUserId
  32. req.PositionId = r.BaseUserId
  33. }
  34. res, err := l.svcCtx.Message.Count(l.ctx, &messagecenter.CountReq{
  35. UserType: req.UserType,
  36. EntUserId: req.EntUserId,
  37. NewUserId: req.NewUserId,
  38. PositionId: req.PositionId,
  39. })
  40. if err != nil {
  41. return nil, err
  42. }
  43. resp = &types.CommonRes{
  44. Error_msg: res.ErrorMsg,
  45. Error_code: int(res.ErrorCode),
  46. Count: res.Count,
  47. Data: res.LastMessage,
  48. }
  49. return resp, nil
  50. }