|
@@ -2,6 +2,7 @@ package vip.xiaonuo.disk.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
|
import vip.xiaonuo.disk.mapper.StatisticsLearningProgressMapper;
|
|
import vip.xiaonuo.disk.mapper.StatisticsLearningProgressMapper;
|
|
@@ -105,20 +106,36 @@ public class StatisticsLearningProgressServiceImpl implements StatisticsLearning
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
- // 如果指定了基准月份,解析并设置Calendar
|
|
|
|
|
- if (baseStartMonth != null) {
|
|
|
|
|
- Date date = sdf.parse(baseStartMonth);
|
|
|
|
|
|
|
+ String baseStartMonthStr="";
|
|
|
|
|
+ String baseEndMonthStr="";
|
|
|
|
|
+ if(StringUtils.isNotEmpty(baseStartMonth))
|
|
|
|
|
+ {
|
|
|
|
|
+ Date baseStartMonthDate = sdf.parse(baseStartMonth);
|
|
|
|
|
+ Calendar baseStartMonthCalendar = Calendar.getInstance();
|
|
|
|
|
+ baseStartMonthCalendar.setTime(baseStartMonthDate);
|
|
|
|
|
+ baseStartMonthStr=sdf.format(baseStartMonthCalendar.getTime());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //默认以当前月份往前推,如果设定了时间范围,则使用指定的时间范围的结束时间往前推
|
|
|
|
|
+ if (StringUtils.isNotEmpty(baseEndMonth)) {
|
|
|
|
|
+ Date date = sdf.parse(baseEndMonth);
|
|
|
calendar.setTime(date);
|
|
calendar.setTime(date);
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
+ baseEndMonthStr=sdf.format(calendar.getTime());
|
|
|
|
|
+ months.add(baseEndMonthStr);
|
|
|
|
|
|
|
|
// 将Calendar调整到基准月份的第一天(避免日期溢出问题)
|
|
// 将Calendar调整到基准月份的第一天(避免日期溢出问题)
|
|
|
calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
|
|
|
|
|
// 往前推7个月(共8个月)
|
|
// 往前推7个月(共8个月)
|
|
|
- for (int i = 7; i >= 0; i--) {
|
|
|
|
|
|
|
+ for (int i = 1; i <= 7; i++) {
|
|
|
Calendar temp = (Calendar) calendar.clone();
|
|
Calendar temp = (Calendar) calendar.clone();
|
|
|
temp.add(Calendar.MONTH, -i); // 往前减i个月
|
|
temp.add(Calendar.MONTH, -i); // 往前减i个月
|
|
|
- months.add(sdf.format(temp.getTime()));
|
|
|
|
|
|
|
+ String calculateMonth=sdf.format(temp.getTime());
|
|
|
|
|
+ months.add(calculateMonth);
|
|
|
|
|
+ if(StringUtils.isNotEmpty(baseStartMonth))if(baseStartMonthStr.equals(calculateMonth))break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|