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] =?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); + } }