|
@@ -784,6 +784,45 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean batchControlDevice(ReqDeviceControlData data) throws ApiException, Exception {
|
|
|
+ //获取所有的学员列表
|
|
|
+ List<RoomMember> roomMembers = roomMemberDao.findByRidAndRole(data.getRoomId(),RoleEnum.RoleStudent.getValue());
|
|
|
+ if(roomMembers.size() == 0){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ boolean result = true;
|
|
|
+ if (data.getCameraOn() != null) {
|
|
|
+ roomMembers.forEach(e->{
|
|
|
+ try {
|
|
|
+ controlDevice(data.getRoomId(), e.getUid(), DeviceTypeEnum.Camera, data.getCameraOn());
|
|
|
+ } catch (Exception e1) {
|
|
|
+ e1.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (data.getMicrophoneOn() != null) {
|
|
|
+ roomMembers.forEach(e->{
|
|
|
+ try {
|
|
|
+ controlDevice(data.getRoomId(), e.getUid(), DeviceTypeEnum.Microphone, data.getMicrophoneOn());
|
|
|
+ } catch (Exception e1) {
|
|
|
+ e1.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (data.getMusicModeOn() != null) {
|
|
|
+ roomMembers.forEach(e->{
|
|
|
+ try {
|
|
|
+ controlDevice(data.getRoomId(), e.getUid(), DeviceTypeEnum.MusicMode, data.getMusicModeOn());
|
|
|
+ } catch (Exception e1) {
|
|
|
+ e1.printStackTrace();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public Boolean approveControlDevice(String roomId, String ticket) throws ApiException, Exception {
|
|
|
CheckUtils.checkArgument(ticket != null, "ticket must't be null");
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|