|
@@ -1625,6 +1625,50 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<Date> getEnableApplyDatesIncludeAllTimes(Date startDay, Date endDay) {
|
|
|
+ List<Date> result = new ArrayList<>();
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(startDay);
|
|
|
+ calendar.add(Calendar.DATE, -1);
|
|
|
+ calendar.set(Calendar.SECOND, 0);
|
|
|
+ calendar.set(Calendar.MILLISECOND, 0);
|
|
|
+ SysConfig practiceApplyStartTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_START_TIME);
|
|
|
+ SysConfig practiceApplyEndTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_END_TIME);
|
|
|
+ SysConfig practiceApplyIntervalTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_INTERVAL_TIME);
|
|
|
+ String enableStartTimeStr = practiceApplyStartTimeConfig.getParanValue();
|
|
|
+ String enableEndTimeStr = practiceApplyEndTimeConfig.getParanValue();
|
|
|
+ Integer practiceApplyIntervalMinutes = practiceApplyIntervalTimeConfig.getParanValue(Integer.class);
|
|
|
+ LocalTime dayStartTime=LocalTime.parse("00:00:00",DateUtil.timeFormatter);
|
|
|
+ LocalTime dayEndTime=LocalTime.parse("00:00:00",DateUtil.timeFormatter);
|
|
|
+ List<String> dayApplyTimes=new ArrayList<>();
|
|
|
+ while (true){
|
|
|
+ dayApplyTimes.add(dayStartTime.format(DateUtil.timeFormatter));
|
|
|
+ dayStartTime=dayStartTime.plusMinutes(practiceApplyIntervalMinutes);
|
|
|
+ if(dayStartTime.compareTo(dayEndTime)==0){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ while (!calendar.getTime().after(endDay)) {
|
|
|
+ calendar.add(Calendar.DATE, 1);
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(enableStartTimeStr.split(":")[0]));
|
|
|
+ calendar.set(Calendar.MINUTE, Integer.valueOf(enableStartTimeStr.split(":")[1]));
|
|
|
+ Date enableApplyDayStartTime = calendar.getTime();
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(enableEndTimeStr.split(":")[0]));
|
|
|
+ calendar.set(Calendar.MINUTE, Integer.valueOf(enableEndTimeStr.split(":")[1]));
|
|
|
+ Date enableApplyDayEndTime = calendar.getTime();
|
|
|
+ Calendar applyStartCalendar = Calendar.getInstance();
|
|
|
+ applyStartCalendar.setTime(enableApplyDayStartTime);
|
|
|
+ for (String applyDayTime : dayApplyTimes) {
|
|
|
+ String temp = DateUtil.dateToString(applyStartCalendar.getTime(), "yyyy-MM-dd");
|
|
|
+ temp = temp + " " + applyDayTime;
|
|
|
+ result.add(DateUtil.stringToDate(temp, "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
public Map practiceApply(PracticeGroup practiceGroup) {
|
|
|
if (Objects.isNull(practiceGroup.getUserId())) {
|