123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- package com.fdkankan.tk.service.impl;
- import java.util.Date;
- import java.util.List;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.fdkankan.tk.entity.RoomVisitLog;
- import com.fdkankan.tk.mapper.IRoomVisitLogMapper;
- import com.fdkankan.tk.response.DataCount;
- import com.fdkankan.tk.service.IRoomVisitLogService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import org.springframework.stereotype.Service;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author
- * @since 2023-02-28
- */
- @Service
- public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, RoomVisitLog> implements IRoomVisitLogService {
- @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();
- 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.saveOrUpdate(roomVisitLog);
- }
- @Override
- public void stopRoom(String roomId,Integer roomUserId) {
- LambdaUpdateWrapper<RoomVisitLog> wrapper = new LambdaUpdateWrapper<>();
- wrapper.eq(RoomVisitLog::getRoomId,roomId);
- if(roomUserId !=null){
- wrapper.eq(RoomVisitLog::getRoomUserId,roomUserId);
- }else {
- wrapper.isNull(RoomVisitLog::getRoomUserId);
- }
- wrapper.isNull(RoomVisitLog::getOutRoomTime);
- wrapper.set(RoomVisitLog::getOutRoomTime,new Date());
- this.update(wrapper);
- }
- private RoomVisitLog getByLiveIdAndUserId(String roomId,Integer roomUserId, String userId,Integer type) {
- LambdaQueryWrapper<RoomVisitLog> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(RoomVisitLog::getRoomId,roomId);
- if(roomUserId !=null){
- wrapper.eq(RoomVisitLog::getRoomUserId,roomUserId);
- }else {
- wrapper.isNull(RoomVisitLog::getRoomUserId);
- }
- wrapper.eq(RoomVisitLog::getVisitUserId,userId);
- if(type == 0){
- wrapper.isNull(RoomVisitLog::getInRoomTime);
- wrapper.orderByDesc(RoomVisitLog::getInRoomTime);
- }
- if(type == 1){
- 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;
- }
- @Override
- public Long manCount(List<String> roomIds) {
- return this.getBaseMapper().manCount(roomIds);
- }
- @Override
- public Long getCountByTime(Integer key,List<String> roomIds) {
- return this.getBaseMapper().getCountByTime(key,roomIds);
- }
- @Override
- public List<DataCount> getByGroupRoomId(String tb,List<String> roomIds, String startTime, String endTime) {
- return this.getBaseMapper().getByGroupRoomId(tb,roomIds,startTime,endTime);
- }
- @Override
- public List<DataCount> getByDGroupRoomId(String tb,List<String> roomIds, String startTime, String endTime) {
- return this.getBaseMapper().getByDGroupRoomId(tb,roomIds,startTime,endTime);
- }
- @Override
- public List<DataCount> getGroupByRoomId() {
- return this.getBaseMapper().getGroupByRoomId();
- }
- @Override
- public List<RoomVisitLog> getByRoomId(String roomId) {
- LambdaQueryWrapper<RoomVisitLog> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(RoomVisitLog::getRoomId,roomId);
- wrapper.eq(RoomVisitLog::getIsHost,1);
- wrapper.isNotNull(RoomVisitLog::getOutRoomTime);
- return this.list(wrapper);
- }
- @Override
- public List<DataCount> getDataCountTop5(List<String> roomIds) {
- return this.getBaseMapper().getDataCountTop5(roomIds);
- }
- }
|