savemessagelogic.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package logic
  2. import (
  3. "context"
  4. quitl "app.yhyue.com/moapp/jybase/common"
  5. "app.yhyue.com/moapp/jybase/encrypt"
  6. util "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/entity"
  7. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/internal/svc"
  8. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/messagecenter"
  9. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/service"
  10. "github.com/zeromicro/go-zero/core/logx"
  11. )
  12. type SaveMessageLogic struct {
  13. ctx context.Context
  14. svcCtx *svc.ServiceContext
  15. logx.Logger
  16. }
  17. func NewSaveMessageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SaveMessageLogic {
  18. return &SaveMessageLogic{
  19. ctx: ctx,
  20. svcCtx: svcCtx,
  21. Logger: logx.WithContext(ctx),
  22. }
  23. }
  24. // 聊天保存
  25. func (l *SaveMessageLogic) SaveMessage(in *messagecenter.MessageEntity) (*messagecenter.SaveMessageResp, error) {
  26. // todo: add your logic here and delete this line
  27. m := service.MessaggeService{}
  28. chatMap := map[int64]bool{
  29. 2: true, //2:点对点消息
  30. 3: true, //3:群消息
  31. 9: true, //9:其它系统消息 (除客服以外的)
  32. 10: true, //10:群撤回(自己看到的)
  33. 11: true, //11:群撤回(其他人看到的)
  34. }
  35. fool, error_message, content, messageId, nowTime := func() (fool bool, errorMsg string, content string, messageId, nowInt int64) {
  36. if !chatMap[in.ItemType] {
  37. return m.SaveMessage(in)
  38. } else {
  39. return m.Chat(in)
  40. }
  41. }()
  42. error_code := util.SUCCESS_CODE
  43. if fool {
  44. error_code = util.SUCCESS_CODE
  45. } else {
  46. error_code = util.ERROR_CODE
  47. }
  48. return &messagecenter.SaveMessageResp{
  49. ErrorCode: error_code,
  50. ErrorMsg: error_message,
  51. Data: &messagecenter.MessageEntity{
  52. Content: content,
  53. MessageId: encrypt.SE.Encode2Hex(quitl.InterfaceToStr(messageId)),
  54. CreateTime: nowTime,
  55. },
  56. }, nil
  57. }