diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/TeacherServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/TeacherServiceImpl.java
index 7d68cd8a..0b5e8158 100644
--- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/TeacherServiceImpl.java
+++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/TeacherServiceImpl.java
@@ -418,7 +418,7 @@ public class TeacherServiceImpl implements ITeacherService {
* @return 小程序页面路径
*/
private String buildMiniProgramPagePath() {
- return "pages/pre_registration/pre_registration";
+ return "pages/index/index";
}
/**
diff --git a/server/like-common/src/main/java/com/mdd/common/service/EnrollmentService.java b/server/like-common/src/main/java/com/mdd/common/service/EnrollmentService.java
index 9035979d..cbd23e3f 100644
--- a/server/like-common/src/main/java/com/mdd/common/service/EnrollmentService.java
+++ b/server/like-common/src/main/java/com/mdd/common/service/EnrollmentService.java
@@ -179,35 +179,44 @@ public class EnrollmentService {
*
- 本周招生数量
*
- 本月招生数量
* 招生数量定义:student_status = 0 或 1 的学生数量
+ *
+ * @param teacherId 招生老师 ID(为空则统计所有老师)
*/
- public Map buildEnrollmentStats() {
+ public Map buildEnrollmentStats(Integer teacherId) {
Map stats = new LinkedHashMap<>();
// 当前时间
Date now = new Date();
stats.put("time", new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now));
- // 总招生数量(所有时间)
- long totalCount = studentInfoMapper.selectCount(
+ // 构建查询条件
+ com.baomidou.mybatisplus.core.conditions.query.QueryWrapper queryWrapper =
new com.baomidou.mybatisplus.core.conditions.query.QueryWrapper()
.in("student_status", 0, 1)
- .isNull("delete_time")
- );
+ .isNull("delete_time");
+
+ // 如果指定了老师 ID,则只统计该老师的数据
+ if (teacherId != null) {
+ queryWrapper.eq("recruitment_teacher_id", teacherId);
+ }
+
+ // 总招生数量(所有时间)
+ long totalCount = studentInfoMapper.selectCount(queryWrapper);
// 今日、本周、本月时间范围
LocalDate today = LocalDate.now();
Date todayStart = toDate(today.atStartOfDay());
Date tomorrowStart = toDate(today.plusDays(1).atStartOfDay());
- LocalDate weekStartDate = today.minusDays(6); // 最近7天
+ LocalDate weekStartDate = today.minusDays(6); // 最近 7 天
Date weekStart = toDate(weekStartDate.atStartOfDay());
- LocalDate monthStartDate = today.minusDays(29); // 最近30天
+ LocalDate monthStartDate = today.minusDays(29); // 最近 30 天
Date monthStart = toDate(monthStartDate.atStartOfDay());
- long todayCount = countEnrollmentInRange(todayStart, tomorrowStart);
- long weekCount = countEnrollmentInRange(weekStart, tomorrowStart);
- long monthCount = countEnrollmentInRange(monthStart, tomorrowStart);
+ long todayCount = countEnrollmentInRange(teacherId, todayStart, tomorrowStart);
+ long weekCount = countEnrollmentInRange(teacherId, weekStart, tomorrowStart);
+ long monthCount = countEnrollmentInRange(teacherId, monthStart, tomorrowStart);
stats.put("total_enroll_count", totalCount);
stats.put("today_enroll_count", todayCount);
@@ -340,16 +349,26 @@ public class EnrollmentService {
/**
* 计算时间区间内的招生数量(按 pre_registration_time 筛选)
+ *
+ * @param teacherId 招生老师 ID(为空则统计所有老师)
+ * @param startTime 开始时间
+ * @param endTime 结束时间
*/
- private long countEnrollmentInRange(Date startTime, Date endTime) {
- return studentInfoMapper.selectCount(
+ private long countEnrollmentInRange(Integer teacherId, Date startTime, Date endTime) {
+ com.baomidou.mybatisplus.core.conditions.query.QueryWrapper queryWrapper =
new com.baomidou.mybatisplus.core.conditions.query.QueryWrapper()
.in("student_status", 0, 1)
.isNull("delete_time")
.isNotNull("pre_registration_time")
.ge("pre_registration_time", startTime)
- .lt("pre_registration_time", endTime)
- );
+ .lt("pre_registration_time", endTime);
+
+ // 如果指定了老师 ID,则只统计该老师的数据
+ if (teacherId != null) {
+ queryWrapper.eq("recruitment_teacher_id", teacherId);
+ }
+
+ return studentInfoMapper.selectCount(queryWrapper);
}
public Map getAliyunUrl() {
diff --git a/server/like-front/src/main/java/com/mdd/front/controller/enrollment/EnrollmentController.java b/server/like-front/src/main/java/com/mdd/front/controller/enrollment/EnrollmentController.java
index 0a3be381..e8c1a9a6 100644
--- a/server/like-front/src/main/java/com/mdd/front/controller/enrollment/EnrollmentController.java
+++ b/server/like-front/src/main/java/com/mdd/front/controller/enrollment/EnrollmentController.java
@@ -56,8 +56,12 @@ public class EnrollmentController {
@PostMapping("/enrollmentStatistical")
@ApiOperation(value = "招生统计数据")
- public AjaxResult