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