|
|
@@ -344,35 +344,89 @@ public class FsUserCoursePeriodDaysServiceImpl extends ServiceImpl<FsUserCourseP
|
|
|
|
|
|
@Override
|
|
|
public R updateCourseTime(UpdateCourseTimeVo vo) {
|
|
|
- List<FsUserCoursePeriodDays> list = fsUserCoursePeriodDaysMapper.selectBatchIds(vo.getIds());
|
|
|
- list.forEach(day -> {
|
|
|
+ // 批量更新
|
|
|
+ if(vo.getBatchUpdateSwitch()!=null && vo.getBatchUpdateSwitch()==1
|
|
|
+ && vo.getIds()!=null && vo.getIds().size()==1){
|
|
|
+ Long id=vo.getIds().get(0);
|
|
|
+
|
|
|
+ FsUserCoursePeriodDays info= fsUserCoursePeriodDaysMapper.selectFsUserCoursePeriodDaysById(id);
|
|
|
+
|
|
|
+ if(info==null || info.getPeriodId()==null || info.getLesson()==null){
|
|
|
+ return R.error(400, "该课程参数异常,请联系管理员");
|
|
|
+ }
|
|
|
+ // 根据id获取当前营期的所有的大于该id数据lesson的id
|
|
|
+ FsUserCoursePeriodDays param = new FsUserCoursePeriodDays();
|
|
|
+ param.setPeriodId(info.getPeriodId());
|
|
|
+ param.setLesson(info.getLesson());
|
|
|
+ List<Long> ids = fsUserCoursePeriodDaysMapper.selectFsUserCoursePeriodDaysForLastById(param);
|
|
|
+ List<FsUserCoursePeriodDays> list = fsUserCoursePeriodDaysMapper.selectBatchIds(ids);
|
|
|
+ list.forEach(day -> {
|
|
|
+
|
|
|
+ // 调整时间为直接接收前端传入的年月日,不使用营期的日期(2025年6月11日 10点41分)
|
|
|
+ day.setStartDateTime(vo.getStartTime());
|
|
|
+ day.setEndDateTime(vo.getEndTime1());
|
|
|
+
|
|
|
+
|
|
|
+ SysConfig config = sysConfigMapper.selectConfigByConfigKey("joinTime.switch.config");
|
|
|
+ if (ObjectUtils.isNotEmpty(config)&&config.getConfigValue().equals("1")){
|
|
|
+ day.setLastJoinTime(vo.getEndTime1());
|
|
|
+ }else {
|
|
|
+ day.setLastJoinTime(vo.getJoinTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 把营期时间改成开始时间
|
|
|
+ day.setDayDate(vo.getStartTime().toLocalDate());
|
|
|
+ // 设置状态
|
|
|
+ LocalDateTime compareDayTime = LocalDateTime.now();
|
|
|
+ if(compareDayTime.isAfter(day.getStartDateTime()) && compareDayTime.isBefore(day.getEndDateTime())){
|
|
|
+ day.setStatus(1);
|
|
|
+ } else if(compareDayTime.isBefore(day.getStartDateTime())){
|
|
|
+ day.setStatus(0);
|
|
|
+ } else {
|
|
|
+ day.setStatus(2);
|
|
|
+ }
|
|
|
+ fsUserCoursePeriodDaysMapper.updateById(day);
|
|
|
+
|
|
|
+ // 时间加一天
|
|
|
+ vo.setStartTime(vo.getStartTime().plusDays(1));
|
|
|
+ vo.setEndTime1(vo.getEndTime1().plusDays(1));
|
|
|
+ vo.setJoinTime(vo.getJoinTime().plusDays(1));
|
|
|
+ });
|
|
|
+
|
|
|
+ }else {
|
|
|
+ List<FsUserCoursePeriodDays> list = fsUserCoursePeriodDaysMapper.selectBatchIds(vo.getIds());
|
|
|
+ list.forEach(day -> {
|
|
|
// day.setStartDateTime(LocalDateTime.of(day.getDayDate(), vo.getStartTime()));
|
|
|
// day.setEndDateTime(LocalDateTime.of(day.getDayDate(), vo.getEndTime1()));
|
|
|
// day.setLastJoinTime(LocalDateTime.of(day.getDayDate(), vo.getJoinTime()));
|
|
|
- // 调整时间为直接接收前端传入的年月日,不使用营期的日期(2025年6月11日 10点41分)
|
|
|
- day.setStartDateTime(vo.getStartTime());
|
|
|
- day.setEndDateTime(vo.getEndTime1());
|
|
|
+ // 调整时间为直接接收前端传入的年月日,不使用营期的日期(2025年6月11日 10点41分)
|
|
|
+ day.setStartDateTime(vo.getStartTime());
|
|
|
+ day.setEndDateTime(vo.getEndTime1());
|
|
|
+
|
|
|
+ SysConfig config = sysConfigMapper.selectConfigByConfigKey("joinTime.switch.config");
|
|
|
+ if (ObjectUtils.isNotEmpty(config)&&config.getConfigValue().equals("1")){
|
|
|
+ day.setLastJoinTime(vo.getEndTime1());
|
|
|
+ }else {
|
|
|
+ day.setLastJoinTime(vo.getJoinTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 把营期时间改成开始时间
|
|
|
+ day.setDayDate(vo.getStartTime().toLocalDate());
|
|
|
+ // 设置状态
|
|
|
+ LocalDateTime compareDayTime = LocalDateTime.now();
|
|
|
+ if(compareDayTime.isAfter(day.getStartDateTime()) && compareDayTime.isBefore(day.getEndDateTime())){
|
|
|
+ day.setStatus(1);
|
|
|
+ } else if(compareDayTime.isBefore(day.getStartDateTime())){
|
|
|
+ day.setStatus(0);
|
|
|
+ } else {
|
|
|
+ day.setStatus(2);
|
|
|
+ }
|
|
|
+ fsUserCoursePeriodDaysMapper.updateById(day);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
- SysConfig config = sysConfigMapper.selectConfigByConfigKey("joinTime.switch.config");
|
|
|
- if (ObjectUtils.isNotEmpty(config)&&config.getConfigValue().equals("1")){
|
|
|
- day.setLastJoinTime(vo.getEndTime1());
|
|
|
- }else {
|
|
|
- day.setLastJoinTime(vo.getJoinTime());
|
|
|
- }
|
|
|
|
|
|
- // 把营期时间改成开始时间
|
|
|
- day.setDayDate(vo.getStartTime().toLocalDate());
|
|
|
- // 设置状态
|
|
|
- LocalDateTime compareDayTime = LocalDateTime.now();
|
|
|
- if(compareDayTime.isAfter(day.getStartDateTime()) && compareDayTime.isBefore(day.getEndDateTime())){
|
|
|
- day.setStatus(1);
|
|
|
- } else if(compareDayTime.isBefore(day.getStartDateTime())){
|
|
|
- day.setStatus(0);
|
|
|
- } else {
|
|
|
- day.setStatus(2);
|
|
|
- }
|
|
|
- fsUserCoursePeriodDaysMapper.updateById(day);
|
|
|
- });
|
|
|
return R.ok();
|
|
|
}
|
|
|
|