jiaojiao7 3 years ago
parent
commit
8edfc46a2e
1 changed files with 35 additions and 25 deletions
  1. 35 25
      service/sendMsg.go

+ 35 - 25
service/sendMsg.go

@@ -1,6 +1,7 @@
 package service
 
 import (
+	"app.yhyue.com/moapp/MessageCenter/util"
 	"context"
 	"database/sql"
 	"encoding/json"
@@ -73,8 +74,8 @@ func SendMsg(this message.SendMsgRequest) (int64, string) {
 }
 
 func FindUserMsg(this message.FindUserMsgReq) message.FindUserMsgRes {
-	orm := entity.Engine
-	var messages []*entity.Message
+	//orm := entity.Engine
+	//var messages []*entity.Message
 	var err error
 	var count int64
 	q := ""
@@ -85,30 +86,39 @@ func FindUserMsg(this message.FindUserMsgReq) message.FindUserMsgRes {
 		q += fmt.Sprintf(" and isRead = %d", this.Read)
 
 	}
-	count, err = orm.Table("message").Where("((receive_userid = ? and send_userid = ?) or (receive_userid = ? and send_userid = ?)) and isdel = ? and appid = ?"+q, this.UserId, this.ReceiveUserId, this.ReceiveUserId, this.UserId, 1, this.Appid).Count()
+	cquery := map[string]interface{}{
+		"receive_userid": this.UserId,
+		"isdel":          1,
+		"appid":          this.Appid,
+	}
+	count = entity.Mysql.Count("message", cquery)
+	//count, err = orm.Table("message").Where("((receive_userid = ? and send_userid = ?) or (receive_userid = ? and send_userid = ?)) and isdel = ? and appid = ?"+q, this.UserId, this.ReceiveUserId, this.ReceiveUserId, this.UserId, 1, this.Appid).Count()
 	data := message.FindUserMsgRes{}
 	if count > 0 {
-		err = orm.Table("message").Select("*").Where("((receive_userid = ? and send_userid = ?) or (receive_userid = ? and send_userid = ?)) and isdel = ? and appid = ?"+q, this.UserId, this.ReceiveUserId, this.ReceiveUserId, this.UserId, 1, this.Appid).
-			OrderBy("createtime desc").
-			Limit(int(this.PageSize), (int(this.OffSet)-1)*int(this.PageSize)).
-			Find(&messages)
+		/*err = orm.Table("message").Select("*").Where("((receive_userid = ? and send_userid = ?) or (receive_userid = ? and send_userid = ?)) and isdel = ? and appid = ?"+q, this.UserId, this.ReceiveUserId, this.ReceiveUserId, this.UserId, 1, this.Appid).
+		OrderBy("createtime desc").
+		Limit(int(this.PageSize), (int(this.OffSet)-1)*int(this.PageSize)).
+		Find(&messages)*/
+		res := entity.Mysql.Find("message", cquery, "", "createtime desc", (int(this.OffSet)-1)*int(this.PageSize), int(this.PageSize))
 		//log.Println("数据:", messages)
-		for _, v := range messages {
-			data.Data = append(data.Data, &message.Messages{
-				Id:            v.Id,
-				Appid:         v.AppId,
-				ReceiveUserId: v.ReceiveUserid,
-				ReceiveName:   v.ReceiveName,
-				SendUserId:    v.SendUserid,
-				SendName:      v.SendName,
-				Createtime:    v.CreateTime.Format("2006-01-02 15:04:05"),
-				Title:         v.Title,
-				MsgType:       int64(v.MsgType),
-				Link:          v.Link,
-				CiteId:        int64(v.CiteId),
-				Content:       v.Content,
-				IsRead:        int64(v.IsRead),
-			})
+		if res != nil && len(*res) > 0 {
+			for _, v := range *res {
+				data.Data = append(data.Data, &message.Messages{
+					Id:            util.ObjToString(v["id"]),
+					Appid:         util.ObjToString(v["appId"]),
+					ReceiveUserId: util.ObjToString(v["receiveUserid"]),
+					ReceiveName:   util.ObjToString(v["receiveName"]),
+					SendUserId:    util.ObjToString(v["sendUserid"]),
+					SendName:      util.ObjToString(v["sendName"]),
+					Createtime:    util.ObjToString(v["createTime"]),
+					Title:         util.ObjToString(v["title"]),
+					MsgType:       util.Int64All(v["msgType"]),
+					Link:          util.ObjToString(v["link"]),
+					CiteId:        util.Int64All(v["citeId"]),
+					Content:       util.ObjToString(v["content"]),
+					IsRead:        util.Int64All(v["isRead"]),
+				})
+			}
 		}
 	}
 	data.Count = count
@@ -313,11 +323,11 @@ func MultSave(this message.MultipleSaveMsgReq) (int64, string) {
 					//插入会话表
 					bT := time.Now() //开始时间
 					_, err := entity.Mysql.DB.Exec(sql1)
-					log.Println("**********1",err)
+					log.Println("**********1", err)
 					sql2 := `INSERT INTO conversation(appid,` + "`key`" + `,user_id,receive_id,receive_name,send_id,send_name,sort,createtime) values ('%s','','%s','%s','%s','%s','%s',0,'%s');`
 					sql2 = fmt.Sprintf(sql2, this.Appid, v, this.SendUserId, this.SendName, v, userName, time.Now().Format("2006-01-02 15:04:05"))
 					_, err = entity.Mysql.DB.Exec(sql2)
-					log.Println("**********2",err)
+					log.Println("**********2", err)
 					//插入消息表
 					_, err = entity.Mysql.DB.Exec(sql3)
 					eT := time.Since(bT) // 从开始到当前所消耗的时间