|
@@ -374,7 +374,9 @@ func BitmapCountClassUnread(userId string, groupId int64, classUnreadCountMap ma
|
|
|
|
|
|
//FindUserClassUnread 查询用户分类未读消息id
|
|
|
func FindUserClassUnread(userId string) (map[int]int, map[int][]int) {
|
|
|
- sql := fmt.Sprintf("SELECT bitmapToArray(bitmapAnd(bitmapAndnot(mus.allMsg,mus.readMsg),ms.msg_bitmap)) AS unreadArr,ms.group_id FROM messageCenter.message_user_summary mus, messageCenter.message_summary ms WHERE mus.userId = '%s'", userId)
|
|
|
+ sql := fmt.Sprintf(`select bitmapToArray(bitmapAnd(a1.unreadArr,a2.msg_bitmap)) from
|
|
|
+ (SELECT bitmapAndnot(mus.allMsg,mus.readMsg) unreadArr FROM message_user_summary mus WHERE mus.userId = '%s') a1,
|
|
|
+ (select msg_bitmap from message_summary ms where 1=1 limit 10) a2`, userId)
|
|
|
rows, err := entity.ClickhouseConn.Query(context.Background(), sql)
|
|
|
if err != nil {
|
|
|
log.Println("获取各分类未读消息数组出错:", err)
|
|
@@ -397,7 +399,9 @@ func FindUserClassUnread(userId string) (map[int]int, map[int][]int) {
|
|
|
|
|
|
//FindUserClassMsg 查询用户分类所有消息id
|
|
|
func FindUserClassMsg(userId string) (map[int]int, map[int][]int) {
|
|
|
- sql := fmt.Sprintf("SELECT bitmapToArray(bitmapAnd(mus.allMsg,ms.msg_bitmap)) AS unreadArr,ms.group_id FROM messageCenter.message_user_summary mus, messageCenter.message_summary ms WHERE mus.userId = '%s'", userId)
|
|
|
+ sql := fmt.Sprintf(`select bitmapToArray(bitmapAnd(a1.readArr,a2.msg_bitmap)) from
|
|
|
+ (SELECT mus.readMsg as readArr FROM message_user_summary mus WHERE mus.userId = '%s') a1,
|
|
|
+ (select msg_bitmap from message_summary ms where 1=1 limit 10) a2`, userId)
|
|
|
rows, err := entity.ClickhouseConn.Query(context.Background(), sql)
|
|
|
if err != nil {
|
|
|
log.Println("获取各分类未读消息数组出错:", err)
|
|
@@ -430,7 +434,7 @@ func GetUserMsgSummary(userId string) (userAllMsg, userReadMsg, userUnreadMsg []
|
|
|
err = errors.New("用户暂无数据")
|
|
|
return
|
|
|
}
|
|
|
- sql := fmt.Sprintf("SELECT bitmapToArray(allMsg) as userAllMsg,bitmapToArray(readMsg) as userReadMsg,bitmapToArray(bitmapAndnot(allMsg,readMsg)) as userunRead from messageCenter.message_user_summary where userId ='%s'", userId)
|
|
|
+ sql := fmt.Sprintf("SELECT bitmapToArray(allMsg) as userAllMsg,bitmapToArray(readMsg) as userReadMsg,bitmapToArray(bitmapAndnot(allMsg,readMsg)) as userunRead from message_user_summary where userId ='%s'", userId)
|
|
|
log.Println("GetUserMsgSummary selcet2 ", sql)
|
|
|
row := entity.ClickhouseConn.QueryRow(context.Background(), sql)
|
|
|
err = row.Scan(&userAllMsg, &userReadMsg, &userUnreadMsg)
|