From 5bb056972095f117a53a3c9b5982d815874848e6 Mon Sep 17 00:00:00 2001 From: 15976874561 <2553956742@qq.com> Date: Tue, 3 Mar 2026 11:56:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=AD=A6=E7=94=9F=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comprehensive/SyncDataController.java | 11 ++++--- .../mapper/SrsStudentMapper.java | 1 + .../service/impl/SrsStudentServiceImpl.java | 32 +++++++++---------- .../java/com/srs/quartz/task/CphTask.java | 30 ++++++++--------- 4 files changed, 38 insertions(+), 36 deletions(-) diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java index 82938ed..823b0c5 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SyncDataController.java @@ -72,9 +72,10 @@ public class SyncDataController extends BaseController { @RequestMapping("/getStudentInfo") public AjaxResult getStudentInfoList(@RequestParam("pageNum")Integer pageNum, @RequestParam("pageSize") Integer pageSize, - @RequestParam(value = "stuNo", required = false)String stuNo){ - int studentInfoNumber = syncDataService.getStudentInfoNumber(null); - List list=syncDataService.getStudentInfoList(pageNum,pageSize,stuNo,null); + @RequestParam(value = "stuNo", required = false)String stuNo, + @RequestParam(value = "gradeCode", required = false)String gradeCode){ + int studentInfoNumber = syncDataService.getStudentInfoNumber(gradeCode); + List list=syncDataService.getStudentInfoList(pageNum,pageSize,stuNo,gradeCode); return success(list).put("total", studentInfoNumber); } //同步学生 @@ -92,8 +93,8 @@ public class SyncDataController extends BaseController { stuNoList.addAll(maps); list.clear(); } - //iSrsStudentService.addStudentData(stuNoList);//添加到学生表 - //iSrsStudentService.Usertb();//同步到用户表 + iSrsStudentService.addStudentData(stuNoList);//添加到学生表 + iSrsStudentService.Usertb();//同步到用户表 return success(); } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java index 4b95355..285dcb3 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java @@ -91,6 +91,7 @@ public interface SrsStudentMapper extends EasyBaseMapper */ public List selectSrsStudentList(SrsStudent srsStudent); + /** * 通过班级id查询学生名字列表 * @param id diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsStudentServiceImpl.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsStudentServiceImpl.java index e1d541f..09de6cd 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsStudentServiceImpl.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsStudentServiceImpl.java @@ -950,20 +950,21 @@ public class SrsStudentServiceImpl extends ServiceImpl studentList = srsStudentMapper.selectSrsStudentList(param); - if (studentList.isEmpty()) { throw new Exception("没有在校生数据"); } diff --git a/srs-quartz/src/main/java/com/srs/quartz/task/CphTask.java b/srs-quartz/src/main/java/com/srs/quartz/task/CphTask.java index 6b5f910..b2e8c33 100644 --- a/srs-quartz/src/main/java/com/srs/quartz/task/CphTask.java +++ b/srs-quartz/src/main/java/com/srs/quartz/task/CphTask.java @@ -62,27 +62,27 @@ public class CphTask { try { System.out.println("开始同步学生成绩数据..."); long startTime = System.currentTimeMillis(); - + // 清空现有数据 cphStuScoreMiddlesService.emptyTableDate(); System.out.println("已清空现有数据"); - + // 配置参数 int pageSize = 3000; int threadPoolSize = 8; // 定时任务使用较少线程,避免影响其他任务 - + // 获取总数 int studentInfoNumber = cphStuScoreMiddlesService.serectCphStuScoreMiddleCount(null); int totalPages = (int) Math.ceil((double) studentInfoNumber / pageSize); - + System.out.println("总记录数: " + studentInfoNumber + ", 总页数: " + totalPages); - + // 创建线程池 ExecutorService executor = Executors.newFixedThreadPool(threadPoolSize); CountDownLatch latch = new CountDownLatch(totalPages); AtomicInteger successCount = new AtomicInteger(0); AtomicInteger errorCount = new AtomicInteger(0); - + // 提交任务 for (int pageNum = 1; pageNum <= totalPages; pageNum++) { final int currentPage = pageNum; @@ -90,12 +90,12 @@ public class CphTask { try { List> cphStuScoreMiddles = cphStuScoreMiddlesService .serectCphStuScoreMiddlesXh(currentPage, pageSize, null); - + if (cphStuScoreMiddles != null && !cphStuScoreMiddles.isEmpty()) { cphStuScoreMiddlesService.selectCphStuScoreMiddleEmptyAndAdd(cphStuScoreMiddles); successCount.incrementAndGet(); } - + } catch (Exception e) { errorCount.incrementAndGet(); System.err.println("处理第" + currentPage + "页时发生错误: " + e.getMessage()); @@ -104,24 +104,24 @@ public class CphTask { } }); } - + // 等待所有任务完成 boolean completed = latch.await(30, TimeUnit.MINUTES); - + if (!completed) { System.err.println("同步任务未在指定时间内完成"); return; } - + // 关闭线程池 executor.shutdown(); - + long endTime = System.currentTimeMillis(); long duration = endTime - startTime; - - System.out.println("学生成绩同步完成 - 总耗时: " + duration + "ms, 成功页数: " + + + System.out.println("学生成绩同步完成 - 总耗时: " + duration + "ms, 成功页数: " + successCount.get() + ", 失败页数: " + errorCount.get()); - + } catch (Exception e) { System.err.println("同步学生成绩数据时发生严重错误: " + e.getMessage()); e.printStackTrace();