From 252253187765e71f2953b8c00e2497ff29a0deaf Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期三, 26 七月 2023 17:05:36 +0800
Subject: [PATCH] 开始上课的预约记录修改
---
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 69 +++++++++++++++++++++++++++++++++-
cloud-server-account/src/main/java/com/dsh/account/util/DateUtil.java | 39 +++++++++++++++++++
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 7 ++-
cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/AppointmentRecordVo.java | 3 +
5 files changed, 115 insertions(+), 5 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
index 345666f..12bc776 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -409,14 +409,17 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
@ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "预约状态 0=全部 1=待上课 2=已完成 3=已取消", name = "appointStatus", required = false, dataType = "int"),
+ @ApiImplicitParam(value = "时间类型 0=全部 1=近一周 2=近一个月 3=近一年", name = "appointStatus", required = false, dataType = "int"),
+ @ApiImplicitParam(value = "课程名称", name = "appointStatus", required = false, dataType = "string"),
})
- public ResultUtil<AppointmentRecordVo> cgeClassAppointmentRecordList(Integer stuId){
+ public ResultUtil<AppointmentRecordVo> cgeClassAppointmentRecordList(Integer stuId,Integer appointStatus,Integer timeType,String search){
try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if(null == appUserId){
return ResultUtil.tokenErr();
}
- return ResultUtil.success(istuService.getAppointmentRecords(stuId,appUserId));
+ return ResultUtil.success(istuService.getAppointmentRecords(stuId,appUserId,appointStatus,timeType,search));
}catch (Exception e){
return ResultUtil.runErr();
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/AppointmentRecordVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/AppointmentRecordVo.java
index 296e9e7..d253b80 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/AppointmentRecordVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/AppointmentRecordVo.java
@@ -16,6 +16,9 @@
@ApiModelProperty(value = "当前学员姓名")
private String stuName;
+ @ApiModelProperty(value = "预约状态 0=全部 1=待上课 2=已完成 3=已取消")
+ private Integer appointStatus;
+
@ApiModelProperty(value = "记录列表")
private List<RecordAppoint> appointList;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
index 96f2359..508dd60 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
@@ -83,7 +83,7 @@
* @param appUserId
* @return
*/
- AppointmentRecordVo getAppointmentRecords(Integer stuId, Integer appUserId);
+ AppointmentRecordVo getAppointmentRecords(Integer stuId, Integer appUserId,Integer appointStatus,Integer timeType,String search);
ResultUtil cancelReservationOfCourse( Integer courseStuRecordId);
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 c9e98a6..9a11a95 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
@@ -563,7 +563,7 @@
}
@Override
- public AppointmentRecordVo getAppointmentRecords(Integer stuId, Integer appUserId) {
+ public AppointmentRecordVo getAppointmentRecords(Integer stuId, Integer appUserId,Integer appointStatus,Integer timeType,String search) {
AppointmentRecordVo recordVo = new AppointmentRecordVo();
TStudent tStudent = this.baseMapper.selectOne(new QueryWrapper<TStudent>()
.eq("id",stuId )
@@ -571,7 +571,72 @@
if (ToolUtil.isNotEmpty(tStudent)){
recordVo.setStuId(tStudent.getId());
recordVo.setStuName(tStudent.getName());
- recordVo.setAppointList(couPayClient.obtainStudentClassDetailsData(stuId));
+ List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(stuId);
+ if (ToolUtil.isEmpty(appointStatus)){
+ recordVo.setAppointStatus(0);
+ }else {
+ recordVo.setAppointStatus(appointStatus);
+ recordAppoints = recordAppoints.stream()
+ .filter(record -> record.getStatus().equals(appointStatus))
+ .collect(Collectors.toList());
+ }
+ if (ToolUtil.isNotEmpty(search)){
+ recordVo.setAppointStatus(appointStatus);
+ recordAppoints = recordAppoints.stream()
+ .filter(record -> record.getCoursePackageName().contains(search))
+ .collect(Collectors.toList());
+ }
+ if (ToolUtil.isNotEmpty(timeType)){
+ Date lastOfDate = DateUtil.getLastOfDate();
+ switch (timeType){
+ case 1:
+ Date lastWeekStartDate = DateUtil.getLastWeekStartDate();
+ recordAppoints = recordAppoints.stream()
+ .filter(record -> {
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ Date time = sdf.parse(record.getTimeFrame().substring(11));
+ return !time.before(lastWeekStartDate) && !time.after(lastOfDate);
+ } catch (ParseException e) {
+ return false;
+ }
+ })
+ .collect(Collectors.toList());
+ break;
+ case 2:
+ Date lastMonthStartDate = DateUtil.getLastMonthStartDate();
+ recordAppoints = recordAppoints.stream()
+ .filter(record -> {
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Date time = sdf.parse(record.getTimeFrame().substring(11));
+ return !time.before(lastMonthStartDate) && !time.after(lastOfDate);
+ } catch (ParseException e) {
+ return false;
+ }
+ })
+ .collect(Collectors.toList());
+ break;
+ case 3:
+ Date lastYearStartDate = DateUtil.getLastYearStartDate();
+ recordAppoints = recordAppoints.stream()
+ .filter(record -> {
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ Date time = sdf.parse(record.getTimeFrame().substring(11));
+ return !time.before(lastYearStartDate) && !time.after(lastOfDate);
+ } catch (ParseException e) {
+ return false;
+ }
+ })
+ .collect(Collectors.toList());
+ break;
+ default:
+ break;
+
+ }
+ }
+ recordVo.setAppointList(recordAppoints);
}
return recordVo;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/DateUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/DateUtil.java
index a546553..9c752b6 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/DateUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/DateUtil.java
@@ -368,4 +368,43 @@
return age;
}
+
+ // 获取近一周的开始时间
+ public static Date getLastWeekStartDate() {
+ Calendar calendar = Calendar.getInstance();
+ // 设置为当前日期的前一周
+ calendar.add(Calendar.DAY_OF_YEAR, -7);
+ // 获取近一周的开始时间
+ return calendar.getTime();
+ }
+
+
+ // 获取近一个月的开始时间
+ public static Date getLastMonthStartDate() {
+ Calendar calendar = Calendar.getInstance();
+ // 设置为当前日期的前一个月
+ calendar.add(Calendar.MONTH, -1);
+ // 获取近一个月的开始时间
+ return calendar.getTime();
+ }
+
+ // 获取近一年的开始时间
+ public static Date getLastYearStartDate() {
+ Calendar calendar = Calendar.getInstance();
+ // 设置为当前日期的前一年
+ calendar.add(Calendar.YEAR, -1);
+ // 获取近一年的开始时间
+ return calendar.getTime();
+ }
+
+
+ // 获取昨天的时间
+ public static Date getLastOfDate() {
+ Calendar calendar = Calendar.getInstance();
+ // 设置为当前日期的前一个月
+ calendar.add(Calendar.DAY_OF_YEAR, -1);
+ // 获取近一个月的开始时间
+ return calendar.getTime();
+ }
+
}
--
Gitblit v1.7.1