diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesLocalTeacherController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesLocalTeacherController.java index 56bc9b4f..c2ca43ba 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesLocalTeacherController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesLocalTeacherController.java @@ -19,6 +19,8 @@ import org.jeecg.modules.entity.CeesLocalTeacher; import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.service.ICeesLocalTeacherService; +import org.jeecg.modules.service.ICeesUserService; +import org.jeecg.modules.service.ICeesWaiTeacherService; import org.jeecg.modules.system.entity.SysRole; import org.jeecg.modules.system.entity.SysUserRole; import org.jeecg.modules.system.mapper.SysRoleMapper; @@ -52,6 +54,8 @@ public class CeesLocalTeacherController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { ceesLocalTeacherService.removeById(id); + ceesUserService.removeById(id); return Result.OK("删除成功!"); } @@ -161,6 +166,7 @@ public class CeesLocalTeacherController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.ceesLocalTeacherService.removeByIds(Arrays.asList(ids.split(","))); + ceesUserService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesUserController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesUserController.java index 571b5685..fc4e741e 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesUserController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesUserController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.contoller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,9 +12,11 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.entity.CeesUser; +import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.entity.dto.CreateAccountDto; import org.jeecg.modules.enums.IdentityEnum; import org.jeecg.modules.enums.MajorEnum; +import org.jeecg.modules.mapper.CeesUserMapper; import org.jeecg.modules.service.ICeesLocalTeacherService; import org.jeecg.modules.service.ICeesUserService; import org.jeecg.modules.service.ICeesWaiTeacherService; @@ -25,6 +28,9 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: CEES用户表 @@ -45,6 +51,8 @@ public class CeesUserController extends JeecgController delete(@RequestParam(name = "id", required = true) String id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CeesUser::getId, id); + CeesUser ceesUser = ceesUserMapper.selectOne(queryWrapper); ceesUserService.removeById(id); - return Result.OK("删除成功!"); + //学生 + if(ceesUser.getIdentity() == 2){ + String data = studentService.removeByUserId(ceesUser.getUserId()); + if(data == "true"){ + return Result.OK("本校老师数据删除成功!"); + }else if(data == "null"){ + return Result.ok("数据删除成功!"); + }else { + return Result.error("本校老师数据删除失败!"); + } + }else if(ceesUser.getIdentity() == 3){ + String data = ceesLocalTeacherService.removeByUserId(ceesUser.getUserId()); + if(data == "true"){ + return Result.OK("本校老师数据删除成功!"); + }else if(data == "null"){ + return Result.ok("数据删除成功!"); + }else { + return Result.error("本校老师数据删除失败!"); + } + }else if(ceesUser.getIdentity() == 4){ + String data = ceesWaiTeacherService.removeByUserId(ceesUser.getUserId()); + if(data == "true"){ + return Result.OK("本校老师数据删除成功!"); + }else if(data == "null"){ + return Result.ok("数据删除成功!"); + }else { + return Result.error("本校老师数据删除失败!"); + } + }else{ + return Result.error("数据删除错误!!"); + } + } /** @@ -146,11 +188,50 @@ public class CeesUserController extends JeecgController deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - this.ceesUserService.removeByIds(Arrays.asList(ids.split(","))); -// this.ceesWaiTeacherService.removeById() - return Result.OK("批量删除成功!"); + // 1. 将逗号分隔的ID字符串转换为列表 + List idList = Arrays.asList(ids.split(",")); + // 2. 批量查询用户信息 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(CeesUser::getId, idList); + List users = ceesUserMapper.selectList(queryWrapper); + // 3. 按身份类型分组 + Map> groupedUsers = users.stream() + .collect(Collectors.groupingBy(CeesUser::getIdentity)); + // 4. 处理不同身份类型的删除 + try { + // 4.1 先删除关联数据 + processIdentitySpecificDeletions(groupedUsers); + // 4.2 再批量删除用户主表数据 + ceesUserService.removeByIds(idList); + return Result.OK("批量删除成功,共删除 " + idList.size() + " 条记录"); + } catch (Exception e) { + return Result.error("批量删除过程中出错: " + e.getMessage()); + } } + private void processIdentitySpecificDeletions(Map> groupedUsers) { + // 处理学生数据删除 + if (groupedUsers.containsKey(2)) { + List studentUserIds = groupedUsers.get(2).stream() + .map(CeesUser::getUserId) + .collect(Collectors.toList()); + studentService.removeBatchByUserIds(studentUserIds); + } + // 处理本校老师数据删除 + if (groupedUsers.containsKey(3)) { + List localTeacherUserIds = groupedUsers.get(3).stream() + .map(CeesUser::getUserId) + .collect(Collectors.toList()); + ceesLocalTeacherService.removeBatchByUserIds(localTeacherUserIds); + } + // 处理外校老师数据删除 + if (groupedUsers.containsKey(4)) { + List waiTeacherUserIds = groupedUsers.get(4).stream() + .map(CeesUser::getUserId) + .collect(Collectors.toList()); + ceesWaiTeacherService.removeBatchByUserIds(waiTeacherUserIds); + } + } /** * 通过id查询 * diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesWaiTeacherController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesWaiTeacherController.java index 4841d93c..04bb7e3f 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesWaiTeacherController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/CeesWaiTeacherController.java @@ -144,6 +144,7 @@ public class CeesWaiTeacherController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { ceesWaiTeacherService.removeById(id); + ceesUserService.removeById(id); return Result.OK("删除成功!"); } @@ -158,6 +159,7 @@ public class CeesWaiTeacherController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.ceesWaiTeacherService.removeByIds(Arrays.asList(ids.split(","))); + ceesUserService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/StudentController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/StudentController.java index 96d8269d..532a830a 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/StudentController.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/contoller/StudentController.java @@ -16,6 +16,7 @@ import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.entity.Student; import org.jeecg.modules.enums.MajorEnum; +import org.jeecg.modules.service.ICeesUserService; import org.jeecg.modules.service.IStudentService; import org.jeecg.modules.system.entity.SysRole; import org.jeecg.modules.system.entity.SysUserRole; @@ -48,6 +49,8 @@ public class StudentController extends JeecgController SysUserRoleMapper sysUserRoleMapper; @Autowired SysRoleMapper sysRoleMapper; + @Autowired + private ICeesUserService ceesUserService; /** * 分页列表查询 @@ -132,6 +135,7 @@ public class StudentController extends JeecgController @DeleteMapping(value = "/delete") public Result delete(@RequestParam(name="id",required=true) String id) { studentService.removeById(id); + ceesUserService.removeById(id); return Result.OK("删除成功!"); } @@ -146,6 +150,7 @@ public class StudentController extends JeecgController @DeleteMapping(value = "/deleteBatch") public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.studentService.removeByIds(Arrays.asList(ids.split(","))); + ceesUserService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } /** diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesLocalTeacherService.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesLocalTeacherService.java index e9f27861..1f4b4ea9 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesLocalTeacherService.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesLocalTeacherService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.CeesLocalTeacher; +import java.util.List; import java.util.Map; /** @@ -18,4 +19,8 @@ public interface ICeesLocalTeacherService extends IService { Result h5Save(CeesLocalTeacher ceesLocalTeacher); Result batchGroup(Map webData); + + String removeByUserId(String userId); + + boolean removeBatchByUserIds(List localTeacherUserIds); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesWaiTeacherService.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesWaiTeacherService.java index 03fe2772..bff96450 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesWaiTeacherService.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICeesWaiTeacherService.java @@ -8,6 +8,7 @@ import org.jeecg.modules.entity.CeesWaiTeacher; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; +import java.util.List; import java.util.Map; /** @@ -36,4 +37,8 @@ public interface ICeesWaiTeacherService extends IService { Result batchGroup(Map webData); Result addData(CeesWaiTeacher ceesWaiTeacher); + + String removeByUserId(String userId); + + boolean removeBatchByUserIds(List waiTeacherUserIds); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/IStudentService.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/IStudentService.java index ea486e3a..72830ddd 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/IStudentService.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/IStudentService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Student; +import java.util.List; import java.util.Map; /** @@ -17,4 +18,8 @@ public interface IStudentService extends IService { Result h5Save(Student student); Result batchGroup(Map webData); + + String removeByUserId(String userId); + + boolean removeBatchByUserIds(List studentUserIds); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesLocalTeacherServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesLocalTeacherServiceImpl.java index 939c2529..9936ee07 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesLocalTeacherServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesLocalTeacherServiceImpl.java @@ -164,4 +164,27 @@ public class CeesLocalTeacherServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CeesLocalTeacher::getUserId, userId); + CeesLocalTeacher ceesLocalTeacher = ceesLocalTeacherMapper.selectOne(queryWrapper); + if(ceesLocalTeacher == null) { + return "null"; + } + int affectedRows = ceesLocalTeacherMapper.delete(queryWrapper); + if (affectedRows > 0) { + return "true"; + }else{ + return "false"; + } + } + + @Override + public boolean removeBatchByUserIds(List userIds) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(CeesLocalTeacher::getUserId, userIds); + return this.remove(wrapper); + } } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesWaiTeacherServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesWaiTeacherServiceImpl.java index 65fee2d4..ad65ed92 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesWaiTeacherServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CeesWaiTeacherServiceImpl.java @@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.apache.shiro.SecurityUtils; -import org.apache.tomcat.Jar; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; @@ -195,7 +194,7 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CeesWaiTeacher::getUserId, userId); + CeesWaiTeacher ceesWaiTeacher = ceesWaiTeacherMapper.selectOne(queryWrapper); + if (ceesWaiTeacher == null) { + return "null"; + } + int affectedRows = ceesWaiTeacherMapper.delete(queryWrapper); + if (affectedRows > 0) { + return "true"; + }else{ + return "false"; + } + } + + @Override + public boolean removeBatchByUserIds(List userIds) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(CeesWaiTeacher::getUserId, userIds); + return this.remove(wrapper); + } } diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/StudentServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/StudentServiceImpl.java index ccb440be..c3947296 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/StudentServiceImpl.java +++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/StudentServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.CeesUser; -import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.entity.Student; import org.jeecg.modules.entity.dto.UpdateGroupUserDto; import org.jeecg.modules.mapper.CeesGroupMapper; @@ -160,4 +159,26 @@ public class StudentServiceImpl extends ServiceImpl impl resultJson.put("user", userJson); return Result.ok(resultJson); } + + @Override + public String removeByUserId(String userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Student::getUserId, userId); + Student student = studentMapper.selectOne(queryWrapper); + if(student == null) { + return "null"; + } + int affectedRows = studentMapper.delete(queryWrapper); + if (affectedRows > 0) { + return "true"; + }else{ + return "false"; + } + } + @Override + public boolean removeBatchByUserIds(List userIds) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(Student::getUserId, userIds); + return this.remove(wrapper); + } }