lyhzzz 2 år sedan
förälder
incheckning
274d0942a7
1 ändrade filer med 20 tillägg och 13 borttagningar
  1. 20 13
      src/main/java/com/fdkankan/tk/service/impl/RoomVisitLogServiceImpl.java

+ 20 - 13
src/main/java/com/fdkankan/tk/service/impl/RoomVisitLogServiceImpl.java

@@ -24,20 +24,31 @@ public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, Ro
 
     @Override
     public void addLog(String roomId,Integer roomUserId,  String userId,Integer type,Integer isHost) {
-        RoomVisitLog roomVisitLog  =  this.getByLiveIdAndUserId(roomId,roomUserId,userId,type);
-        if(roomVisitLog == null){
-            roomVisitLog = new RoomVisitLog();
+        List<RoomVisitLog> roomVisitLogs  =  this.getByLiveIdAndUserId(roomId,roomUserId,userId,type);
+
+        if(roomVisitLogs.size() <=0){
+            RoomVisitLog roomVisitLog = new RoomVisitLog();
             roomVisitLog.setRoomId(roomId);
             roomVisitLog.setRoomUserId(roomUserId);
             roomVisitLog.setVisitUserId(userId);
             roomVisitLog.setIsHost(isHost);
             roomVisitLog.setInRoomTime(new Date());
+            if(type == 1){
+                roomVisitLog.setUpdateTime(null);
+                roomVisitLog.setOutRoomTime(new Date());
+            }
+            this.save(roomVisitLog);
+            return;
         }
-        if(type == 1){
-            roomVisitLog.setUpdateTime(null);
-            roomVisitLog.setOutRoomTime(new Date());
+        for (RoomVisitLog roomVisitLog : roomVisitLogs) {
+            if(type == 1){
+                roomVisitLog.setUpdateTime(null);
+                roomVisitLog.setOutRoomTime(new Date());
+                this.updateById(roomVisitLog);
+            }
         }
-        this.saveOrUpdate(roomVisitLog);
+
+
     }
     @Override
     public void stopRoom(String roomId,Integer roomUserId) {
@@ -54,7 +65,7 @@ public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, Ro
     }
 
 
-    private RoomVisitLog getByLiveIdAndUserId(String roomId,Integer roomUserId, String userId,Integer type) {
+    private  List<RoomVisitLog> getByLiveIdAndUserId(String roomId,Integer roomUserId, String userId,Integer type) {
         LambdaQueryWrapper<RoomVisitLog> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(RoomVisitLog::getRoomId,roomId);
         if(roomUserId !=null){
@@ -71,11 +82,7 @@ public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, Ro
             wrapper.isNull(RoomVisitLog::getOutRoomTime);
             wrapper.orderByDesc(RoomVisitLog::getOutRoomTime);
         }
-        List<RoomVisitLog> list = this.list(wrapper);
-        if(list != null && list.size() >0){
-            return list.get(0);
-        }
-        return null;
+        return this.list(wrapper);
     }
 
     @Override