|
@@ -103,6 +103,61 @@ public class StatisticsLearningProgressServiceImpl implements StatisticsLearning
|
|
|
return statisticsLearningProgressMapper.studyDetail(param, CommonPageRequest.defaultPage());
|
|
return statisticsLearningProgressMapper.studyDetail(param, CommonPageRequest.defaultPage());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Map<String, Object>> viewWeekly(Map param) {
|
|
|
|
|
+ List<Map<String,Object> > resultList=new ArrayList();
|
|
|
|
|
+ String courseId=null;
|
|
|
|
|
+ if(ObjectUtil.isNotEmpty(param.get("courseId")))courseId=param.get("courseId").toString();
|
|
|
|
|
+ String startTime="";
|
|
|
|
|
+ if(ObjectUtil.isNotEmpty(param.get("startTime")))startTime=param.get("startTime").toString();
|
|
|
|
|
+ String endTime="";
|
|
|
|
|
+ if(ObjectUtil.isNotEmpty(param.get("endTime")))endTime=param.get("endTime").toString();
|
|
|
|
|
+ // 获取当前这一周的,这7天的日期
|
|
|
|
|
+ List<String> days = getSevenWeeksDay(startTime,endTime);
|
|
|
|
|
+ for(String day : days) {
|
|
|
|
|
+ Map viewTendencyParam =new HashMap();
|
|
|
|
|
+ viewTendencyParam.put("day",day);
|
|
|
|
|
+ viewTendencyParam.put("courseId",courseId);
|
|
|
|
|
+ String viewTendencyNum=statisticsLearningProgressMapper.getViewWeekNum(viewTendencyParam);
|
|
|
|
|
+ Map result=new HashMap();
|
|
|
|
|
+ // 把日期转换成中文星期几
|
|
|
|
|
+ String weekName = getWeekdayName(day);
|
|
|
|
|
+ result.put("month", weekName); // 展示给前端的周几
|
|
|
|
|
+ result.put("viewTendencyNum",viewTendencyNum);
|
|
|
|
|
+ resultList.add(result);
|
|
|
|
|
+ }
|
|
|
|
|
+ return resultList;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private String getWeekdayName(String dateStr) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
+ Date date = sdf.parse(dateStr);
|
|
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
|
|
+ calendar.setTime(date);
|
|
|
|
|
+ int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
|
|
|
|
|
+ String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
|
|
|
|
|
+ return weekDays[dayOfWeek - 1];
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ return "";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取这一周7天的日期列表
|
|
|
|
|
+ * 不传值默认查当前月
|
|
|
|
|
+ */
|
|
|
|
|
+ private List<String> getSevenWeeksDay(String startTime, String endTime) {
|
|
|
|
|
+ List<String> weeks = new ArrayList<>();
|
|
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
|
|
+ calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 设置周一为一周的开始
|
|
|
|
|
+ for (int i = 0; i < 7; i++) {
|
|
|
|
|
+ weeks.add(new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
|
|
|
|
|
+ calendar.add(Calendar.DATE, 1); // 加一天
|
|
|
|
|
+ }
|
|
|
|
|
+ return weeks;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取指定七个月
|
|
* 获取指定七个月
|