|
@@ -10,10 +10,12 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.CourseScheduleRepliedDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.CourseScheduleStudentPaymentDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.PracticeScheduleDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.PracticeTeacherSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.CourseGroupEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
import com.yonge.cooleshow.biz.dal.support.PageUtil;
|
|
@@ -28,16 +30,14 @@ import com.yonge.cooleshow.common.page.PageInfo;
|
|
|
import com.yonge.toolset.utils.date.DateUtil;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.apache.ibatis.annotations.Param;
|
|
|
import org.redisson.api.RMap;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
-import javax.validation.Valid;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
@@ -69,7 +69,6 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
private TeacherFreeTimeService teacherFreeTimeService;
|
|
|
@Autowired
|
|
|
private CourseGroupService courseGroupService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private CourseScheduleStudentPaymentService courseScheduleStudentPaymentService;
|
|
|
|
|
@@ -772,7 +771,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
* <p> - subjectId 声部id
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<CourseStudent> queryStudentLiveCourse(Map<String, Object> param) {
|
|
|
+ public PageInfo<CourseStudent> queryStudentLiveCourse(Map<String, Object> param) {
|
|
|
String classDate = WrapperUtil.toStr(param, "classDate");
|
|
|
String[] classDateSp = classDate.split("-");
|
|
|
LocalDate firstDay;
|
|
@@ -786,8 +785,68 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
param.put("type", CourseScheduleEnum.LIVE.getCode());
|
|
|
param.put("startDate", firstDay.toString());
|
|
|
param.put("endDate", lastDay.toString());
|
|
|
- return baseMapper.queryStudentLiveCourse(param);
|
|
|
+ Page<CourseStudent> pageInfo = PageUtil.getPageInfo(param);
|
|
|
+ pageInfo.setAsc(" cs.start_time_");
|
|
|
+ return PageUtil.pageInfo(baseMapper.queryStudentLiveCourse(pageInfo,param));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Description: 创建陪练课
|
|
|
+ * @Author: cy
|
|
|
+ * @Date: 2022/4/20
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void creatPractice(PracticeScheduleDto scheduleDto){
|
|
|
+ //创建单号
|
|
|
+ String orderNo="";
|
|
|
+ scheduleDto.setType(CourseScheduleEnum.PRACTICE.getCode());
|
|
|
+ scheduleDto.setStatus(CourseGroupEnum.NOT_SALE.getCode());
|
|
|
+ scheduleDto.setMixStudentNum(1);
|
|
|
+
|
|
|
+ //写入course_group
|
|
|
+ baseMapper.addCourseGroup(scheduleDto);
|
|
|
+ Long groupId = scheduleDto.getGroupId();
|
|
|
+
|
|
|
+ BigDecimal unitPrice = scheduleDto.getUnitPrice();
|
|
|
+ List<CourseScheduleDate> classTime = scheduleDto.getClassTime();
|
|
|
+ for (int i = 0; i < classTime.size(); i++) {
|
|
|
+ CourseScheduleDate date = classTime.get(i);
|
|
|
+ CourseSchedule schedule = new CourseSchedule();
|
|
|
+ schedule.setClassDate(date.getClassDate());
|
|
|
+ schedule.setStartTime(date.getStartTime());
|
|
|
+ schedule.setEndTime(date.getEndTime());
|
|
|
+ schedule.setCourseGroupId(groupId);
|
|
|
+ schedule.setType(CourseScheduleEnum.PRACTICE.getCode());
|
|
|
+ schedule.classNum(i+1);
|
|
|
+ schedule.setTeacherId(scheduleDto.getTeacherId());
|
|
|
+ schedule.setLock(1);
|
|
|
+ schedule.setStatus(CourseScheduleEnum.NOT_START.getCode());
|
|
|
+ schedule.setCreatedBy(scheduleDto.getStudentId());
|
|
|
+ //写入course_schedule
|
|
|
+ baseMapper.insert(schedule);
|
|
|
+
|
|
|
+ Long scheduleId = schedule.getId();
|
|
|
+ CourseScheduleStudentPayment payment = new CourseScheduleStudentPayment();
|
|
|
+ payment.setUserId(scheduleDto.getStudentId());
|
|
|
+ payment.setCourseId(scheduleId);
|
|
|
+ payment.setCourseGroupId(groupId);
|
|
|
+ payment.setCourseType(CourseScheduleEnum.PRACTICE.getCode());
|
|
|
+ payment.setOrderNo(orderNo);
|
|
|
+ payment.setOriginalPrice(unitPrice);
|
|
|
+ payment.setExpectPrice(unitPrice);
|
|
|
+ payment.setActualPrice(unitPrice);
|
|
|
+ //写course_schedule_student_payment
|
|
|
+ courseScheduleStudentPaymentService.save(payment);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 陪练课下单
|
|
|
+ *
|
|
|
+ * 调用下单接口
|
|
|
+ * 成功:将course_schedule中lock_改为0
|
|
|
+ * 失败:回滚以上数据
|
|
|
+ */
|
|
|
}
|
|
|
|