From bc4011cdbbfff9a154766936e47e08c00ccab797 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期三, 26 七月 2023 17:11:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 2
/dev/null | 35 --------
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/service/impl/UserIntegralChangesServiceImpl.java | 16 +--
cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/AppointmentRecordVo.java | 3
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IntegralsData.java | 22 +++++
cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java | 4
10 files changed, 146 insertions(+), 53 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/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
index 8f7f0df..16f1915 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -383,7 +383,7 @@
@ApiImplicitParam(value = "年月", name = "yearMonth", required = true, dataType = "string"),
@ApiImplicitParam(value = "记录(1充值 2扣除)", name = "recordId", required = true, dataType = "int"),
})
- public ResultUtil<IntegralDetailsResponse> pointDetails(String yearMonth, Integer recordId){
+ public ResultUtil<List<IntegralsData>> pointDetails(String yearMonth, Integer recordId){
try {
Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
if(null == userIdFormRedis){
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/model/vo/userBenefitDetail/IntegralDetailsResponse.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IntegralDetailsResponse.java
deleted file mode 100644
index 32a6fed..0000000
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IntegralDetailsResponse.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.dsh.account.model.vo.userBenefitDetail;
-
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class IntegralDetailsResponse {
-
- @ApiModelProperty(value = "可用积分")
- private Integer wpGold;
-
- @ApiModelProperty(value = "记录列表")
- private List<IntegralsData> detailList;
-
- @Data
- public static class IntegralsData{
-
- @ApiModelProperty(value = "名称")
- private String consumeName;
-
- @ApiModelProperty(value = "时间")
- private String consumeTime;
-
- @ApiModelProperty(value = "金额 例如 -90 ")
- private String consumeAmount;
-
- @ApiModelProperty(value = "1扣减 2增加")
- private Integer detailsType;
-
- }
-
-}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IntegralsData.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IntegralsData.java
new file mode 100644
index 0000000..0c4b2b2
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IntegralsData.java
@@ -0,0 +1,22 @@
+package com.dsh.account.model.vo.userBenefitDetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+@Data
+public class IntegralsData {
+
+ @ApiModelProperty(value = "名称")
+ private String consumeName;
+
+ @ApiModelProperty(value = "时间")
+ private String consumeTime;
+
+ @ApiModelProperty(value = "金额 例如 -90 ")
+ private String consumeAmount;
+
+ @ApiModelProperty(value = "1扣减 2增加")
+ private Integer detailsType;
+
+}
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/UserIntegralChangesService.java b/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java
index b45c68a..c753574 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/UserIntegralChangesService.java
@@ -4,7 +4,7 @@
import com.dsh.account.entity.UserIntegralChanges;
import com.dsh.account.model.SaveUserIntegralChangesVo;
import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse;
-import com.dsh.account.model.vo.userBenefitDetail.IntegralDetailsResponse;
+import com.dsh.account.model.vo.userBenefitDetail.IntegralsData;
import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo;
import java.util.List;
@@ -19,7 +19,7 @@
*/
public interface UserIntegralChangesService extends IService<UserIntegralChanges> {
- IntegralDetailsResponse queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis);
+ List<IntegralsData> queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis);
/**
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/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index e04b185..68321ea 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -9,7 +9,7 @@
import com.dsh.account.mapper.UserIntegralChangesMapper;
import com.dsh.account.model.SaveUserIntegralChangesVo;
import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse;
-import com.dsh.account.model.vo.userBenefitDetail.IntegralDetailsResponse;
+import com.dsh.account.model.vo.userBenefitDetail.IntegralsData;
import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo;
import com.dsh.account.service.UserIntegralChangesService;
import com.dsh.account.util.DateTimeHelper;
@@ -43,9 +43,8 @@
private MerChandiseClient mcClient;
@Override
- public IntegralDetailsResponse queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis) {
- IntegralDetailsResponse vo = new IntegralDetailsResponse();
- List<IntegralDetailsResponse.IntegralsData> details = new ArrayList<>();
+ public List<IntegralsData> queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis) {
+ List<IntegralsData> details = new ArrayList<>();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
Date monthStart = null;
@@ -63,7 +62,7 @@
.orderByDesc("insertTime"));
if (userIntegralChanges.size() > 0 ){
for (UserIntegralChanges userIntegralChange : userIntegralChanges) {
- IntegralDetailsResponse.IntegralsData detail= new IntegralDetailsResponse.IntegralsData();
+ IntegralsData detail= new IntegralsData();
switch (userIntegralChange.getType()){
case 1:
detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
@@ -94,15 +93,12 @@
}
if (null != recordId){
details = details.stream()
- .filter(obj -> obj instanceof IntegralDetailsResponse.IntegralsData)
+ .filter(obj -> obj instanceof IntegralsData)
.filter(obj -> Objects.equals(obj.getDetailsType(), recordId))
.collect(Collectors.toList());
}
- TAppUser tAppUser = tauMapper.selectById(userIdFormRedis);
- vo.setWpGold(tAppUser.getIntegral());
- vo.setDetailList(details);
}
- return vo;
+ return details;
}
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