瀏覽代碼

协作房间时间校验

lyhzzz 2 年之前
父節點
當前提交
c855b4f143

+ 1 - 0
src/main/java/com/fdkankan/tk/common/ResultCode.java

@@ -26,6 +26,7 @@ public enum ResultCode {
     FD_USER_NOT_EXIST(8001,"授权失败!此账号不存在!"),
     ROOM_END_EX(8002,"房间设置开启时间过期"),
     ROOM_PASSWORD_ERROR(8003,"房间密码错误"),
+    ROOM_TIME_ERROR(8004,"房间使用时间错误"),
 
 
     ;

+ 1 - 1
src/main/java/com/fdkankan/tk/controller/RoomController.java

@@ -35,7 +35,7 @@ public class RoomController extends BaseController{
      */
     @GetMapping("/roomInfo")
     public ResultData roomInfo(@RequestParam(required = false) String roomId){
-        return ResultData.ok(roomService.getRoomInfo(roomId,getWxToken()));
+        return ResultData.ok(roomService.getRoomInfo(roomId,getToken(),getWxToken()));
     }
     /**
      * 房间访问次数 +1

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

@@ -28,7 +28,7 @@ public interface IRoomService extends IService<Room> {
 
     void deleteById(String roomId);
 
-    RoomVo getRoomInfo(String roomId,String wxToken);
+    RoomVo getRoomInfo(String roomId,String token,String wxToken);
 
     void roomAddView(String roomId);
 

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

@@ -161,8 +161,8 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             }
         }
 
-        this.saveOrUpdate(room);
         roomUserService.updateByUserObjList(param.getUserObjList(),room);
+        this.saveOrUpdate(room);
         roomNumService.addBatch(room.getRoomId(),param.getNumList());
         param.setRoomId(room.getRoomId());
         return param;
@@ -186,7 +186,7 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
     }
 
     @Override
-    public RoomVo getRoomInfo(String roomId,String wxToken) {
+    public RoomVo getRoomInfo(String roomId,String token,String wxToken) {
         Room room = this.getById(roomId);
         if(room == null){
             throw new BusinessException(ResultCode.ROOM_MISS);
@@ -198,7 +198,9 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         }
         RoomVo roomVo = new RoomVo();
         BeanUtils.copyProperties(room,roomVo);
-        roomVo.setVisitPassword(null);
+        if(StringUtils.isNotBlank(token)){
+            roomVo.setVisitPassword(null);
+        }
         try {
             if(StringUtils.isNotBlank(wxToken)){
                 WxUser wxUser = wxUserService.getById(JwtUtil.getUserName(wxToken));

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

@@ -79,14 +79,22 @@ public class RoomUserServiceImpl extends ServiceImpl<IRoomUserMapper, RoomUser>
             this.delByUserNameList(delUserName,room.getRoomId());
         }
 
+        List<RoomUser> roomUserList = new ArrayList<>();
         for (RoomUser roomUser : userObjList) {
+            if(room.getUseStartTime().getTime() < roomUser.getUseStartTime().getTime()
+                    || room.getUseEndTime().getTime() < roomUser.getUseEndTime().getTime()){
+                throw new BusinessException(ResultCode.ROOM_TIME_ERROR);
+            }
             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());
             }
-            this.saveOrUpdate(roomUser);
+            roomUserList.add(roomUser);
         }
+        this.saveOrUpdateBatch(roomUserList);
 
 
     }