fuwencai 4 lat temu
rodzic
commit
e81a522e4e

+ 11 - 8
entity/message.go

@@ -1,16 +1,19 @@
 package entity
 
-import "github.com/go-xorm/xorm"
+import (
+	"github.com/go-xorm/xorm"
+	"time"
+)
 
 //定义orm引擎
 var Engine *xorm.Engine
 
 type Message struct {
-	Id            int `xorm:"id" form:"id" json:"id"`                                     // 发送方用户id
-	ReceiveUserid int `xorm:"receive_userid" form:"receive_userid" json:"receive_userid"` // 接收方用户id
-	SendUserid    int `xorm:"send_userid" form:"send_userid" json:"send_userid"`          // 消息id
-	CreateTime    int `xorm:"createtime" form:"createtime" json:"createtime"`             // 创建时间
-	Content       int `xorm:"content" form:"content" json:"content"`                      // '内容
-	IsRead        int `xorm:"isRead" form:"isRead" json:"isRead"`                         //  '0:未读  1:已读'
-	Isdel         int `xorm:"isdel" form:"isdel" json:"isdel"`                            // 1:未删除  -1:已删除
+	Id            int       `xorm:"id" form:"id" json:"id"`                                     // 发送方用户id
+	ReceiveUserid string    `xorm:"receive_userid" form:"receive_userid" json:"receive_userid"` // 接收方用户id
+	SendUserid    string    `xorm:"send_userid" form:"send_userid" json:"send_userid"`          // 消息id
+	CreateTime    time.Time `xorm:"createtime" form:"createtime" json:"createtime"`             // 创建时间
+	Content       string    `xorm:"content" form:"content" json:"content"`                      // '内容
+	IsRead        int       `xorm:"isRead" form:"isRead" json:"isRead"`                         //  '0:未读  1:已读'
+	Isdel         int       `xorm:"isdel" form:"isdel" json:"isdel"`                            // 1:未删除  -1:已删除
 }

+ 8 - 8
rpc/internal/logic/changereadstatuslogic.go

@@ -1,12 +1,10 @@
 package logic
 
 import (
-	"app.yhyue.com/moapp/MessageCenter/service"
-	"context"
-	"log"
-
 	"app.yhyue.com/moapp/MessageCenter/rpc/internal/svc"
 	"app.yhyue.com/moapp/MessageCenter/rpc/message"
+	"app.yhyue.com/moapp/MessageCenter/service"
+	"context"
 
 	"github.com/tal-tech/go-zero/core/logx"
 )
@@ -27,8 +25,10 @@ func NewChangeReadStatusLogic(ctx context.Context, svcCtx *svc.ServiceContext) *
 
 func (l *ChangeReadStatusLogic) ChangeReadStatus(in *message.ChangeReadStatusRequest) (*message.Response, error) {
 	// todo: add your logic here and delete this line
-	m:=&service.MessageService{}
-	log.Println("12222")
-	m.ChangeReadStatus()
-	return &message.Response{}, nil
+	m := &service.MessageService{}
+	code, msg := m.ChangeReadStatus(in)
+	return &message.Response{
+		Code:    code,
+		Message: msg,
+	}, nil
 }

+ 1 - 1
rpc/test/message_test.go

@@ -14,7 +14,7 @@ func  Test_ChangeReadStatus(t *testing.T)  {
 	ctx, _ := context.WithTimeout(context.Background(), 5*time.Second)
 	std := messageclient.NewMessage(zrpc.MustNewClient(zrpc.RpcClientConf{Etcd: discov.EtcdConf{Hosts: []string{"127.0.0.1:2379"}, Key: "message.rpc"}}))
 	//std := stdlibclient.NewStdlib(zrpc.MustNewClient(zrpc.RpcClientConf{Etcd: discov.EtcdConf{Hosts: []string{"127.0.0.1:2379"}, Key: "jydocs.stdlib.rpc"}}))
-	req := &messageclient.ChangeReadStatusRequest{Id: 1}
+	req := &messageclient.ChangeReadStatusRequest{Id: 1,ReadStatus: 1}
 	res, err := std.ChangeReadStatus(ctx, req)
 	log.Println("err ", err,res)
 	//if res.State == true {

+ 19 - 8
service/messageService.go

@@ -2,21 +2,32 @@ package service
 
 import (
 	"app.yhyue.com/moapp/MessageCenter/entity"
+	"app.yhyue.com/moapp/MessageCenter/rpc/message"
 	"log"
 )
 
 type MessageService struct {
 }
-	func (service *MessageService) ChangeReadStatus() (int64, string) {
+
+func (service *MessageService) ChangeReadStatus(data *message.ChangeReadStatusRequest) (int64, string) {
 	orm := entity.Engine.NewSession()
 	log.Println("123")
 	defer orm.Close()
-	m:=entity.Message{}
-	_, err := orm.Table("message").Count(m)
-	log.Println("err",err)
+	m := entity.Message{}
+	count, err1 := orm.Where("id=? and isdel=1", data.Id).Count(m)
+	if count == 0 ||err1!=nil{
+		return 0, "该消息不存在"
+
+	}
+	m.IsRead = int(data.ReadStatus)
+	_, err := orm.Where("id=? and isdel=1", data.Id).Cols("isRead").Update(&m)
 	if err != nil {
-		return 0, ""
+		orm.Rollback()
+		return 0, "修改消息阅读状态失败"
 	}
-log.Println(m)
-	return 0,""
-}
+	err2 := orm.Commit()
+	if err2 != nil {
+		return 0, "修改消息阅读状态失败"
+	}
+	return 1, "修改消息阅读状态成功"
+}