From bdb44a4edf520d6d559c18f9969c2d70de671a61 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 28 十一月 2023 14:27:30 +0800
Subject: [PATCH] 11.27,7
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 18 +-
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 3
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 2
cloud-server-course/pom.xml | 7 +
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 1
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 18 +-
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 8 +
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 2
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java | 2
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 349 ++++++++++++++++++++++++++++---------------------
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 2
11 files changed, 242 insertions(+), 170 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
index 17ea143..3f390b1 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -607,6 +607,7 @@
Date time = sdf.parse(substring);
return !time.before(lastWeekStartDate) && !time.after(lastOfDate);
} catch (ParseException e) {
+ e.printStackTrace();
return false;
}
})
@@ -621,6 +622,7 @@
Date time = sdf.parse(record.getTimeFrame().substring(11));
return !time.before(lastMonthStartDate) && !time.after(lastOfDate);
} catch (ParseException e) {
+ e.printStackTrace();
return false;
}
})
@@ -635,6 +637,7 @@
Date time = sdf.parse(record.getTimeFrame().substring(11));
return !time.before(lastYearStartDate) && !time.after(lastOfDate);
} catch (ParseException e) {
+ e.printStackTrace();
return false;
}
})
diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml
index 20a5b50..5b0d712 100644
--- a/cloud-server-course/pom.xml
+++ b/cloud-server-course/pom.xml
@@ -130,6 +130,13 @@
<version>3.23.5</version>
<scope>compile</scope>
</dependency>
+
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>2.4</version>
+ <classifier>jdk15</classifier>
+ </dependency>
</dependencies>
<build>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 1845076..9bc7408 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -687,17 +687,17 @@
@PostMapping("/base/coursePack/getRecord")
public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) {
- List<CoursePackageOrderStudent> list = new ArrayList<>();
+// List<CoursePackageOrderStudent> list = new ArrayList<>();
Integer[] changes = {1, 0};
- if (recordTimeRequest.getType() == null) {
- list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
- } else {
-
- list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
- }
- List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList());
+// if (recordTimeRequest.getType() == null) {
+// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
+// } else {
+//
+// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
+// }
+// List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList());
List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
- .in("appUserId", appUserIds)
+ .eq("studentId", recordTimeRequest.getStuId())
.eq("coursePackageId", recordTimeRequest.getLessionId())
.eq("state", 1)
);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index 3cdcbf9..2f81863 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -174,15 +174,29 @@
@Resource
private AppUserClient appUserClient;
+
+ @Autowired
+ private ICoursePackageOrderStudentService orderStudentService;
//获取可转移学员
@RequestMapping("/getSelect")
@ResponseBody
public List<SelectDto> getSelect(@RequestParam("payId") Long payId) {
- TCoursePackagePayment byId = paymentService.getById(payId);
+// TCoursePackagePayment byId = paymentService.getById(payId);
+//
+// List<Integer> studentIds = paymentService.getStudentIds(payId, byId.getCoursePackageId(), byId.getAppUserId());
+// System.out.println("=========studentIds=================>" + studentIds);
- List<Integer> studentIds = paymentService.getStudentIds(payId, byId.getCoursePackageId(), byId.getAppUserId());
- System.out.println("=========studentIds=================>" + studentIds);
+ CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(payId);
+
+
+ List<CoursePackageOrderStudent> orderStudent = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("appUserId", coursePackageOrderStudent.getAppUserId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).ne("id",payId));
+
+ List<Integer> studentIds = new ArrayList<>();
+ for (CoursePackageOrderStudent packageOrderStudent : orderStudent) {
+ studentIds.add(packageOrderStudent.getStudentId());
+ }
+
if (studentIds.size() > 0) {
List<SelectDto> selectDtos = appUserClient.getSelects(studentIds);
@@ -269,8 +283,7 @@
}
- @Autowired
- private ICoursePackageOrderStudentService orderStudentService;
+
@RequestMapping("/insertBack")
@ResponseBody
@@ -416,39 +429,47 @@
return moneyBacksck;
}
+
+
+ @Autowired
+ private ICoursePackageSchedulingService schedulingService;
+
//课程转移
@RequestMapping("/toClass")
@ResponseBody
public void toClass(@RequestBody ToClassDto toClassDto) throws ParseException {
- System.out.println("===========到达getSelect=======" + toClassDto);
- TCoursePackagePayment orinPay =
- paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
- TCoursePackagePayment studentPay = paymentService.getOne
- (new QueryWrapper<TCoursePackagePayment>()
- .eq("studentId", toClassDto.getToStudentId())
- .eq("coursePackageId", orinPay.getCoursePackageId()));
+// System.out.println("===========到达getSelect=======" + toClassDto);
+// TCoursePackagePayment orinPay =
+// paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
+// TCoursePackagePayment studentPay = paymentService.getOne
+// (new QueryWrapper<TCoursePackagePayment>()
+// .eq("studentId", toClassDto.getToStudentId())
+// .eq("coursePackageId", orinPay.getCoursePackageId()));
+
+
+ CoursePackageOrderStudent orinPay = orderStudentService.getById(toClassDto.getId());
+
+ CoursePackageOrderStudent studentPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()));
+
+ TCoursePackage coursePackage = packageService.getById(orinPay.getCoursePackageId());
+
if (studentPay != null) {
+ //转移
System.out.println("======orinPay=====>" + orinPay);
System.out.println("======studentPay=====>" + studentPay);
Integer laveClassHours = orinPay.getLaveClassHours();
Integer totalClassHours = orinPay.getTotalClassHours();
orinPay.setTotalClassHours(0);
orinPay.setLaveClassHours(0);
- orinPay.setStatus(1);
+ orinPay.setStatus(5);
orinPay.setAppUserId(null);
- paymentService.updateById(orinPay);
- //删除orin的排课记录
- List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()));
- List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- //拿到最后一天的排课记录
- if (collect1.size() > 0) {
- coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1));
- coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
- }
+ orderStudentService.updateById(orinPay);
+
+
CourseCounsum courseCounsum = new CourseCounsum();
courseCounsum.setInsertTime(new Date());
if (orinPay.getAppUserId() != studentPay.getAppUserId()) {
- courseCounsum.setReason("课时转移");
+ courseCounsum.setReason("课时赠送");
} else {
courseCounsum.setReason("课时转移");
}
@@ -465,12 +486,12 @@
studentPay.setAppUserId(null);
studentPay.setLaveClassHours(lave);
studentPay.setTotalClassHours(total);
- paymentService.updateById(studentPay);
+ orderStudentService.updateById(studentPay);
CourseCounsum courseCounsum1 = new CourseCounsum();
courseCounsum1.setInsertTime(new Date());
if (orinPay.getAppUserId() != studentPay.getAppUserId()) {
- courseCounsum1.setReason("课时转移");
+ courseCounsum1.setReason("课时赠送");
} else {
courseCounsum1.setReason("课时转移");
}
@@ -480,112 +501,47 @@
counsumService.save(courseCounsum1);
- //排课
- TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId());
- String classWeeks = tCoursePackage.getClassWeeks();
- List<Integer> week = week(classWeeks);
-
- String[] split = tCoursePackage.getClassStartTime().split(",");
- String[] split1 = tCoursePackage.getClassEndTime().split(",");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- // 本周周几
-
- List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
- List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- //拿到最后一天的排课记录
- if (collect.size() > 0) {
- coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
- coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
- }
-
- Student student = studentClient.queryStudentById(toClassDto.getToStudentId());
-
- Date today = new Date();
-
-
- TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId());
- Integer laveClassHours2 = pay.getLaveClassHours();
- Integer codeTime = tCoursePackage.getCodeTime();
- Integer can = 0;
- int count = 0;
- // 本周周几
-// int i = DateUtil.dayOfWeek(new Date())-1;
-
- Date[] dates = generateDateArray(14, today);
- can = laveClassHours2 / codeTime;
-
- for (Date date : dates) {
- if (count == can) {
- break;
- }
- int wei = DateUtil.dayOfWeek(date);
- if (week.contains(wei)) {
- for (int i1 = 0; i1 < split.length; i1++) {
- if (count == can) {
- break;
- }
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(date) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.insert(coursePackageScheduling);
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(student.getAppUserId());
- student1.setStudentId(student.getId());
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(studentPay.getId());
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- cpsMapper.insert(student1);
- count++;
- }
- }
- }
+ schedulingService.addNewCoursePackageScheduling(studentPay.getId(),laveClassHours);
} else {
+
+
Student student = studentClient.queryStudentById(toClassDto.getToStudentId());
- TCoursePackagePayment to = new TCoursePackagePayment();
+ CoursePackageOrderStudent to = new CoursePackageOrderStudent();
to.setStudentId(toClassDto.getToStudentId());
to.setTotalClassHours(orinPay.getTotalClassHours());
to.setLaveClassHours(orinPay.getLaveClassHours());
to.setCoursePackageId(orinPay.getCoursePackageId());
to.setState(1);
to.setAppUserId(student.getAppUserId());
- to.setPayStatus(2);
to.setStatus(1);
to.setInsertTime(new Date());
- paymentService.save(to);
+
+ Integer validDays = coursePackage.getValidDays();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+ to.setUseTime(calendar.getTime());
+
+ orderStudentService.save(to);
orinPay.setTotalClassHours(0);
orinPay.setLaveClassHours(0);
orinPay.setAppUserId(null);
- orinPay.setStatus(1);
- paymentService.updateById(orinPay);
+ orinPay.setStatus(6);
+ orderStudentService.updateById(orinPay);
- //删除orin的排课记录
- List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()));
- List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- //拿到最后一天的排课记录
- if (collect1.size() > 0) {
- coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1));
- coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
- }
+
CourseCounsum courseCounsum = new CourseCounsum();
courseCounsum.setInsertTime(new Date());
- courseCounsum.setReason("课时转移");
+ courseCounsum.setReason("课时赠送");
courseCounsum.setNum(orinPay.getLaveClassHours());
courseCounsum.setChangeType(0);
courseCounsum.setPaymentId(orinPay.getId());
@@ -594,82 +550,177 @@
CourseCounsum courseCounsum1 = new CourseCounsum();
courseCounsum1.setInsertTime(new Date());
- courseCounsum1.setReason("课时转移");
+ courseCounsum1.setReason("课时赠送");
courseCounsum1.setNum(orinPay.getLaveClassHours());
courseCounsum1.setChangeType(1);
courseCounsum1.setPaymentId(to.getId());
counsumService.save(courseCounsum);
- TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId());
- String classWeeks = tCoursePackage.getClassWeeks();
- List<Integer> week = week(classWeeks);
- String[] split = tCoursePackage.getClassStartTime().split(",");
- String[] split1 = tCoursePackage.getClassEndTime().split(",");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- // 本周周几
-
- List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
- List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- //拿到最后一天的排课记录
- if (collect.size() > 0) {
- coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
- coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId()));
- }
+ //开始排课
+ addPackageStudent(coursePackage, to.getAppUserId(), to.getStudentId(), to);
- Date today = new Date();
- TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId());
- Integer laveClassHours2 = pay.getLaveClassHours();
- Integer codeTime = tCoursePackage.getCodeTime();
- Integer can = 0;
- int count = 0;
- // 本周周几
-// int i = DateUtil.dayOfWeek(new Date())-1;
+ }
- Date[] dates = generateDateArray(14, today);
- can = laveClassHours2 / codeTime;
- for (Date date : dates) {
- if (count == can) {
- break;
- }
- int wei = DateUtil.dayOfWeek(date);
- if (week.contains(wei)) {
- for (int i1 = 0; i1 < split.length; i1++) {
- if (count == can) {
+ }
+
+
+
+ /**
+ * 新购买课程后的排课
+ *
+ * @param userId
+ * @param sId
+ * @throws ParseException
+ */
+ private void addPackageStudent(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) {
+ try {
+ //1常规 2假期 3体验
+ if (tCoursePackage.getType() == 1) {
+ //上课星期
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //上课时段
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+
+ //剩余课时
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ //扣除课时数
+ Integer codeTime = tCoursePackage.getCodeTime();
+ //排课 本周+下周,课时不够扣则直接剩余不排课
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ int day_week = calendar.get(Calendar.DAY_OF_WEEK);
+ day_week = day_week - 1 == 0 ? 7 : day_week - 1;
+ int num = 8 - day_week + 7;
+ Date useTime = coursePackageOrderStudent.getUseTime();
+
+ for (int i = 0; i < num; i++) {
+ Date time = calendar.getTime();
+
+ //判断当天是否在排课星期内
+ int day = calendar.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+
+
+ //大于有效期不进行排课
+ if (calendar.getTimeInMillis() >= useTime.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ //剩余数量不足以排课
+ if (laveClassHours.compareTo(codeTime) < 0) {
break;
}
+
+ laveClassHours -= codeTime;
+
CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setType(tCoursePackage.getType());
+ coursePackageScheduling.setAppUserId(userId);
+ coursePackageScheduling.setStudentId(sId);
coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(date) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
+ Date parse = format1.parse(format.format(time) + " " + split[j]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
coursePackageScheduling.setClassDate(parse);
coursePackageScheduling.setEndDate(parse1);
coursePackageScheduling.setStatus(1);
coursePackageSchedulingService.insert(coursePackageScheduling);
CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(student.getAppUserId());
- student1.setStudentId(student.getId());
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(studentPay.getId());
+ student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
student1.setSignInOrNot(1);
student1.setReservationStatus(1);
student1.setInsertTime(new Date());
cpsMapper.insert(student1);
- count++;
}
+ //增加日期,用于判断
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
}
}
+ if (tCoursePackage.getType() == 2) {
+ //上课星期
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //上课时段
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ Date startTime = tCoursePackage.getStartTime();
+ Date endTime = tCoursePackage.getEndTime();
+ //排课 本周+下周,课时不够扣则直接剩余不排课
+ Calendar calendar = Calendar.getInstance();
+ //假期开始使用当前时间为起始时间进行排课
+ calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ while (true) {
+ Date time = calendar.getTime();
+
+ //判断当天是否在排课星期内
+ int day = calendar.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+
+ //大于有效期不进行排课
+ if (calendar.getTimeInMillis() > endTime.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setType(tCoursePackage.getType());
+ coursePackageScheduling.setAppUserId(userId);
+ coursePackageScheduling.setStudentId(sId);
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(time) + " " + split[j]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.insert(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(null);
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ }
+ //增加日期,用于判断
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
-
-
}
@Resource
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index bae2cab..96b44df 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -195,5 +195,6 @@
@TableField("giftClassHours")
private Integer giftClassHours;
// 所选课时规格id
+ @TableField(exist = false)
private Integer coursePackageConfigId;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
index d9b43d5..ee9dd41 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
@@ -47,5 +47,5 @@
* 处理剩余课时已经全部排完课后临时增加课时后添加排课
* @param coursePackageOrderStudentId
*/
- void addNewCoursePackageScheduling(Integer coursePackageOrderStudentId, Integer classNumber);
+ void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
index c4797d5..2288be4 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -319,7 +319,7 @@
* @param coursePackageOrderStudentId
*/
@Override
- public void addNewCoursePackageScheduling(Integer coursePackageOrderStudentId, Integer classNumber) {
+ public void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber) {
CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePackageOrderStudentId);
CoursePackageScheduling coursePackageScheduling = this.getOne(new QueryWrapper<CoursePackageScheduling>()
.eq("appUserId", coursePackageOrderStudent.getAppUserId())
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 9e13e0d..baa80c1 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -511,6 +511,14 @@
AppUser appUser = appuClient.queryAppUser(appUserId);
CourseDetailsResponse response = new CourseDetailsResponse();
CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId);
+ if (coursePackageOrder==null){
+// student = coursePackageStudentService.getById(coursePayId);
+ CoursePackageOrderStudent student = coursePackageOrderStudentService.getById(coursePayId);
+
+ coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("appUserId", student.getAppUserId()).like("studentIds", student.getStudentId()).eq("coursePackageId", student.getCoursePackageId()).orderByDesc("insertTime").last("limit 1"));
+
+ }
+
response.setChooseHours(coursePackageOrder.getClassHours());
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index 3226306..56c305a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1219,6 +1219,8 @@
courseCounsum.setInsertTime(new Date());
courseCounsum.setReason("购买课包");
courseCounsumService.save(courseCounsum);
+
+
}
if(coursePackage.getType() == 2){
addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
index 3e8d1a9..6b15485 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -698,15 +698,15 @@
List<SelectDto> selectDtos = appUserClient.giftSelect(giftSearchDto);
// 只查询当前用户下 同时也报名了该课程的学员
- for (SelectDto selectDto : selectDtos) {
- // 获取课包id
- TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId());
-
- Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
- // 学员id 拿到学员id 判断当前学员是否报名了这门课程
- Long id = selectDto.getId();
- //
- }
+// for (SelectDto selectDto : selectDtos) {
+// // 获取课包id
+// TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId());
+//
+// Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
+// // 学员id 拿到学员id 判断当前学员是否报名了这门课程
+// Long id = selectDto.getId();
+// //
+// }
Map<String,List<SelectDto>> map = new HashMap<>();
map.put("options",selectDtos);
// Map<String,List<SelectDto>> map = new HashMap<>();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
index 05b26cf..f8034c5 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
@@ -570,7 +570,7 @@
List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(integers);
for (CoursePackageStudent coursePackageStudent : coursePackageStudents) {
- if(coursePackageStudent.getReservationStatus() == 0){
+ if(coursePackageStudent.getSignInOrNot() == 2){
continue;
}
// TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId());
--
Gitblit v1.7.1