lyhzzz 2 年之前
父节点
当前提交
7be7302468

+ 6 - 0
src/main/java/com/fdkankan/tk/mapper/IRoomDanmakuMapper.java

@@ -1,9 +1,12 @@
 package com.fdkankan.tk.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.tk.entity.RoomDanmaku;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.tk.response.DataCount;
+import com.fdkankan.tk.response.UserMsgVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -19,4 +22,7 @@ import java.util.List;
 public interface IRoomDanmakuMapper extends BaseMapper<RoomDanmaku> {
 
     List<DataCount> getDataCountTop5();
+
+    Page<UserMsgVo> pageList( Page<Object> page, @Param("roomId") String roomId, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
 }

+ 21 - 0
src/main/java/com/fdkankan/tk/response/UserMsgVo.java

@@ -0,0 +1,21 @@
+package com.fdkankan.tk.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class UserMsgVo {
+    private String nickName;
+    private String wxUserId;
+    private String phoneNumber;
+    private String roomId;
+    private String roomTitle;
+    private Long onlineTime;
+    private Date firstInRoomTime;
+    private Date lastOutRoomTime;
+    private Long msgCount;
+    private String msg;
+
+    private Integer liveId;
+}

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

@@ -3,16 +3,13 @@ import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.tk.common.PageInfo;
-import com.fdkankan.tk.entity.Room;
-import com.fdkankan.tk.entity.RoomNum;
-import com.fdkankan.tk.entity.RoomUser;
+import com.fdkankan.tk.entity.*;
 import com.fdkankan.tk.response.*;
 import com.fdkankan.tk.util.DataCountUtil;
 import com.fdkankan.tk.util.Dateutils;
 import com.google.common.collect.Lists;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.fdkankan.tk.entity.RoomVisitLog;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,6 +34,8 @@ public class DataCountService {
     ISceneService sceneService;
     @Autowired
     IRoomUserService roomUserService;
+    @Autowired
+    IWxUserService wxUserService;
 
 
     public Object roomData() {
@@ -202,6 +201,18 @@ public class DataCountService {
     }
 
     public Object roomMsgList(String roomId, String startTime, String endTime, Integer pageNum, Integer pageSize) {
-        return PageInfo.PageInfo(new Page(pageNum,pageSize));
+        startTime = Dateutils.formatStartTime(startTime);
+        endTime = Dateutils.formatEndTime(endTime);
+
+        Page<UserMsgVo> page = roomDanmakuService.pageList(new Page<>(pageNum,pageSize) ,roomId,startTime,endTime);
+
+        for (UserMsgVo record : page.getRecords()) {
+            record.setOnlineTime(0L);
+            record.setFirstInRoomTime(new Date());
+            record.setLastOutRoomTime(new Date());
+            record.setMsgCount(0L);
+            record.setMsg("");
+        }
+        return PageInfo.PageInfo(page);
     }
 }

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

@@ -1,8 +1,10 @@
 package com.fdkankan.tk.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.tk.entity.RoomDanmaku;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.tk.response.DataCount;
+import com.fdkankan.tk.response.UserMsgVo;
 
 import java.util.List;
 
@@ -19,4 +21,6 @@ public interface IRoomDanmakuService extends IService<RoomDanmaku> {
     void saveDanMaku(String liveId);
 
     List<DataCount> getDataCountTop5();
+
+    Page<UserMsgVo> pageList(Page<Object> page, String roomId, String startTime, String endTime);
 }

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

@@ -10,6 +10,7 @@ import com.fdkankan.tk.response.RoomAddUserParam;
 import com.fdkankan.tk.response.RoomVo;
 
 import java.io.IOException;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -41,4 +42,6 @@ public interface IRoomService extends IService<Room> {
     List<Room> getRunningRoom();
 
     void stopRoom(Room room);
+
+    HashMap<String, Room> getByIds(List<String> roomIds);
 }

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

@@ -1,8 +1,10 @@
 package com.fdkankan.tk.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.tk.entity.WxUser;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.tk.httpClient.response.WxOpenIdVo;
+import com.fdkankan.tk.response.UserMsgVo;
 import com.fdkankan.tk.response.WxUserVo;
 
 /**

+ 7 - 0
src/main/java/com/fdkankan/tk/service/impl/RoomDanmakuServiceImpl.java

@@ -4,12 +4,14 @@ import java.util.Date;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+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;
@@ -76,4 +78,9 @@ public class RoomDanmakuServiceImpl extends ServiceImpl<IRoomDanmakuMapper, Room
     public List<DataCount> getDataCountTop5() {
         return this.getBaseMapper().getDataCountTop5();
     }
+
+    @Override
+    public Page<UserMsgVo> pageList(Page<Object> page, String roomId, String startTime, String endTime) {
+        return this.getBaseMapper().pageList(page,roomId,startTime,endTime);
+    }
 }

+ 11 - 0
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -3,6 +3,7 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 
 import cn.hutool.core.date.DateUtil;
@@ -381,4 +382,14 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             roomUserService.stopRoom(roomUser);
         }
     }
+
+    @Override
+    public HashMap<String, Room> getByIds(List<String> roomIds) {
+        HashMap<String,Room> map = new HashMap<>();
+        if(roomIds.size() >0){
+            List<Room> rooms = this.listByIds(roomIds);
+            rooms.forEach(entity -> map.put(entity.getRoomId(),entity));
+        }
+        return map;
+    }
 }

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

@@ -73,7 +73,7 @@ public class RoomUserServiceImpl extends ServiceImpl<IRoomUserMapper, RoomUser>
 
         List<RoomUser> roomUserList = new ArrayList<>();
         for (RoomUser roomUser : userObjList) {
-            if(room.getUseStartTime().getTime() < roomUser.getUseStartTime().getTime()
+            if(room.getUseStartTime().getTime() > roomUser.getUseStartTime().getTime()
                     || room.getUseEndTime().getTime() < roomUser.getUseEndTime().getTime()){
                 throw new BusinessException(ResultCode.ROOM_TIME_ERROR);
             }
@@ -81,8 +81,8 @@ public class RoomUserServiceImpl extends ServiceImpl<IRoomUserMapper, RoomUser>
             RoomUser dbRoomUser = roomUserHashMap.get(roomUser.getUserName());
             if(dbRoomUser != null){
                 roomUser.setRoomUserId(dbRoomUser.getRoomUserId());
-                roomUser.setUseStartTime(room.getUseStartTime());
-                roomUser.setUseEndTime(room.getUseEndTime());
+                roomUser.setUseStartTime(roomUser.getUseStartTime());
+                roomUser.setUseEndTime(roomUser.getUseEndTime());
             }
             roomUserList.add(roomUser);
         }

+ 2 - 0
src/main/java/com/fdkankan/tk/service/impl/WxUserServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.tk.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.tk.common.ResultCode;
 import com.fdkankan.tk.common.util.JwtUtil;
 import com.fdkankan.tk.common.util.RoomUtil;
@@ -12,6 +13,7 @@ import com.fdkankan.tk.httpClient.client.WxClient;
 import com.fdkankan.tk.httpClient.request.WxGetPhoneParam;
 import com.fdkankan.tk.httpClient.response.WxOpenIdVo;
 import com.fdkankan.tk.mapper.IWxUserMapper;
+import com.fdkankan.tk.response.UserMsgVo;
 import com.fdkankan.tk.response.WxUserVo;
 import com.fdkankan.tk.service.IWxConfigService;
 import com.fdkankan.tk.service.IWxService;

+ 13 - 0
src/main/resources/mapper/tk/RoomDanmakuMapper.xml

@@ -8,4 +8,17 @@
             GROUP BY nick_name  ORDER BY dataCount desc LIMIT 5
 
     </select>
+    <select id="pageList" resultType="com.fdkankan.tk.response.UserMsgVo">
+        select rd.room_id,rd.user_id,rd.nick_name ,r.room_title,wx.phone_number from t_room_danmaku rd
+        LEFT JOIN t_room r  on rd.room_id = r.room_id
+        LEFT JOIN t_wx_user wx  on rd.user_id = wx.wx.user_id
+        where rd.tb_status = 0
+        <if test="roomId != null and roomId !=''">
+            and rd.room_id = #{roomId}
+        </if>
+        <if test="startTime != null and endTime !=null ">
+            and  rd.wirte_time between #{startTime} and #{endTime}
+        </if>
+        group by rd.room_id,rd.user_id,rd.nick_name,r.room_title,wx.phone_number
+    </select>
 </mapper>