Ver código fonte

fix
未读消息

lifang 3 meses atrás
pai
commit
5deb606066

+ 3 - 1
tr-modules/tr-module-mobile/src/main/java/cn/tr/module/mobile/po/ImGroupUserPO.java

@@ -3,6 +3,7 @@ package cn.tr.module.mobile.po;
 
 import cn.tr.plugin.mybatis.pojo.BasePO;
 import cn.tr.plugin.mybatis.pojo.TenantPO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
@@ -23,12 +24,13 @@ import java.util.*;
 public class ImGroupUserPO extends TenantPO {
 
     /** 群id */
-    @TableId
+//    @TableId
     @ApiModelProperty(value = "群id", position = 1)
     private String groupId;
 
     /** 发送者 */
     @ApiModelProperty(value = "用户id", position = 2)
+//    @TableId
     private String userId;
 
     @ApiModelProperty("消息未读数量")

+ 6 - 2
tr-modules/tr-module-mobile/src/main/java/cn/tr/module/mobile/service/impl/ImMsgReceivedServiceImpl.java

@@ -12,6 +12,7 @@ import cn.tr.module.mobile.enums.MsgRoleType;
 import cn.tr.module.mobile.po.ImGroupUserPO;
 import cn.tr.module.mobile.repository.ImGroupUserRepository;
 import cn.tr.module.mobile.utils.UserUtils;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import lombok.extern.slf4j.Slf4j;
 import net.x52im.mobileimsdk.server.network.MBObserver;
 import net.x52im.mobileimsdk.server.processor.OnlineProcessor;
@@ -134,8 +135,11 @@ public class ImMsgReceivedServiceImpl implements IImMsgReceivedService {
                 groupUserPO.setTenantId(msg.getTenantId());
                 groupUserRepository.insert(groupUserPO);
             }else {
-                groupUserPO.setUnreadCount(groupUserPO.getUnreadCount()+1);
-                groupUserRepository.updateById(groupUserPO);
+                groupUserRepository.update(null,
+                        new LambdaUpdateWrapper<ImGroupUserPO>()
+                                .eq(ImGroupUserPO::getGroupId, groupUserPO.getGroupId())
+                                .eq(ImGroupUserPO::getUserId, groupUserPO.getUserId())
+                                .set(ImGroupUserPO::getUnreadCount, groupUserPO.getUnreadCount()+1));
             }
         }
     }