|  | @@ -1,6 +1,8 @@
 | 
	
		
			
				|  |  |  package com.yonge.cooleshow.biz.dal.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dao.TeacherFreeTimeDao;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting;
 | 
	
	
		
			
				|  | @@ -8,15 +10,18 @@ import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.TeacherFreeTimeService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.vo.WeekVo;
 | 
	
		
			
				|  |  |  import com.yonge.toolset.base.exception.BizException;
 | 
	
		
			
				|  |  | +import com.yonge.toolset.utils.date.DateUtil;
 | 
	
		
			
				|  |  | +import jodd.util.StringUtil;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.util.Date;
 | 
	
		
			
				|  |  | -import java.util.List;
 | 
	
		
			
				|  |  | -import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.text.ParseException;
 | 
	
		
			
				|  |  | +import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 老师可排课时间表(TeacherFreeTime)表服务实现类
 | 
	
	
		
			
				|  | @@ -39,6 +44,30 @@ public class TeacherFreeTimeServiceImpl extends ServiceImpl<TeacherFreeTimeDao,
 | 
	
		
			
				|  |  |          TeacherFreeTime oldTeacherFreeTime = baseMapper.findOne(teacherFreeTime.getTeacherId(),
 | 
	
		
			
				|  |  |                  teacherFreeTime.getCourseMinutes(),
 | 
	
		
			
				|  |  |                  teacherFreeTime.getFreeMinutes());
 | 
	
		
			
				|  |  | +        System.out.println(teacherFreeTime.getMonday());
 | 
	
		
			
				|  |  | +        //结束时间减去休息时间
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getMonday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setMonday(timeOffSet(teacherFreeTime.getMonday(), teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getTuesday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setTuesday(timeOffSet(teacherFreeTime.getTuesday(),teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getWednesday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setWednesday(timeOffSet(teacherFreeTime.getWednesday(),teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getThursday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setThursday(timeOffSet(teacherFreeTime.getThursday(),teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getFriday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setFriday(timeOffSet(teacherFreeTime.getFriday(),teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getSaturday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setSaturday(timeOffSet(teacherFreeTime.getSaturday(),teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtil.isNotBlank(teacherFreeTime.getSunday())){
 | 
	
		
			
				|  |  | +            teacherFreeTime.setSunday(timeOffSet(teacherFreeTime.getSunday(),teacherFreeTime.getFreeMinutes()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          //删除原有设置
 | 
	
		
			
				|  |  |          if(Objects.nonNull(oldTeacherFreeTime)){
 | 
	
		
			
				|  |  |              baseMapper.deleteById(oldTeacherFreeTime.getId());
 | 
	
	
		
			
				|  | @@ -68,5 +97,18 @@ public class TeacherFreeTimeServiceImpl extends ServiceImpl<TeacherFreeTimeDao,
 | 
	
		
			
				|  |  |          getDetail.setSubjectPrice(priceList);
 | 
	
		
			
				|  |  |          return getDetail;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static String timeOffSet(String week,Integer freeMinutes){
 | 
	
		
			
				|  |  | +        List<WeekVo> list = JSONObject.parseArray(week, WeekVo.class);
 | 
	
		
			
				|  |  | +        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
 | 
	
		
			
				|  |  | +        List<WeekVo> weekList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        for (WeekVo weekVo : list) {
 | 
	
		
			
				|  |  | +            WeekVo vo = new WeekVo();
 | 
	
		
			
				|  |  | +            vo.setStartTime(weekVo.getStartTime());
 | 
	
		
			
				|  |  | +            vo.setEndTime(sdf.format(DateUtil.offsetMinute(weekVo.getEndTime(), -freeMinutes, "HH:mm:ss")));
 | 
	
		
			
				|  |  | +            weekList.add(vo);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return JSON.toJSON(weekList).toString();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |