jiaojiao7 3 жил өмнө
parent
commit
7b223a17d0

+ 5 - 0
api/internal/handler/routes.go

@@ -57,6 +57,11 @@ func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {
 				Path:    "/message/markRead",
 				Handler: MarkReadHandler(serverCtx),
 			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/message/SendMsg",
+				Handler: SendMsgHandler(serverCtx),
+			},
 		},
 	)
 }

+ 29 - 0
api/internal/handler/sendmsghandler.go

@@ -0,0 +1,29 @@
+package handler
+
+import (
+	"net/http"
+
+	"app.yhyue.com/moapp/MessageCenter/api/internal/logic"
+	"app.yhyue.com/moapp/MessageCenter/api/internal/svc"
+	"app.yhyue.com/moapp/MessageCenter/api/internal/types"
+
+	"github.com/tal-tech/go-zero/rest/httpx"
+)
+
+func SendMsgHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.SendMsgReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewSendMsgLogic(r.Context(), ctx)
+		resp, err := l.SendMsg(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 0 - 4
api/internal/logic/messagedetaillogic.go

@@ -26,11 +26,7 @@ func NewMessageDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) Mess
 }
 
 func (l *MessageDetailLogic) MessageDetail(req types.MessageDetailReq) (*types.MessageDetailResp, error) {
-<<<<<<< HEAD
 	result := &types.MessageDetailResp{}
-=======
-	//result := &types.Response{}
->>>>>>> 5703f402bd85a664f589e9153340e500d45c1f19
 	log.Println(req)
 	lsi := l.svcCtx.MessageCenter
 	resp, err := lsi.FindMessageDetail(l.ctx, &messageclient.MessageDetailReq{

+ 53 - 0
api/internal/logic/sendmsglogic.go

@@ -0,0 +1,53 @@
+package logic
+
+import (
+	"app.yhyue.com/moapp/MessageCenter/rpc/messageclient"
+	"context"
+	"log"
+
+	"app.yhyue.com/moapp/MessageCenter/api/internal/svc"
+	"app.yhyue.com/moapp/MessageCenter/api/internal/types"
+
+	"github.com/tal-tech/go-zero/core/logx"
+)
+
+type SendMsgLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewSendMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) SendMsgLogic {
+	return SendMsgLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *SendMsgLogic) SendMsg(req types.SendMsgReq) (*types.SendMsgResp, error) {
+	// todo: add your logic here and delete this line
+	//result := &types.SendMsgResp{}
+	log.Println(req)
+	lsi := l.svcCtx.MessageCenter
+	resp, err := lsi.SendUserMsg(l.ctx, &messageclient.SendMsgRequest{
+		Appid:         req.Appid,
+		ReceiveUserId: req.ReceiveUserId,
+		ReceiveName:   req.ReceiveName,
+		SendUserId:    req.SendUserId,
+		SendName:      req.SendName,
+		Title:         req.Title,
+		Content:       req.Content,
+		MsgType:       req.MsgType,
+		Link:          req.Link,
+		CiteId:        req.CiteId,
+	})
+	log.Println(resp)
+	if err != nil {
+		return nil, err
+	}
+	return &types.SendMsgResp{
+		Code:    resp.Code,
+		Message: resp.Message,
+	}, nil
+}

+ 19 - 0
api/internal/types/types.go

@@ -107,3 +107,22 @@ type MarkReadRes struct {
 	Message string `json:"message"`
 	Data    int64  `json:"data"`
 }
+
+type SendMsgReq struct {
+	ReceiveUserId string `form:"receiveUserId"`   //接收方的用户id
+	ReceiveName   string `form:"receiveName"`     //接收方的用户名
+	SendUserId    string `form:"sendUserId"`      //发送方的用户id
+	SendName      string `form:"sendName"`        //发送方的用户名
+	Title         string `form:"title"`           //标题
+	Content       string `form:"content"`         //内容
+	MsgType       int64  `form:"msgType"`         // 消息类型
+	Link          string `form:"link"`            //连接
+	CiteId        int64  `form:"citeId,optional"` //应用id
+	Appid         string `form:"appid"`
+}
+
+type SendMsgResp struct {
+	Code    int64  `json:"code"`
+	Message string `json:"message"`
+	Status  int64  `json:"status"`
+}

+ 36 - 7
api/message.api

@@ -105,6 +105,25 @@ type MarkReadRes {
 	Data    int64  `json:"data"`
 }
 
+//给指定用户发送消息
+type SendMsgReq {
+	ReceiveUserId string `form:"receiveUserId"`   //接收方的用户id
+	ReceiveName   string `form:"receiveName"`     //接收方的用户名
+	SendUserId    string `form:"sendUserId"`      //发送方的用户id
+	SendName      string `form:"sendName"`        //发送方的用户名
+	Title         string `form:"title"`           //标题
+	Content       string `form:"content"`         //内容
+	MsgType       int64  `form:"msgType"`         // 消息类型
+	Link          string `form:"link"`            //连接
+	CiteId        int64  `form:"citeId,optional"` //应用id
+	Appid         string `form:"appid"`
+}
+type SendMsgResp {
+	Code    int64  `json:"code"`
+	Message string `json:"message"`
+	Status  int64  `json:"status"`
+}
+
 service message-api {
 	//删除消息
 	@handler MessageDeleteHandler // TODO: set handler name and delete this comment
@@ -112,18 +131,28 @@ service message-api {
 	//查询消息详情
 	@handler MessageDetailHandler // TODO: set handler name and delete this comment
 	get /message/messageDetail (MessageDetailReq) returns (MessageDetailResp)
-	@handler MessageGetLastHandler // 获取指定类型的最新一条未读消息
+	// 获取指定类型的最新一条未读消息
+	@handler MessageGetLastHandler
 	post /message/messageGetLast (MessageGetLastReq) returns (MessageGetLastRes)
-	@handler MessageFindHandler // 获取指定用户的历史消息  条件可选 消息类型 是否未读
+	// 获取指定用户的历史消息  条件可选 消息类型 是否未读
+	@handler MessageFindHandler
 	post /message/messageFind (MessageFindReq) returns (MessageFindRes)
-	@handler MessageUnreadClassCountHandler // 获取用户未读消息分类及分类下的最新消息
+	// 获取用户未读消息分类及数量
+	@handler MessageUnreadClassCountHandler
 	post /message/messageUnreadClassCount (MessageUnreadClassCountReq) returns (MessageUnreadClassCountRes)
-	@handler MessageUnreadCountHandler // 获取用户未读消息数量
+	// 获取用户未读消息数量
+	@handler MessageUnreadCountHandler
 	post /message/messageUnreadCount (MessageUnreadCountReq) returns (MessageUnreadCountRes)
-	@handler MessageTypeHandler // 获取用户未读消息数量
+	// 获取用户未读消息数量
+	@handler MessageTypeHandler
 	get /message/messageType (MessageTypeReq) returns (MessageTypeRes)
-	@handler MessageSetReadStatusHandler // 修改指定用户的某个分类的消息为已读
+	// 修改指定用户的某个分类的消息为已读
+	@handler MessageSetReadStatusHandler
 	get /message/messageSetReadStatus (MsgReadStatusReq) returns (MsgReadStatusResp)
-	@handler MarkReadHandler // 标记为已读
+	// 标记为已读
+	@handler MarkReadHandler
 	post /message/markRead (MarkReadReq) returns (MarkReadRes)
+	// 发送消息
+	@handler SendMsgHandler
+	post /message/SendMsg (SendMsgReq) returns (SendMsgResp)
 }

+ 2 - 1
rpc/internal/logic/updatemessagereadlogic.go

@@ -29,7 +29,8 @@ func NewUpdateMessageReadLogic(ctx context.Context, svcCtx *svc.ServiceContext)
 // 修改用户指定分类下的消息已读未读
 func (l *UpdateMessageReadLogic) UpdateMessageRead(in *message.UpdateMessageReadReq) (*message.UpdateMessageReadResp, error) {
 	// todo: add your logic here and delete this line
-	status, err := service.MessageService{}.UpdateMessageReadStatus(int(in.MsgType), in.ReceiveUserid, in.AppId)
+	service := &service.MessageService{}
+	status, err := service.UpdateMessageReadStatus(int(in.MsgType), in.ReceiveUserid, in.AppId)
 	if status == 0 && err != nil {
 		return &message.UpdateMessageReadResp{
 			Code:    1,