发送消息,一次性最多只能在一个课程下发消息

master
Alan 3 months ago
parent f6261d380e
commit f75ad39bbd
  1. 1
      src/main/java/com/teaching/backend/common/ErrorCode.java
  2. 7
      src/main/java/com/teaching/backend/service/impl/message/MessagesServiceImpl.java

@ -33,6 +33,7 @@ public enum ErrorCode {
CONTENT_EXISTS(41000, "内容存在"), CONTENT_EXISTS(41000, "内容存在"),
STUDENT_ROLE_CANT_MULTIPLESEND(41001, "学生用户不能群发,只能单发"), STUDENT_ROLE_CANT_MULTIPLESEND(41001, "学生用户不能群发,只能单发"),
LEAST_ONE_USER(41002, "最少选择一个用户"), LEAST_ONE_USER(41002, "最少选择一个用户"),
MOST_ONE_COURSE(41003, "您一次性最多只能在一个课程下发消息!"),
KNOWS_EXISTS(41001, "存在关联的知识点"), KNOWS_EXISTS(41001, "存在关联的知识点"),
ADD_RELATION_FAILED(41002, "添加关系失败"), ADD_RELATION_FAILED(41002, "添加关系失败"),

@ -59,6 +59,13 @@ public class MessagesServiceImpl extends ServiceImpl<MessagesMapper, SysMessages
throw new BusinessException(ErrorCode.LEAST_ONE_USER); throw new BusinessException(ErrorCode.LEAST_ONE_USER);
} }
List<String> courseIds = Arrays.stream(sysMessageDTO.getCourseId().split(","))
.map(String::valueOf)
.collect(Collectors.toList());
if (courseIds.size()>1){
throw new BusinessException(ErrorCode.MOST_ONE_COURSE);
}
// 4.判断是什么用户,只有教师可以群发,学生只能单发 // 4.判断是什么用户,只有教师可以群发,学生只能单发
String roleId = umsUserMapper.selectOne(new LambdaQueryWrapper<>(UmsUser.class) String roleId = umsUserMapper.selectOne(new LambdaQueryWrapper<>(UmsUser.class)
.eq(UmsUser::getId, sysMessageDTO.getSenderId())).getRoleId(); .eq(UmsUser::getId, sysMessageDTO.getSenderId())).getRoleId();

Loading…
Cancel
Save