1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package logic
- import (
- "context"
- "encoding/json"
- "time"
- "ylink/core/cmd/rpc/internal/svc"
- "ylink/core/cmd/rpc/pb"
- "github.com/zeromicro/go-zero/core/logx"
- )
- type PlayerSendMsgLogic struct {
- ctx context.Context
- svcCtx *svc.ServiceContext
- logx.Logger
- }
- type message struct {
- CreateTime string `json:"create_time"`
- Content string `json:"content"`
- Pic string `json:"pic"`
- ReceiverId string `json:"receiver_id"`
- SenderId string `json:"sender_id"`
- }
- func NewPlayerSendMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PlayerSendMsgLogic {
- return &PlayerSendMsgLogic{
- ctx: ctx,
- svcCtx: svcCtx,
- Logger: logx.WithContext(ctx),
- }
- }
- func (l *PlayerSendMsgLogic) PlayerSendMsg(in *pb.PlayerSendMsgReq) (*pb.PlayerSendMsgResp, error) {
- // todo 投递到对应客服的收件箱
- // todo 写入db
- msg, _ := json.Marshal(message{
- CreateTime: time.Now().Format("2006-01-02 15:04:05"),
- Content: in.Content,
- Pic: in.Pic,
- ReceiverId: "",
- SenderId: in.PlayerId,
- })
- //if err := l.svcCtx.ChatMsgProducerClient.Push(string(msg)); err != nil {
- // return nil, err
- //}
- pid, offset, err := l.svcCtx.ChatMsgProducer.SendMessage(string(msg), in.PlayerId)
- if err != nil {
- return nil, err
- }
- l.Logger.Infof("pid: %d", pid)
- l.Logger.Infof("offset: %d", offset)
- return &pb.PlayerSendMsgResp{}, nil
- }
|