教师转入
This commit is contained in:
@@ -7,26 +7,26 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author wanghu
|
||||
* @Date 2026-6-10 15:09 (可以根据需要修改)
|
||||
* @Description:
|
||||
* @Description:教师转入DTO(单教师:原学校 schId + 教师 teaId + 目标组 transferGroupId)
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeaTransferInGroupDTO {
|
||||
@NotNull(message = "教师ID列表不能为空")
|
||||
@Size(min = 1, message = "至少选择一个教师")
|
||||
|
||||
@NotNull(message = "教师ID不能为空")
|
||||
@Min(value = 1, message = "教师ID必须大于0")
|
||||
private Integer teaId;
|
||||
|
||||
/** 原学校ID(转入前的学校) */
|
||||
private Integer schId;
|
||||
|
||||
@NotNull(message = "目标组ID不能为空")
|
||||
@Min(value=0, message = "至少选择一个组")
|
||||
@Min(value = 1, message = "目标组ID必须大于0")
|
||||
private Integer transferGroupId;
|
||||
}
|
||||
|
||||
+9
-7
@@ -194,10 +194,7 @@ public class SchStudentTransferService {
|
||||
SchStudent student = schStudentRepository.findById(model.getStuId())
|
||||
.orElseThrow(() -> new DException("学生不存在!"));
|
||||
|
||||
// 已在目标学校且已在目标班级的学生无需操作
|
||||
if (student.getSchId().equals(targetSchId) && targetClassId.equals(student.getClassId())) {
|
||||
throw new DException("已在目标学校且已在目标班级的学生无需操作!");
|
||||
}
|
||||
|
||||
|
||||
// 收集受影响的缓存Key(旧班级 + 新班级)
|
||||
Set<String> cacheKeysToDelete = new HashSet<>();
|
||||
@@ -218,7 +215,7 @@ public class SchStudentTransferService {
|
||||
user.getUserId()
|
||||
);
|
||||
if (updated != 1) {
|
||||
throw new DException("批量更新失败,可能学生已被删除或修改,请刷新后重试");
|
||||
throw new DException("更新失败,可能学生已被删除或修改,请刷新后重试");
|
||||
}
|
||||
|
||||
// 清除缓存(直接按Key删除)
|
||||
@@ -226,8 +223,13 @@ public class SchStudentTransferService {
|
||||
redisUtil.del(cacheKey);
|
||||
}
|
||||
|
||||
// 平台同步:转入目标学校/班级(fromSchoolId 取转入前的原学校)
|
||||
sendUserBaseService.transferUserToSchool(student.getStuId(), student.getSchId(), targetSchId, targetClassId);
|
||||
// 已在目标学校且已在目标班级的学生 转入
|
||||
if (student.getSchId().equals(targetSchId) && targetClassId.equals(student.getClassId())) {
|
||||
sendUserBaseService.changeUserStatus(student.getStuId(),true);
|
||||
}else {
|
||||
// 平台同步:转入目标学校/班级(fromSchoolId 取转入前的原学校)
|
||||
sendUserBaseService.transferUserToSchool(student.getStuId(), student.getSchId(), targetSchId, targetClassId);
|
||||
}
|
||||
|
||||
// 异步记录操作日志
|
||||
logService.setTransferInLog(user, Collections.singletonList(student), targetSchId, targetClassId);
|
||||
|
||||
Reference in New Issue
Block a user