|
@@ -22,6 +22,7 @@ import com.ym.mec.biz.dal.enums.SignStatusEnum;
|
|
|
import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
|
|
|
import com.ym.mec.biz.service.StudentAttendanceService;
|
|
|
import com.ym.mec.biz.service.SysConfigService;
|
|
|
+import com.ym.mec.biz.service.SysMessageService;
|
|
|
import com.ym.mec.biz.service.TeacherAttendanceService;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.im.IMHelper;
|
|
@@ -45,6 +46,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Created by super_zou on 2019/11/28.
|
|
@@ -77,6 +80,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
private UserDao userDao;
|
|
|
|
|
|
@Autowired
|
|
|
+ private SysMessageService sysMessageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private TeacherDao teacherDao;
|
|
|
|
|
|
@Autowired
|
|
@@ -1357,12 +1363,32 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
}
|
|
|
userDao.deleteByUid(userId);
|
|
|
-
|
|
|
return true;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void sendImPlayMidiMessage(String userId, String content,String roomId) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if(sysUser == null){
|
|
|
+ throw new BizException("用户信息获取失败");
|
|
|
+ }
|
|
|
+ String[] targetIds;
|
|
|
+ if(StringUtils.isNotEmpty(userId)){
|
|
|
+ targetIds = userId.split(",");
|
|
|
+ }else {
|
|
|
+ List<RoomMember> roomMembers = roomMemberDao.findByRidAndRole(roomId, RoleEnum.RoleStudent.getValue());
|
|
|
+ if(roomMembers.size() > 0){
|
|
|
+ Set<String> collect = roomMembers.stream().map(e -> e.getUid()).collect(Collectors.toSet());
|
|
|
+ targetIds = (String[]) collect.toArray();
|
|
|
+ }else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sysMessageService.batchSendImPlayMidiMessage(sysUser.getId().toString(),targetIds,content);
|
|
|
+ }
|
|
|
+
|
|
|
private void updateDisplay(String roomId, String senderId, String display, Integer isIncludeSender) throws ApiException, Exception {
|
|
|
roomDao.updateDisplayByRid(roomId, display);
|
|
|
DisplayMessage displayMessage = new DisplayMessage(display);
|