Browse Source

删除roomLive

lyhzzz 2 years ago
parent
commit
1db6c22cf8
23 changed files with 89 additions and 287 deletions
  1. 2 2
      src/main/java/com/fdkankan/tk/common/util/RoomUtil.java
  2. 3 0
      src/main/java/com/fdkankan/tk/entity/Room.java
  3. 1 1
      src/main/java/com/fdkankan/tk/entity/RoomDanmaku.java
  4. 0 63
      src/main/java/com/fdkankan/tk/entity/RoomLive.java
  5. 0 1
      src/main/java/com/fdkankan/tk/entity/RoomNum.java
  6. 0 11
      src/main/java/com/fdkankan/tk/entity/RoomUser.java
  7. 2 2
      src/main/java/com/fdkankan/tk/entity/RoomVisitLog.java
  8. 0 2
      src/main/java/com/fdkankan/tk/inner/service/InnerService.java
  9. 0 18
      src/main/java/com/fdkankan/tk/mapper/IRoomLiveMapper.java
  10. 0 2
      src/main/java/com/fdkankan/tk/response/RoomInnerVo.java
  11. 3 5
      src/main/java/com/fdkankan/tk/service/DataCountService.java
  12. 1 1
      src/main/java/com/fdkankan/tk/service/IRoomDanmakuService.java
  13. 0 27
      src/main/java/com/fdkankan/tk/service/IRoomLiveService.java
  14. 3 1
      src/main/java/com/fdkankan/tk/service/IRoomService.java
  15. 3 2
      src/main/java/com/fdkankan/tk/service/IRoomVisitLogService.java
  16. 4 13
      src/main/java/com/fdkankan/tk/service/impl/RoomDanmakuServiceImpl.java
  17. 0 75
      src/main/java/com/fdkankan/tk/service/impl/RoomLiveServiceImpl.java
  18. 36 32
      src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java
  19. 8 2
      src/main/java/com/fdkankan/tk/service/impl/RoomShareLogServiceImpl.java
  20. 5 14
      src/main/java/com/fdkankan/tk/service/impl/RoomUserServiceImpl.java
  21. 17 7
      src/main/java/com/fdkankan/tk/service/impl/RoomVisitLogServiceImpl.java
  22. 1 1
      src/main/java/com/fdkankan/tk/task/TaskService.java
  23. 0 5
      src/main/resources/mapper/tk/RoomLiveMapper.xml

+ 2 - 2
src/main/java/com/fdkankan/tk/common/util/RoomUtil.java

@@ -22,8 +22,8 @@ public class RoomUtil {
     @Autowired
     IRoomService roomService;
 
-    public static String getLiveRoomId(String roomId, String roomUserId) {
-        if(StringUtils.isNotBlank(roomId) && StringUtils.isNotBlank(roomUserId)){
+    public static String getLiveRoomId(String roomId, Integer roomUserId) {
+        if(StringUtils.isNotBlank(roomId) && roomUserId !=null){
             return roomId + "_" +roomUserId;
         }
         return roomId;

+ 3 - 0
src/main/java/com/fdkankan/tk/entity/Room.java

@@ -130,6 +130,9 @@ public class Room implements Serializable {
     //房间最大人数设置
     @TableField("max_man")
     private Integer maxMan;
+    //分享次数
+    @TableField("share_count")
+    private Integer shareCount;
 
     @TableField(exist = false)
     private Integer roomUserId;

+ 1 - 1
src/main/java/com/fdkankan/tk/entity/RoomDanmaku.java

@@ -32,7 +32,7 @@ public class RoomDanmaku implements Serializable {
     private String roomId;
 
     @TableField("room_user_id")
-    private String roomUserId;
+    private Integer roomUserId;
 
     @TableField("live_id")
     private String liveId;

+ 0 - 63
src/main/java/com/fdkankan/tk/entity/RoomLive.java

@@ -1,63 +0,0 @@
-package com.fdkankan.tk.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author 
- * @since 2023-02-28
- */
-@Getter
-@Setter
-@TableName("t_room_live")
-public class RoomLive implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 直播ID
-     */
-    @TableId(value = "live_id", type = IdType.AUTO)
-    private Integer liveId;
-
-    /**
-     * 房间ID
-     */
-    @TableField("room_id")
-    private String roomId;
-
-    @TableField("status")
-    private Integer status;
-
-    /**
-     * 协作者id
-     */
-    @TableField("room_user_id")
-    private String roomUserId;
-
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("update_time")
-    private Date updateTime;
-
-    @TableField("over_time")
-    private Date overTime;
-
-
-}

+ 0 - 1
src/main/java/com/fdkankan/tk/entity/RoomNum.java

@@ -44,7 +44,6 @@ public class RoomNum implements Serializable {
     private String num;
 
     @TableField("tb_status")
-    @TableLogic
     private Integer tbStatus;
 
     @TableField("create_time")

+ 0 - 11
src/main/java/com/fdkankan/tk/entity/RoomUser.java

@@ -40,16 +40,6 @@ public class RoomUser implements Serializable {
      */
     @TableField("user_name")
     private String userName;
-    /**
-     * 使用时间
-     */
-    @TableField("use_start_time")
-    private Date useStartTime;
-    /**
-     * 使用时间
-     */
-    @TableField("use_end_time")
-    private Date useEndTime;
 
     /**
      * 房间状态 ,0 未开启,1进行中,2已关闭
@@ -58,7 +48,6 @@ public class RoomUser implements Serializable {
     private Integer roomStatus;
 
     @TableField("tb_status")
-    @TableLogic
     private Integer tbStatus;
 
     @TableField("create_time")

+ 2 - 2
src/main/java/com/fdkankan/tk/entity/RoomVisitLog.java

@@ -43,8 +43,8 @@ public class RoomVisitLog implements Serializable {
     /**
      * 直播号
      */
-    @TableField("live_id")
-    private Integer liveId;
+    @TableField("room_user_id")
+    private Integer roomUserId;
 
 
     /**

+ 0 - 2
src/main/java/com/fdkankan/tk/inner/service/InnerService.java

@@ -60,8 +60,6 @@ public class InnerService {
             if(RoomUtil.ev.contains("eur")){
                 roomVo.setSceneNumList(numList);
             }
-            Long shareCount = roomShareLogService.getShareCountByRoomId(record.getRoomId());
-            roomVo.setShareCount(shareCount);
             list.add(roomVo);
         }
         Page<RoomInnerVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());

+ 0 - 18
src/main/java/com/fdkankan/tk/mapper/IRoomLiveMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.tk.mapper;
-
-import com.fdkankan.tk.entity.RoomLive;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author 
- * @since 2023-02-28
- */
-@Mapper
-public interface IRoomLiveMapper extends BaseMapper<RoomLive> {
-
-}

+ 0 - 2
src/main/java/com/fdkankan/tk/response/RoomInnerVo.java

@@ -10,6 +10,4 @@ public class RoomInnerVo extends Room {
 
     private List<String> sceneNumList;
 
-    private Long shareCount;
-
 }

+ 3 - 5
src/main/java/com/fdkankan/tk/service/DataCountService.java

@@ -36,8 +36,6 @@ public class DataCountService {
     IRoomUserService roomUserService;
     @Autowired
     IWxUserService wxUserService;
-    @Autowired
-    IRoomLiveService roomLiveService;
 
 
     public Object roomData(String token) {
@@ -238,10 +236,10 @@ public class DataCountService {
                     }
                 });
             }
-            List<RoomLive> roomLives = roomLiveService.getByRoomId(record.getRoomId());
+            List<RoomVisitLog> roomLives = roomVisitLogService.getByRoomId(record.getRoomId());
             Long minute = 0L;
-            for (RoomLive roomLive : roomLives) {
-                Date overTime = roomLive.getOverTime();
+            for (RoomVisitLog roomLive : roomLives) {
+                Date overTime = roomLive.getOutRoomTime();
                 if(overTime == null){
                     overTime = record.getUseEndTime();
                 }

+ 1 - 1
src/main/java/com/fdkankan/tk/service/IRoomDanmakuService.java

@@ -18,7 +18,7 @@ import java.util.List;
  */
 public interface IRoomDanmakuService extends IService<RoomDanmaku> {
 
-    void saveDanMaku(String liveId);
+    void saveDanMaku(String roomId,Integer roomUserId);
 
     List<DataCount> getDataCountTop5(List<String> roomIds);
 

+ 0 - 27
src/main/java/com/fdkankan/tk/service/IRoomLiveService.java

@@ -1,27 +0,0 @@
-package com.fdkankan.tk.service;
-
-import com.fdkankan.tk.entity.Room;
-import com.fdkankan.tk.entity.RoomLive;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author 
- * @since 2023-02-28
- */
-public interface IRoomLiveService extends IService<RoomLive> {
-
-    RoomLive addLiveByRoomId(String roomId,String roomUserId);
-
-    void stopByLiveId(String liveId,Date overTime);
-
-    void stopByRoomId(Room room);
-
-    List<RoomLive> getByRoomId(String roomId);
-}

+ 3 - 1
src/main/java/com/fdkankan/tk/service/IRoomService.java

@@ -41,11 +41,13 @@ public interface IRoomService extends IService<Room> {
 
     List<Room> getRunningRoom();
 
-    void stopRoom(Room room);
+    void stopRoom(String roomId,Integer roomUserId);
 
     HashMap<String, Room> getByIds(List<String> roomIds);
 
     List<Room> getLikeTitle(String roomTitle);
 
     List<Room> getRoomByToken(String token);
+
+    void addShareCount(String roomId);
 }

+ 3 - 2
src/main/java/com/fdkankan/tk/service/IRoomVisitLogService.java

@@ -1,5 +1,6 @@
 package com.fdkankan.tk.service;
 
+import com.fdkankan.tk.entity.RoomUser;
 import com.fdkankan.tk.entity.RoomVisitLog;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.tk.response.DataCount;
@@ -16,9 +17,9 @@ import java.util.List;
  */
 public interface IRoomVisitLogService extends IService<RoomVisitLog> {
 
-    void addLog(Integer liveId, String roomId, String userId,Integer type);
+    void addLog(String roomId, Integer roomUserId,  String userId,Integer type);
 
-    void stopRoom(Integer liveId);
+    void stopRoom(String roomId,Integer roomUserId);
 
     Long manCount(List<String> roomIds);
 

+ 4 - 13
src/main/java/com/fdkankan/tk/service/impl/RoomDanmakuServiceImpl.java

@@ -8,14 +8,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.tk.common.util.RoomUtil;
 import com.fdkankan.tk.entity.RoomDanmaku;
-import com.fdkankan.tk.entity.RoomLive;
 import com.fdkankan.tk.httpClient.client.LiveClient;
 import com.fdkankan.tk.mapper.IRoomDanmakuMapper;
 import com.fdkankan.tk.response.DataCount;
 import com.fdkankan.tk.response.UserMsgVo;
 import com.fdkankan.tk.service.IRoomDanmakuService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.tk.service.IRoomLiveService;
 import com.fdkankan.tk.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,17 +33,11 @@ import java.util.Set;
 public class RoomDanmakuServiceImpl extends ServiceImpl<IRoomDanmakuMapper, RoomDanmaku> implements IRoomDanmakuService {
 
     @Autowired
-    IRoomLiveService roomLiveService;
-    @Autowired
     LiveClient liveClient;
 
     @Override
-    public void saveDanMaku(String liveId) {
-        RoomLive roomLive = roomLiveService.getById(liveId);
-        if(roomLive == null){
-            return;
-        }
-        String wxRoomId = RoomUtil.getLiveRoomId( roomLive.getRoomId() , roomLive.getRoomUserId());
+    public void saveDanMaku(String roomId,Integer roomUserId) {
+        String wxRoomId = RoomUtil.getLiveRoomId( roomId , roomUserId);
         List<RoomDanmaku> saveList = new ArrayList<>();
         JSONObject jsonObject = liveClient.getDanmaku(wxRoomId);
         if(jsonObject != null && jsonObject.getInteger("code") ==0){
@@ -57,9 +49,8 @@ public class RoomDanmakuServiceImpl extends ServiceImpl<IRoomDanmakuMapper, Room
                     for (String key : timest) {
                         JSONObject info = danmaku.getJSONObject(key);
                         RoomDanmaku roomDanmaku = new RoomDanmaku();
-                        roomDanmaku.setRoomId(roomLive.getRoomId());
-                        roomDanmaku.setRoomUserId(roomLive.getRoomUserId());
-                        roomDanmaku.setLiveId(liveId);
+                        roomDanmaku.setRoomId(roomId);
+                        roomDanmaku.setRoomUserId(roomUserId);
                         roomDanmaku.setUserId(info.getString("userId"));
                         roomDanmaku.setText(info.getString("text"));
                         roomDanmaku.setNickName(info.getString("nickname"));

+ 0 - 75
src/main/java/com/fdkankan/tk/service/impl/RoomLiveServiceImpl.java

@@ -1,75 +0,0 @@
-package com.fdkankan.tk.service.impl;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.fdkankan.redis.util.RedisUtil;
-import com.fdkankan.tk.common.util.RoomUtil;
-import com.fdkankan.tk.entity.Room;
-import com.fdkankan.tk.entity.RoomLive;
-import com.fdkankan.tk.httpClient.client.LiveClient;
-import com.fdkankan.tk.mapper.IRoomLiveMapper;
-import com.fdkankan.tk.service.IRoomDanmakuService;
-import com.fdkankan.tk.service.IRoomLiveService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author 
- * @since 2023-02-28
- */
-@Service
-public class RoomLiveServiceImpl extends ServiceImpl<IRoomLiveMapper, RoomLive> implements IRoomLiveService {
-
-    @Autowired
-    RedisUtil redisUtil;
-    @Autowired
-    IRoomDanmakuService roomDanmakuService;
-
-
-    @Override
-    public RoomLive addLiveByRoomId(String roomId,String roomUserId) {
-        RoomLive roomLive = new RoomLive();
-        roomLive.setRoomId(roomId);
-        roomLive.setRoomUserId(roomUserId);
-        this.save(roomLive);
-        redisUtil.set(RoomUtil.redisKey+"live:"+RoomUtil.getLiveRoomId(roomId,roomUserId),roomLive.getLiveId().toString());
-        return roomLive;
-    }
-
-    @Override
-    public void stopByLiveId(String liveId,Date overTime) {
-        LambdaUpdateWrapper<RoomLive> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.eq(RoomLive::getLiveId,liveId);
-        wrapper.set(RoomLive::getOverTime,overTime);
-        wrapper.set(RoomLive::getStatus,2);
-        this.update(wrapper);
-
-        roomDanmakuService.saveDanMaku(liveId);
-
-    }
-
-    @Override
-    public void stopByRoomId(Room room) {
-        List<RoomLive> list = this.getByRoomId(room.getRoomId());
-        for (RoomLive roomLive : list) {
-            this.stopByLiveId(roomLive.getLiveId().toString(),room.getUseEndTime());
-        }
-    }
-
-    @Override
-    public List<RoomLive> getByRoomId(String roomId) {
-        LambdaQueryWrapper<RoomLive> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(RoomLive::getRoomId,roomId);
-        return this.list(wrapper);
-    }
-}

+ 36 - 32
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -24,7 +24,6 @@ import com.fdkankan.tk.common.util.RedisKeyUtil;
 import com.fdkankan.tk.common.util.RoomUtil;
 import com.fdkankan.tk.common.util.UploadToOssUtil;
 import com.fdkankan.tk.entity.Room;
-import com.fdkankan.tk.entity.RoomLive;
 import com.fdkankan.tk.entity.RoomUser;
 import com.fdkankan.tk.entity.WxUser;
 import com.fdkankan.tk.exception.BusinessException;
@@ -81,9 +80,9 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
     @Autowired
     IRoomUserService roomUserService;
     @Autowired
-    IRoomLiveService roomLiveService;
-    @Autowired
     IRoomVisitLogService roomVisitLogService;
+    @Autowired
+    IRoomDanmakuService roomDanmakuService;
 
     @Override
     public PageInfo pageList(RoomListParam param, String token,String wxToken) {
@@ -320,11 +319,11 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             throw new BusinessException(ResultCode.PARAM_MISS);
         }
         String wxRoomId = roomId;
-        String roomUserId = null;
+        Integer roomUserId = null;
         if(roomId.contains("_")){
             String[] split = roomId.split("_");
             roomId =split[0];
-            roomUserId = split[1];
+            roomUserId = Integer.parseInt(split[1]);
         }
         Room room = this.getById(roomId);
         if(room == null){
@@ -343,10 +342,7 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             if(type == 0 ){
                 room.setRoomViewCount(room.getRoomViewCount() + 1);
             }
-            String liveId = redisUtil.get(RoomUtil.redisKey+"live:"+wxRoomId);
-            if(StringUtils.isNotBlank(liveId)){
-                roomVisitLogService.addLog(Integer.parseInt(liveId),roomId,userId,type);
-            }
+            roomVisitLogService.addLog(roomId,roomUserId,userId,type);
             room.setUpdateTime(null);
             this.updateById(room);
             return;
@@ -354,10 +350,6 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
 
         if(roomUserId != null){             //协作带看
             RoomUser roomuser = roomUserService.getById(roomUserId);
-            if(roomuser.getUseEndTime() != null && roomuser.getUseEndTime().getTime() <= new Date().getTime()){
-                throw new BusinessException(ResultCode.ROOM_END_EX);
-            }
-
             if(type == 0 ){     //加入房间,开启带看
                 roomuser.setRoomStatus(1);
             }
@@ -371,17 +363,12 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         if(type == 0 ){     //加入房间,开启带看
             room.setRoomViewCount(room.getRoomViewCount() + 1);
             room.setRoomStatus(1);
-            RoomLive roomLive = roomLiveService.addLiveByRoomId(roomId,roomUserId);
-            roomVisitLogService.addLog(roomLive.getLiveId(),roomId,userId,type);
+            roomVisitLogService.addLog(roomId,roomUserId,userId,type);
         }
         if(type == 1 ){   //离开房间
             room.setRoomStatus(2);
-            String liveId = redisUtil.get(RoomUtil.redisKey+"live:"+wxRoomId);
-            if(StringUtils.isNotBlank(liveId)){
-                roomLiveService.stopByLiveId(liveId,new Date());
-                roomVisitLogService.addLog(Integer.parseInt(liveId),roomId,userId,type);
-            }
-            redisUtil.del(RoomUtil.redisKey+"live:"+wxRoomId);
+            this.stopRoom(roomId,roomUserId);
+            roomVisitLogService.addLog(roomId,roomUserId,userId,type);
         }
 
         room.setLastLookTime(DateUtil.formatDateTime(new Date()));
@@ -403,18 +390,27 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
     }
 
     @Override
-    public void stopRoom(Room room) {
-        LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.eq(Room::getRoomId,room.getRoomId());
-        wrapper.set(Room::getRoomStatus,2);
-        this.update(wrapper);
-        roomLiveService.stopByRoomId(room);
-        redisUtil.del(RoomUtil.redisKey+"live:"+room.getRoomId());
-
-        List<RoomUser> byRoomId = roomUserService.getByRoomId(room.getRoomId());
-        for (RoomUser roomUser : byRoomId) {
-            roomUserService.stopRoom(roomUser);
+    public void stopRoom(String roomId,Integer roomUserId) {
+        if(roomUserId == null){
+            LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.eq(Room::getRoomId,roomId);
+            wrapper.set(Room::getRoomStatus,2);
+            this.update(wrapper);
+            roomVisitLogService.stopRoom(roomId,roomUserId);
+            roomDanmakuService.saveDanMaku(roomId,roomUserId);
+
+            List<RoomUser> byRoomId = roomUserService.getByRoomId(roomId);
+            for (RoomUser roomUser : byRoomId) {
+                roomUserService.stopRoom(roomUser);
+            }
+        }else {
+            RoomUser roomUser = roomUserService.getById(roomUserId);
+            if(roomUser != null){
+                roomUserService.stopRoom(roomUser);
+            }
         }
+
+
     }
 
     @Override
@@ -447,4 +443,12 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         wrapper.orderByDesc(Room::getRoomViewCount);
        return this.list(wrapper);
     }
+
+    @Override
+    public void addShareCount(String roomId) {
+        LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.setSql("share_count = share_count +1");
+        wrapper.eq(Room::getRoomId,roomId);
+        this.update(wrapper);
+    }
 }

+ 8 - 2
src/main/java/com/fdkankan/tk/service/impl/RoomShareLogServiceImpl.java

@@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.tk.entity.RoomShareLog;
 import com.fdkankan.tk.mapper.IRoomShareLogMapper;
 import com.fdkankan.tk.response.DataCount;
+import com.fdkankan.tk.service.IRoomService;
 import com.fdkankan.tk.service.IRoomShareLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -21,13 +23,17 @@ import org.springframework.stereotype.Service;
 @Service
 public class RoomShareLogServiceImpl extends ServiceImpl<IRoomShareLogMapper, RoomShareLog> implements IRoomShareLogService {
 
+    @Autowired
+    IRoomService roomService;
     @Override
     public void saveLog(String roomId, String userId) {
         String roomUserId = null;
         if(roomId.contains("_")){
-            roomId = roomId.split("_")[0];
-            roomUserId = roomId.split("_")[1];
+            String [] split = roomId.split("_");
+            roomId =split[0];
+            roomUserId = split[1];
         }
+        roomService.addShareCount(roomId);
         RoomShareLog roomShareLog = new RoomShareLog();
         roomShareLog.setRoomId(roomId);
         roomShareLog.setRoomUserId(roomUserId);

+ 5 - 14
src/main/java/com/fdkankan/tk/service/impl/RoomUserServiceImpl.java

@@ -12,7 +12,7 @@ import com.fdkankan.tk.exception.BusinessException;
 import com.fdkankan.tk.httpClient.FdKKService;
 import com.fdkankan.tk.mapper.IRoomUserMapper;
 import com.fdkankan.tk.response.RoomAddUserParam;
-import com.fdkankan.tk.service.IRoomLiveService;
+import com.fdkankan.tk.service.IRoomDanmakuService;
 import com.fdkankan.tk.service.IRoomUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.tk.service.IRoomVisitLogService;
@@ -41,10 +41,10 @@ public class RoomUserServiceImpl extends ServiceImpl<IRoomUserMapper, RoomUser>
     @Autowired
     FdKKService fdKKService;
     @Autowired
-    IRoomLiveService roomLiveService;
-    @Autowired
     IRoomVisitLogService roomVisitLogService;
     @Autowired
+    IRoomDanmakuService roomDanmakuService;
+    @Autowired
     RedisUtil redisUtil;
 
 
@@ -73,14 +73,10 @@ public class RoomUserServiceImpl extends ServiceImpl<IRoomUserMapper, RoomUser>
 
         List<RoomUser> roomUserList = new ArrayList<>();
         for (RoomUser roomUser : userObjList) {
-            roomUser.setUseStartTime(room.getUseStartTime());
-            roomUser.setUseEndTime(room.getUseEndTime());
             roomUser.setRoomId(room.getRoomId());
             RoomUser dbRoomUser = roomUserHashMap.get(roomUser.getUserName());
             if(dbRoomUser != null){
                 roomUser.setRoomUserId(dbRoomUser.getRoomUserId());
-                roomUser.setUseStartTime(room.getUseStartTime());
-                roomUser.setUseEndTime(room.getUseEndTime());
                 roomUser.setRoomStatus(dbRoomUser.getRoomStatus());
             }
             roomUserList.add(roomUser);
@@ -130,13 +126,8 @@ public class RoomUserServiceImpl extends ServiceImpl<IRoomUserMapper, RoomUser>
         wrapper.set(RoomUser::getRoomStatus,2);
         this.update(wrapper);
 
-        String liveId = redisUtil.get(RoomUtil.redisKey+"live:"+RoomUtil.getLiveRoomId(roomUser.getRoomId(),roomUser.getRoomUserId().toString()));
-        if(StringUtils.isNotBlank(liveId)){
-            roomLiveService.stopByLiveId(liveId,roomUser.getUseEndTime());
-            roomVisitLogService.stopRoom(Integer.parseInt(liveId));
-            redisUtil.del(RoomUtil.redisKey+"live:"+RoomUtil.getLiveRoomId(roomUser.getRoomId(),roomUser.getRoomUserId().toString()));
-
-        }
+        roomVisitLogService.stopRoom(roomUser.getRoomId(),roomUser.getRoomUserId());
+        roomDanmakuService.saveDanMaku(roomUser.getRoomId(),roomUser.getRoomUserId());
     }
 
     @Override

+ 17 - 7
src/main/java/com/fdkankan/tk/service/impl/RoomVisitLogServiceImpl.java

@@ -23,13 +23,13 @@ import org.springframework.stereotype.Service;
 public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, RoomVisitLog> implements IRoomVisitLogService {
 
     @Override
-    public void addLog(Integer liveId, String roomId, String userId,Integer type) {
-        RoomVisitLog roomVisitLog  =  this.getByLiveIdAndUserId(liveId,userId,type);
+    public void addLog(String roomId,Integer roomUserId,  String userId,Integer type) {
+        RoomVisitLog roomVisitLog  =  this.getByLiveIdAndUserId(roomId,roomUserId,userId,type);
         if(roomVisitLog == null){
             roomVisitLog = new RoomVisitLog();
             roomVisitLog.setRoomId(roomId);
+            roomVisitLog.setRoomUserId(roomUserId);
             roomVisitLog.setVisitUserId(userId);
-            roomVisitLog.setLiveId(liveId);
             roomVisitLog.setInRoomTime(new Date());
         }
         if(type == 1){
@@ -39,17 +39,27 @@ public class RoomVisitLogServiceImpl extends ServiceImpl<IRoomVisitLogMapper, Ro
         this.saveOrUpdate(roomVisitLog);
     }
     @Override
-    public void stopRoom(Integer liveId) {
+    public void stopRoom(String roomId,Integer roomUserId) {
         LambdaUpdateWrapper<RoomVisitLog> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.eq(RoomVisitLog::getLiveId,liveId);
+        wrapper.eq(RoomVisitLog::getRoomId,roomId);
+        if(roomUserId !=null){
+            wrapper.eq(RoomVisitLog::getRoomUserId,roomUserId);
+        }else {
+            wrapper.isNull(RoomVisitLog::getRoomUserId);
+        }
         wrapper.set(RoomVisitLog::getOutRoomTime,new Date());
         this.update(wrapper);
     }
 
 
-    private RoomVisitLog getByLiveIdAndUserId(Integer liveId, String userId,Integer type) {
+    private RoomVisitLog getByLiveIdAndUserId(String roomId,Integer roomUserId, String userId,Integer type) {
         LambdaQueryWrapper<RoomVisitLog> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(RoomVisitLog::getLiveId,liveId);
+        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);

+ 1 - 1
src/main/java/com/fdkankan/tk/task/TaskService.java

@@ -41,7 +41,7 @@ public class TaskService {
                 }
                 int comp = DateUtil.compDateStr(room.getUseEndTime(), new Date());
                 if(comp < 0){            //房间已过期关闭
-                    roomService.stopRoom(room);
+                    roomService.stopRoom(room.getRoomId(),null);
                     stopRoomIds.add(room.getRoomId());
                 }
             }

+ 0 - 5
src/main/resources/mapper/tk/RoomLiveMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.tk.mapper.IRoomLiveMapper">
-
-</mapper>