소스 검색

fix:类型判空

duxin 2 년 전
부모
커밋
a410208989
2개의 변경된 파일21개의 추가작업 그리고 18개의 파일을 삭제
  1. 20 18
      rpc/messagecenter/internal/logic/findmessagelogic.go
  2. 1 0
      service/message_mail_box.go

+ 20 - 18
rpc/messagecenter/internal/logic/findmessagelogic.go

@@ -33,25 +33,27 @@ func (l *FindMessageLogic) FindMessage(in *messagecenter.MessageReq) (*messagece
 	m := service.MessaggeService{}
 	data := m.FindMessage(in)
 	list := []*messagecenter.MessageEntity{}
-	for _, v := range *data {
-		tim, _ := time.ParseInLocation(util.Date_Full_Layout, quitl.InterfaceToStr(v["create_time"]), time.Local)
-		messageEntity := messagecenter.MessageEntity{
-			Title:      quitl.ObjToString(v["title"]),
-			Content:    quitl.ObjToString(v["content"]),
-			CreateTime: tim.Unix(),
-			Item:       quitl.Int64All(v["item"]),
-			Type:       quitl.Int64All(v["type"]),
-			Link:       quitl.ObjToString(v["link"]),
-			Fool:       quitl.Int64All(v["fool"]),
-			ItemType:   quitl.Int64All(v["itemType"]),
-			RobotName:  quitl.ObjToString(v["robotName"]),
-			RobotImg:   quitl.ObjToString(v["robotImg"]),
-			SetName:    quitl.ObjToString(v["setName"]),
-			OwnImg:     quitl.ObjToString(v["ownImg"]),
-			MessageId:  encrypt.SE.Encode2Hex(quitl.InterfaceToStr(v["messageId"])),
-			Appraise:   quitl.Int64All(v["appraise"]),
+	if data != nil && len(*data) > 0 {
+		for _, v := range *data {
+			tim, _ := time.ParseInLocation(util.Date_Full_Layout, quitl.InterfaceToStr(v["create_time"]), time.Local)
+			messageEntity := messagecenter.MessageEntity{
+				Title:      quitl.ObjToString(v["title"]),
+				Content:    quitl.ObjToString(v["content"]),
+				CreateTime: tim.Unix(),
+				Item:       quitl.Int64All(v["item"]),
+				Type:       quitl.Int64All(v["type"]),
+				Link:       quitl.ObjToString(v["link"]),
+				Fool:       quitl.Int64All(v["fool"]),
+				ItemType:   quitl.Int64All(v["itemType"]),
+				RobotName:  quitl.ObjToString(v["robotName"]),
+				RobotImg:   quitl.ObjToString(v["robotImg"]),
+				SetName:    quitl.ObjToString(v["setName"]),
+				OwnImg:     quitl.ObjToString(v["ownImg"]),
+				MessageId:  encrypt.SE.Encode2Hex(quitl.InterfaceToStr(v["messageId"])),
+				Appraise:   quitl.Int64All(v["appraise"]),
+			}
+			list = append(list, &messageEntity)
 		}
-		list = append(list, &messageEntity)
 	}
 	return &messagecenter.MessageResp{
 		Data:      list,

+ 1 - 0
service/message_mail_box.go

@@ -526,6 +526,7 @@ var rwLock = new(sync.RWMutex)
 
 // 客服 用户聊天消息列表同步
 func UserSynchronousList(customerServiceId, userId, entId, messageId int64, createTime string) {
+	log.Printf("同步最后消息参数customerServiceId:%d,userId:%d,entId%d,messageId:%d", customerServiceId, userId, entId, messageId)
 	rwLock.Lock()
 	defer rwLock.Unlock()
 	if util.Mysql.Count(util.User_message_list, map[string]interface{}{"user_id": userId}) > 0 {