فهرست منبع

Merge branch 'dev/v1.2.11_fuwencai' of moapp/MessageCenter into feature/v1.2.11

fuwencai 1 سال پیش
والد
کامیت
f4d4ae2d6a
3فایلهای تغییر یافته به همراه15 افزوده شده و 6 حذف شده
  1. 1 0
      entity/message.go
  2. 5 2
      rpc/internal/common/messageClass.go
  3. 9 4
      rpc/internal/common/sendMsg.go

+ 1 - 0
entity/message.go

@@ -20,6 +20,7 @@ var SurvivalTime int
 var RollingTiming int64
 var SaveConcurrencyChan chan int //  定义保存消息并发
 var ClassSearchMap map[int64][]MsgClass
+var ClassMap map[int64]MsgClass
 
 type MsgClass struct {
 	MsgType int64  `json:"msgType"`

+ 5 - 2
rpc/internal/common/messageClass.go

@@ -11,6 +11,7 @@ import (
 // InitClassSearchMap 初始化需要展示细化分类的消息分类信息
 func InitClassSearchMap() {
 	entity.ClassSearchMap = map[int64][]entity.MsgClass{}
+	entity.ClassMap = map[int64]entity.MsgClass{}
 	// 初始化需要展示消息细化分类的groupid 和对应的class信息
 	if config.ConfigJson.ClassSearchList != nil && len(config.ConfigJson.ClassSearchList) > 0 {
 		groupIDs := config.ConfigJson.ClassSearchList
@@ -31,11 +32,13 @@ func InitClassSearchMap() {
 				if _, ok := entity.ClassSearchMap[groupID]; !ok {
 					entity.ClassSearchMap[groupID] = []entity.MsgClass{}
 				}
-				entity.ClassSearchMap[groupID] = append(entity.ClassSearchMap[groupID], entity.MsgClass{
+				tmp := entity.MsgClass{
 					MsgType: msgType,
 					Name:    msgName,
 					Img:     img,
-				})
+				}
+				entity.ClassSearchMap[groupID] = append(entity.ClassSearchMap[groupID], tmp)
+				entity.ClassMap[msgType] = tmp
 			}
 		}
 	}

+ 9 - 4
rpc/internal/common/sendMsg.go

@@ -173,9 +173,14 @@ func UserMsgList(this *message.UserMsgListReq) *message.UserMsgList {
 		// p436 处理消息细分分类要返回的数据
 		// 获取小分类下的未读数
 		sortUnread, _ := m.CountClassUnread(this.UserId, this.MsgType)
-		columnMap := entity.ClassSearchMap[this.MsgType]
-		for i := 0; i < len(columnMap); i++ {
-			tmp := columnMap[i]
+		columnArr := []entity.MsgClass{}
+		if !this.IsColumnNewMsg { // 用于区分分类列表页和分类详情页   根据不同情况
+			columnArr = append(columnArr, entity.ClassMap[this.MsgType])
+		} else {
+			columnArr = entity.ClassSearchMap[this.MsgType]
+		}
+		for i := 0; i < len(columnArr); i++ {
+			tmp := columnArr[i]
 			var column message.AllSortData
 			column.Name = tmp.Name
 			column.Img = fmt.Sprintf("/common-module/msgCenter/%s.png", tmp.Img)
@@ -398,7 +403,7 @@ func MsgCountAdd(userId, appId string, msgType int64, msgClassType int64) bool {
 func MsgCountMinusOne(userId, appId string, msgType int64, msgClassType int64) bool {
 	classKeyString := fmt.Sprintf(MsgClassCountKey, userId, msgClassType)
 	if exist, _ := redis.Exists(redisModule, classKeyString); exist {
-		if redis.GetInt(redisModule, MsgClassCountKey) > 0 {
+		if redis.GetInt(redisModule, classKeyString) > 0 {
 			redis.Decrby(redisModule, classKeyString, 1)
 		}
 	}