|
@@ -61,7 +61,7 @@ func (service *MessageService) CountUnread(userId string, appId string) (int64,
|
|
|
log.Println("123")
|
|
|
defer orm.Close()
|
|
|
m := entity.Message{}
|
|
|
- count, err := orm.Where("receive_userid=? and isdel=1 and appid=?", userId, appId).Count(m)
|
|
|
+ count, err := orm.Where("receive_userid=? and isRead=0 and isdel=1 and appid=?", userId, appId).Count(m)
|
|
|
if err != nil {
|
|
|
log.Println(err)
|
|
|
log.Println(count)
|
|
@@ -124,20 +124,20 @@ func FindMessageDetail(id int64) (entity.Message, error) {
|
|
|
}
|
|
|
|
|
|
// 获取用户未读消息分类及数量 及分类下的最新一条消息
|
|
|
-func (service *MessageService) ClassCountAndMessage(userId string, appId string,needMsg bool) ([]*message.ResCount, []*message.Messages, error) {
|
|
|
+func (service *MessageService) ClassCountAndMessage(userId string, appId string) ([]*message.ResCount, error) {
|
|
|
orm := entity.Engine.NewSession()
|
|
|
log.Println("123")
|
|
|
defer orm.Close()
|
|
|
//m := []*message.Messages{}
|
|
|
- query, err := orm.QueryInterface("SELECT msg_type,COUNT(CASE WHEN isRead=0 THEN 1 END) as count FROM message where receive_userid=? and isdel=1 and appid=? and isRead=0 GROUP BY msg_type ORDER BY FIELD(`msg_type`,\"1\",\"2\",\"3\")", userId, appId)
|
|
|
+ query, err := orm.QueryInterface("SELECT msg_type,COUNT(CASE WHEN isRead=0 THEN 1 END) as count FROM message where receive_userid=? and isdel=1 and appid=? GROUP BY msg_type ORDER BY FIELD(`msg_type`,\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\")", userId, appId)
|
|
|
log.Println(query)
|
|
|
if err != nil {
|
|
|
- return nil, nil, err
|
|
|
+ return nil, err
|
|
|
}
|
|
|
if err != nil {
|
|
|
log.Println(err)
|
|
|
log.Println("咋回事")
|
|
|
- return nil, nil, errors.New("查询未读消息失败")
|
|
|
+ return nil, errors.New("查询未读消息失败")
|
|
|
}
|
|
|
typeCount := []*message.ResCount{}
|
|
|
log.Println(query)
|
|
@@ -148,43 +148,8 @@ func (service *MessageService) ClassCountAndMessage(userId string, appId string,
|
|
|
typeCount = append(typeCount, &message.ResCount{MsgType: v["msg_type"].(int64), Count: v["count"].(int64)})
|
|
|
}
|
|
|
}
|
|
|
- var m1 []*entity.Message
|
|
|
- var m2 []*message.Messages
|
|
|
- if needMsg{
|
|
|
- // 已经有的消息类型
|
|
|
- existType := map[int64]bool{}
|
|
|
- // 分类下最新一条消息 先查出来所有所有的 然后再取出来最新的一条
|
|
|
- err = orm.Select("*").Where("receive_userid=? and isdel=1 and appid=? ", userId, appId).OrderBy("createtime desc").Find(&m1)
|
|
|
- if err != nil {
|
|
|
- log.Println(err,9999999)
|
|
|
- return typeCount, m2, errors.New("获取类型下最新消息失败")
|
|
|
- }
|
|
|
- if m1 != nil && (len(m1) > 0) {
|
|
|
- for _, v1 := range m1 {
|
|
|
- if !existType[int64(v1.MsgType)] {
|
|
|
- existType[int64(v1.MsgType)] = true
|
|
|
- m2 = append(m2, &message.Messages{
|
|
|
- Id: int64(v1.Id),
|
|
|
- Appid: v1.AppId,
|
|
|
- ReceiveUserId: v1.ReceiveUserid,
|
|
|
- ReceiveName: v1.ReceiveName,
|
|
|
- SendUserId: v1.SendUserid,
|
|
|
- SendName: v1.SendName,
|
|
|
- Createtime: v1.CreateTime.Format("2006-01-02 15:04:05"),
|
|
|
- Title: v1.Title,
|
|
|
- MsgType: int64(v1.MsgType),
|
|
|
- Link: v1.Link,
|
|
|
- CiteId: int64(v1.CiteId),
|
|
|
- Content: v1.Content,
|
|
|
- IsRead: int64(v1.IsRead),
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- log.Println("78945566",typeCount,m2)
|
|
|
- }
|
|
|
|
|
|
- return typeCount, m2, nil
|
|
|
+ return typeCount, nil
|
|
|
}
|
|
|
|
|
|
// 已接收到消息的分类
|