From 1df6d0f7dd594becbde9130e2dace2c0cbf0c939 Mon Sep 17 00:00:00 2001 From: Qi <3194726156@qq.com> Date: Sun, 27 Apr 2025 15:13:40 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0localTeacher=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E5=88=86=E7=BB=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contoller/CeesLocalTeacherController.java | 18 ++++- .../service/ICeesLocalTeacherService.java | 4 + .../impl/CeesLocalTeacherServiceImpl.java | 81 ++++++++++++++++++- 3 files changed, 101 insertions(+), 2 deletions(-) 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 39ad0c6f..87bfa017 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 @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import net.sf.json.JSON; +import net.sf.json.JSONObject; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; @@ -14,12 +16,14 @@ import org.jeecg.modules.entity.CeesLocalTeacher; import org.jeecg.modules.enums.MajorEnum; import org.jeecg.modules.service.ICeesLocalTeacherService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.Map; /** * @Description: 本校教师表 @@ -34,8 +38,10 @@ import java.util.Arrays; public class CeesLocalTeacherController extends JeecgController { @Autowired private ICeesLocalTeacherService ceesLocalTeacherService; + @Autowired + private StartupTimeMetricsListener startupTimeMetrics; - /** + /** * 分页列表查询 * * @param ceesLocalTeacher @@ -58,6 +64,16 @@ public class CeesLocalTeacherController extends JeecgController batchGroup(@RequestBody Map webData){ + log.info(webData.toString()); + return ceesLocalTeacherService.batchGroup(webData); + + } /** * 添加 * 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 97679aed..e9f27861 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,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.CeesLocalTeacher; +import java.util.Map; + /** * @Description: 本校教师表 * @Author: jeecg-boot @@ -14,4 +16,6 @@ import org.jeecg.modules.entity.CeesLocalTeacher; public interface ICeesLocalTeacherService extends IService { Result h5Save(CeesLocalTeacher ceesLocalTeacher); + + Result batchGroup(Map webData); } 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 55e6f8f7..c095afda 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 @@ -3,6 +3,7 @@ package org.jeecg.modules.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.CeesLocalTeacher; @@ -14,6 +15,9 @@ import org.jeecg.modules.service.ICeesUserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * @Description: 本校教师表 @@ -28,7 +32,8 @@ public class CeesLocalTeacherServiceImpl extends ServiceImpl batchGroup(Map webData) { + String groupId = webData.get("groupId").toString(); + Object idsObj = webData.get("ids"); + List ids = JSONObject.parseArray(idsObj.toString(), String.class); + + // 记录更新结果 + int totalUpdatedLocal = 0; + List failedIdsLocal = new ArrayList<>(); + //更新具体的用户数据 + for (String id : ids) { + try { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CeesLocalTeacher::getId, id) + .set(CeesLocalTeacher::getGroupId, groupId); + + // 执行更新并检查受影响行数 + int affectedRows = ceesLocalTeacherMapper.update(null, updateWrapper); + + if (affectedRows > 0) { + totalUpdatedLocal++; + } else { + failedIdsLocal.add(id); // 记录未更新的ID(可能用户不存在或groupId未变) + } + } catch (Exception e) { + failedIdsLocal.add(id); // 记录更新失败的ID + + } + } + // 记录更新结果 + int totalUpdated = 0; + List failedIds = new ArrayList<>(); + //更新所以表中的用户数据 + for (String id : ids) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CeesLocalTeacher::getId, id); + CeesLocalTeacher ceesLocalTeacher = ceesLocalTeacherMapper.selectOne(queryWrapper); + String user_id = ceesLocalTeacher.getUserId(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CeesUser::getUserId, user_id) + .set(CeesUser::getGroupId, groupId); + // 执行更新并检查受影响行数 + int affectedRows = ceesUserMapper.update(null, updateWrapper); + + if (affectedRows > 0) { + totalUpdated++; + } else { + failedIds.add(id); // 记录未更新的ID(可能用户不存在或groupId未变) + } + } catch (Exception e) { + failedIds.add(id); // 记录更新失败的ID + + } + } + + // 构建返回结果 + JSONObject resultJson = new JSONObject(); + //update-localTeacher + JSONObject localTeacherJson = new JSONObject(); + localTeacherJson.put("totalUpdated", totalUpdatedLocal); + localTeacherJson.put("failedIds", failedIdsLocal); + localTeacherJson.put("success", failedIdsLocal.isEmpty()); // 是否全部成功 + //update-User + JSONObject userJson = new JSONObject(); + userJson.put("totalUpdated", totalUpdated); + userJson.put("failedIds", failedIds); + userJson.put("success", failedIds.isEmpty()); // 是否全部成功 + + resultJson.put("localTeacher", localTeacherJson); + resultJson.put("user", userJson); + return Result.ok(resultJson); + } } From 2bcc2b385878046bd7537d4b809292c36fa394fd Mon Sep 17 00:00:00 2001 From: Qi <3194726156@qq.com> Date: Sun, 27 Apr 2025 15:45:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0waiTeacher=E5=92=8CStuden?= =?UTF-8?q?t=E6=89=B9=E9=87=8F=E5=88=86=E7=BB=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contoller/CeesWaiTeacherController.java | 12 +++ .../modules/contoller/StudentController.java | 11 +++ .../service/ICeesWaiTeacherService.java | 3 + .../modules/service/IStudentService.java | 4 + .../impl/CeesWaiTeacherServiceImpl.java | 78 ++++++++++++++++++ .../service/impl/StudentServiceImpl.java | 81 +++++++++++++++++++ 6 files changed, 189 insertions(+) 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 f0f5b0e6..9a2a0b94 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 @@ -17,6 +17,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.Map; /** * @Description: 外校老师管理 @@ -85,6 +86,17 @@ public class CeesWaiTeacherController extends JeecgController batchGroup(@RequestBody Map webData){ + log.info(webData.toString()); + return ceesWaiTeacherService.batchGroup(webData); + + } + /** * 添加 * 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 bc69ecd2..cd61f610 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 @@ -21,6 +21,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.Map; /** * @Description: 研究生表 @@ -114,6 +115,16 @@ public class StudentController extends JeecgController this.studentService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } + /** + * 批量分组 + * @return + */ + @PostMapping("/batchGroup") + public Result batchGroup(@RequestBody Map webData){ + log.info(webData.toString()); + return studentService.batchGroup(webData); + + } /** * 通过id查询 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 52911e63..01ef5beb 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.Map; /** * @Description: 外校老师管理 @@ -31,4 +32,6 @@ public interface ICeesWaiTeacherService extends IService { Result h5Save(CeesWaiTeacher ceesWaiTeacher); Result getDormitoryName(String dormitoryId); + + Result batchGroup(Map webData); } 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 1b145233..ea486e3a 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,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.entity.Student; +import java.util.Map; + /** * @Description: 研究生表 * @Author: jeecg-boot @@ -13,4 +15,6 @@ import org.jeecg.modules.entity.Student; public interface IStudentService extends IService { Result h5Save(Student student); + + Result batchGroup(Map webData); } 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 24a93160..1569f1ab 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 @@ -4,6 +4,7 @@ package org.jeecg.modules.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,6 +13,7 @@ import lombok.RequiredArgsConstructor; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.entity.CeesDormitoryInfo; +import org.jeecg.modules.entity.CeesLocalTeacher; import org.jeecg.modules.entity.CeesUser; import org.jeecg.modules.entity.CeesWaiTeacher; import org.jeecg.modules.enums.MajorEnum; @@ -23,7 +25,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -159,4 +163,78 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl getDormitoryName(String dormitoryId) { return Result.ok(ceesDormitoryInfoMapper.selectById(dormitoryId).getDormitory()); } + + @Override + public Result batchGroup(Map webData) { + String groupId = webData.get("groupId").toString(); + Object idsObj = webData.get("ids"); + List ids = JSONObject.parseArray(idsObj.toString(), String.class); + + // 记录更新结果 + int totalUpdatedLocal = 0; + List failedIdsLocal = new ArrayList<>(); + //更新具体的用户数据 + for (String id : ids) { + try { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CeesWaiTeacher::getId, id) + .set(CeesWaiTeacher::getGroupId, groupId); + + // 执行更新并检查受影响行数 + int affectedRows = ceesWaiTeacherMapper.update(null, updateWrapper); + + if (affectedRows > 0) { + totalUpdatedLocal++; + } else { + failedIdsLocal.add(id); // 记录未更新的ID(可能用户不存在或groupId未变) + } + } catch (Exception e) { + failedIdsLocal.add(id); // 记录更新失败的ID + + } + } + // 记录更新结果 + int totalUpdated = 0; + List failedIds = new ArrayList<>(); + //更新所以表中的用户数据 + for (String id : ids) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CeesWaiTeacher::getId, id); + CeesWaiTeacher ceesLocalTeacher = ceesWaiTeacherMapper.selectOne(queryWrapper); + String user_id = ceesLocalTeacher.getUserId(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CeesUser::getUserId, user_id) + .set(CeesUser::getGroupId, groupId); + // 执行更新并检查受影响行数 + int affectedRows = ceesUserMapper.update(null, updateWrapper); + + if (affectedRows > 0) { + totalUpdated++; + } else { + failedIds.add(id); // 记录未更新的ID(可能用户不存在或groupId未变) + } + } catch (Exception e) { + failedIds.add(id); // 记录更新失败的ID + + } + } + + // 构建返回结果 + JSONObject resultJson = new JSONObject(); + //update-localTeacher + JSONObject localTeacherJson = new JSONObject(); + localTeacherJson.put("totalUpdated", totalUpdatedLocal); + localTeacherJson.put("failedIds", failedIdsLocal); + localTeacherJson.put("success", failedIdsLocal.isEmpty()); // 是否全部成功 + //update-User + JSONObject userJson = new JSONObject(); + userJson.put("totalUpdated", totalUpdated); + userJson.put("failedIds", failedIds); + userJson.put("success", failedIds.isEmpty()); // 是否全部成功 + + resultJson.put("localTeacher", localTeacherJson); + resultJson.put("user", userJson); + return Result.ok(resultJson); + } } 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 aacabe76..402d6887 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 @@ -3,9 +3,11 @@ package org.jeecg.modules.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.mapper.CeesUserMapper; import org.jeecg.modules.mapper.StudentMapper; @@ -14,6 +16,9 @@ import org.jeecg.modules.service.IStudentService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * @Description: 研究生表 @@ -27,6 +32,8 @@ public class StudentServiceImpl extends ServiceImpl impl CeesUserMapper ceesUserMapper; @Resource ICeesUserService ceesUserService; + @Resource + StudentMapper studentMapper; /** * @param student * @return @@ -48,4 +55,78 @@ public class StudentServiceImpl extends ServiceImpl impl jsonObject.put("router", "/mainPage"); return Result.ok(jsonObject); } + + @Override + public Result batchGroup(Map webData) { + String groupId = webData.get("groupId").toString(); + Object idsObj = webData.get("ids"); + List ids = JSONObject.parseArray(idsObj.toString(), String.class); + + // 记录更新结果 + int totalUpdatedLocal = 0; + List failedIdsLocal = new ArrayList<>(); + //更新具体的用户数据 + for (String id : ids) { + try { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Student::getId, id) + .set(Student::getGroupId, groupId); + + // 执行更新并检查受影响行数 + int affectedRows = studentMapper.update(null, updateWrapper); + + if (affectedRows > 0) { + totalUpdatedLocal++; + } else { + failedIdsLocal.add(id); // 记录未更新的ID(可能用户不存在或groupId未变) + } + } catch (Exception e) { + failedIdsLocal.add(id); // 记录更新失败的ID + + } + } + // 记录更新结果 + int totalUpdated = 0; + List failedIds = new ArrayList<>(); + //更新所以表中的用户数据 + for (String id : ids) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Student::getId, id); + Student Student = studentMapper.selectOne(queryWrapper); + String user_id = Student.getUserId(); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CeesUser::getUserId, user_id) + .set(CeesUser::getGroupId, groupId); + // 执行更新并检查受影响行数 + int affectedRows = ceesUserMapper.update(null, updateWrapper); + + if (affectedRows > 0) { + totalUpdated++; + } else { + failedIds.add(id); // 记录未更新的ID(可能用户不存在或groupId未变) + } + } catch (Exception e) { + failedIds.add(id); // 记录更新失败的ID + + } + } + + // 构建返回结果 + JSONObject resultJson = new JSONObject(); + //update-localTeacher + JSONObject localTeacherJson = new JSONObject(); + localTeacherJson.put("totalUpdated", totalUpdatedLocal); + localTeacherJson.put("failedIds", failedIdsLocal); + localTeacherJson.put("success", failedIdsLocal.isEmpty()); // 是否全部成功 + //update-User + JSONObject userJson = new JSONObject(); + userJson.put("totalUpdated", totalUpdated); + userJson.put("failedIds", failedIds); + userJson.put("success", failedIds.isEmpty()); // 是否全部成功 + + resultJson.put("localTeacher", localTeacherJson); + resultJson.put("user", userJson); + return Result.ok(resultJson); + } }