Pārlūkot izejas kodu

获取房间号

lyhzzz 1 gadu atpakaļ
vecāks
revīzija
015a1e29b7

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

@@ -186,5 +186,15 @@ public class RoomController extends BaseController{
         roomService.openTheRoom(roomId);
         return ResultData.ok();
     }
+
+    //根据场景码获取房间号
+    @GetMapping("/getRoomIdByNum")
+    public ResultData getRoomIdByNum(@RequestParam(required = false) String num){
+        Room room = roomService.getRoomIdByNum(num);
+        if(room == null){
+            throw new BusinessException(ResultCode.ROOM_MISS);
+        }
+        return ResultData.ok(room);
+    }
 }
 

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

@@ -23,4 +23,6 @@ public interface IRoomNumService extends IService<RoomNum> {
     List<String> getListByRoomId(String roomId);
 
     List<RoomNum>  getListByRoomIds(List<String> roomIds);
+
+    List<RoomNum> getByNum(String num);
 }

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

@@ -55,4 +55,6 @@ public interface IRoomService extends IService<Room> {
     void dissolveTheRoom(String roomId);
 
     void openTheRoom(String roomId);
+
+    Room getRoomIdByNum(String num);
 }

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

@@ -62,4 +62,11 @@ public class RoomNumServiceImpl extends ServiceImpl<IRoomNumMapper, RoomNum> imp
         List<RoomNum> list = this.list(wrapper);
         return list;
     }
+
+    @Override
+    public List<RoomNum> getByNum(String num) {
+        LambdaQueryWrapper<RoomNum> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(RoomNum::getNum,num);
+        return  this.list(wrapper);
+    }
 }

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

@@ -22,6 +22,7 @@ import com.fdkankan.tk.common.util.JwtUtil;
 import com.fdkankan.tk.common.util.RedisKeyUtil;
 import com.fdkankan.tk.common.util.RoomUtil;
 import com.fdkankan.tk.entity.Room;
+import com.fdkankan.tk.entity.RoomNum;
 import com.fdkankan.tk.entity.RoomUser;
 import com.fdkankan.tk.entity.WxUser;
 import com.fdkankan.tk.exception.BusinessException;
@@ -559,4 +560,25 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         wrapper.set(Room::getRoomStatus,status);
         this.update(wrapper);
     }
+
+    @Override
+    public Room getRoomIdByNum(String num) {
+        List<RoomNum> roomNums = roomNumService.getByNum(num);
+        List<String> roomIds = roomNums.stream().map(RoomNum::getRoomId).collect(Collectors.toList());
+        return this.getUcenterPlatform(roomIds);
+    }
+
+    private Room getUcenterPlatform(List<String> roomIds) {
+        if(roomIds.isEmpty()){
+            return null;
+        }
+        LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(Room::getRoomId,roomIds);
+        wrapper.eq(Room::getPlatform,"ucenter");
+        List<Room> list = this.list(wrapper);
+        if(list.isEmpty()){
+            return null;
+        }
+        return list.get(0);
+    }
 }