diff --git a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java index f18f2600..73bc0ee0 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java @@ -17,6 +17,7 @@ import org.apache.poi.openxml4j.opc.PackagePartName; import org.apache.poi.xwpf.usermodel.*; import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; +import org.beetl.sql.core.query.LambdaQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.validation.constraints.NotNull; import java.io.*; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.*; @@ -745,6 +747,17 @@ public class CourseInfoService extends CoreBaseService{ return titleLvl; } + public List getCourseInfoByStimeAndEtime(Date stime, Date etime) { + LambdaQuery lambdaQuery = courseInfoDao.createLambdaQuery(); + if (stime != null && etime != null) { + List select = lambdaQuery.andBetween(CourseInfo::getAddTime, stime, etime) + .andEq(CourseInfo::getCourseInfoStatus, 1).select(); + return select; + } + return lambdaQuery.andEq(CourseInfo::getCourseInfoStatus, 1).select(); + + } + //线程处理 根据章节分割word private class TaskCallable2Split implements Callable { File file; diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java index e0643606..8727c91d 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java @@ -6,13 +6,16 @@ import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.jlw.dao.ResourcesApplicationCourseDao; import com.ibeetl.jlw.dao.ResourcesApplicationDao; import com.ibeetl.jlw.entity.ResourcesApplication; +import com.ibeetl.jlw.entity.Teacher; import com.ibeetl.jlw.web.query.ResourcesApplicationQuery; import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; +import org.beetl.sql.core.query.LambdaQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Date; import java.util.List; @@ -130,4 +133,13 @@ public class ResourcesApplicationService extends CoreBaseService getValues (Object paras){ return sqlManager.select(SqlId.of("jlw.resourcesApplication.getResourcesApplicationValues"),ResourcesApplication.class,paras); } + + public List getApplicationByStimeAndEtime(Date stime, Date etime) { + LambdaQuery lambdaQuery = resourcesApplicationDao.createLambdaQuery(); +// if (stime != null && etime != null) { +// return lambdaQuery.andBetween(ResourcesApplication::get, stime, etime).andEq(ResourcesApplication::getTeacherStatus, 1).select(); +// } + return lambdaQuery.select(); + + } } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java b/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java index a68ca24d..432e80b8 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java @@ -1,9 +1,7 @@ package com.ibeetl.jlw.service; import com.ibeetl.jlw.dao.StatisticalAnalysisDao; -import com.ibeetl.jlw.entity.TeacherOpenCourseMergeSchoolClass; -import com.ibeetl.jlw.entity.TeacherOpenCourseMergeStudent; -import com.ibeetl.jlw.entity.TeacherOpenCourseNotice; +import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeSchoolClassQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeStudentQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseNoticeQuery; @@ -30,6 +28,10 @@ public class StatisticalAnalysisService { @Autowired private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService; @Autowired private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService; @Autowired private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService; + @Autowired private StudentService studentService; + @Autowired private TeacherService teacherService; + @Autowired private CourseInfoService courseInfoService; + @Autowired private ResourcesApplicationService resourcesApplicationService; /** * 统计分析 @@ -121,4 +123,31 @@ public class StatisticalAnalysisService { return data; } + + public Map adminIndexDetail(Date stime, Date etime) { + List studentList = studentService.getStudentByStimeAndEtime(stime, etime); + Map data = new HashMap<>(); + //注册学生数 + data.put("studentNumber", studentList.size()); + //注册老师数 + List teachers = teacherService.getTeacherByStimeAndEtime(stime, etime); + data.put("teacherNumber", teachers.size()); + //登录人数 + data.put("loginNumber", studentList.size()); + //登录人次 + data.put("studentPersonTime", studentList.size()); + //上线课程数 + List courseInfoList = courseInfoService.getCourseInfoByStimeAndEtime(stime, etime); + data.put("courseNumber", courseInfoList.size()); + //上线应用数 + List resourcesApplicationList = resourcesApplicationService.getApplicationByStimeAndEtime(stime, etime); + data.put("applicationNumber", resourcesApplicationList.size()); + //批改作业数 + data.put("homeWorkNumber", studentList.size()); + //课程学习 + data.put("studyNumber", studentList.size()); + //学生做题 + data.put("exerciseNumber", studentList.size()); + return data; + } } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentService.java index 9151121c..12028b1b 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StudentService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StudentService.java @@ -29,6 +29,7 @@ import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; +import org.beetl.sql.core.query.LambdaQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -807,6 +808,17 @@ public class StudentService extends CoreBaseService{ return ret; } + public List getStudentByStimeAndEtime(Date stime, Date etime) { + LambdaQuery lambdaQuery = studentDao.createLambdaQuery(); + if (stime != null && etime != null) { + List select = lambdaQuery.andBetween(Student::getAddTime, stime, etime) + .andEq(Student::getStudentStatus, 1).select(); + return select; + } + return lambdaQuery.andEq(Student::getStudentStatus, 1).select(); + + } + //大赛任务二答卷 线程处理 private class TaskCallableForCT2Q implements Callable { CompetitionTaskSecondQuestionStepQuery condition; diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java index 2690125c..99685801 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java @@ -29,6 +29,7 @@ import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; +import org.beetl.sql.core.query.LambdaQuery; import org.jsoup.Jsoup; import org.jsoup.nodes.Attributes; import org.jsoup.nodes.Document; @@ -709,5 +710,17 @@ public class TeacherService extends CoreBaseService { .andIn(Teacher::getTeacherId, Arrays.asList(ObjectUtil.defaultIfNull(teacherIds, "").split(","))) .select(); + } + + public List getTeacherByStimeAndEtime(Date stime, Date etime) { + LambdaQuery lambdaQuery = teacherDao.createLambdaQuery(); + if (stime != null && etime != null) { + return lambdaQuery.andBetween(Teacher::getAddTime, stime, etime).andEq(Teacher::getTeacherStatus, 1).select(); + } + return lambdaQuery.andEq(Teacher::getTeacherStatus, 1).select(); + + + + } } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java b/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java index ace26ad3..885c6b57 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java @@ -49,7 +49,12 @@ public class StatisticalAnalysisController { } /** - * 管理员端查询 + * 管理员端首页查询 */ + @RequestMapping("/adminIndexDetail.do") + public JsonResult adminIndexDetail(@RequestParam("stime") Date stime, @RequestParam("etime") Date etime) { + Map detail = statisticalAnalysisService.adminIndexDetail(stime, etime); + return JsonResult.success(detail); + } } \ No newline at end of file