|
@@ -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
|