error data
This commit is contained in:
@@ -273,8 +273,8 @@ public class SchTeacherService implements ISchTeacherService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteTeacher(UserContext.UserInfo user, String ids) {
|
||||
infoService.deleteTeacher(user, ids);
|
||||
public void deleteTeacher(UserContext.UserInfo user, String ids,Integer groupId) {
|
||||
infoService.deleteTeacher(user, ids,groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -98,9 +98,9 @@ public class SyncUserBaseService implements ISyncUserBaseService {
|
||||
return YschBaseOpenApi.editUser(teacher.getTeaId(),user);
|
||||
}
|
||||
|
||||
public void deleteTeacherList(List<SchTeacherDTO> teacherList){
|
||||
for (SchTeacherDTO teacher :teacherList) {
|
||||
YschBaseOpenApi.deleteUser(teacher.getTeaId(),teacher.getGroupId());
|
||||
public void deleteTeachers(List<Integer> teaIds,Integer groupId){
|
||||
for (Integer teaId :teaIds) {
|
||||
YschBaseOpenApi.deleteUser(teaId,groupId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+18
-11
@@ -151,7 +151,7 @@ public class SchTeacherInfoService {
|
||||
cacheService.clearTeacherCache(schId);
|
||||
}
|
||||
|
||||
public void deleteTeacher(UserContext.UserInfo user, String ids) {
|
||||
public void deleteTeacher(UserContext.UserInfo user, String ids,Integer groupId) {
|
||||
if (StringUtils.isBlank(ids)) {
|
||||
throw new DException("教师ID列表不能为空");
|
||||
}
|
||||
@@ -180,26 +180,33 @@ public class SchTeacherInfoService {
|
||||
}
|
||||
|
||||
// 校验班主任/副班主任(SchClass.firstTeacherId/secondTeacherId 存的是 teaId)
|
||||
List<Integer> teacherTeaIds = teachers.stream()
|
||||
.map(SchTeacher::getTeaId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
if (!teacherTeaIds.isEmpty()) {
|
||||
long classCount = schClassRepository.countByFirstTeacherIdInOrSecondTeacherIdInAndSchId(teacherTeaIds, schId);
|
||||
if (classCount > 0) {
|
||||
throw new DException("选中的教师中有 " + classCount + " 个班级的班主任/副班主任,请先更换");
|
||||
if(teachers.size()==1)
|
||||
{
|
||||
List<Integer> teacherTeaIds = teachers.stream()
|
||||
.map(SchTeacher::getTeaId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
if (!teacherTeaIds.isEmpty()) {
|
||||
long classCount = schClassRepository.countByFirstTeacherIdInOrSecondTeacherIdInAndSchId(teacherTeaIds, schId);
|
||||
if (classCount > 0) {
|
||||
throw new DException("选中的教师中有 " + classCount + " 个班级的班主任/副班主任,请先更换");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String groupName=comSchTreeService.getTeaGroupName(schId,groupId);
|
||||
|
||||
// 删除关联组关系(先异步日志,再删除)
|
||||
List<Integer> teaIds = teachers.stream()
|
||||
.map(SchTeacher::getTeaId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (!teaIds.isEmpty()) {
|
||||
// 异步记录删除日志(由 LogService 处理)
|
||||
logService.deleteTeacherLogs(user, teachers);
|
||||
schTeacherGroupRepository.deleteByTeaIdIn(teaIds);
|
||||
logService.deleteTeacherLogs(user, teachers,groupName);
|
||||
syncUserBaseService.deleteTeachers(teaIds,groupId);
|
||||
schTeacherGroupRepository.deleteByGroupIdAndTeaIds(teaIds,groupId);
|
||||
}
|
||||
|
||||
// 清除缓存
|
||||
|
||||
+3
-3
@@ -133,18 +133,18 @@ public class SchTeacherLogService {
|
||||
}
|
||||
|
||||
@Async("logExecutor")
|
||||
public void deleteTeacherLogs(UserContext.UserInfo user, List<SchTeacher> teachers) {
|
||||
public void deleteTeacherLogs(UserContext.UserInfo user, List<SchTeacher> teachers,String groupName) {
|
||||
try {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
List<OperationLogRecord> logs = new ArrayList<>();
|
||||
for (SchTeacher teacher : teachers) {
|
||||
OperationLogRecord log = logService.buildLogRecord(user, LogModule.TEACHER, "删除[" + teacher.getName() + "] 教师成功", now);
|
||||
OperationLogRecord log = logService.buildLogRecord(user, LogModule.TEACHER, "删除["+groupName+"-" + teacher.getName() + "] 教师成功", now);
|
||||
logs.add(log);
|
||||
}
|
||||
if (logs != null && !logs.isEmpty()) {
|
||||
logService.saveAllLogAsync(logs);
|
||||
}
|
||||
log.debug("操作人:{},删除教师日志:{}", user.getUserName(), JSON.toJSONString(teachers));
|
||||
log.debug("操作人:{},删除教师日志:{}", groupName+"-"+user.getUserName(), JSON.toJSONString(teachers));
|
||||
} catch (Exception e) {
|
||||
log.error("操作人:" + user.getUserName() + ",删除教师日志失败: {}", e.getMessage(), e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user