From 38209c2eceafc11e6d0f3b63a61e91d8d4a642a6 Mon Sep 17 00:00:00 2001 From: java <linlangsur163@163.com> Date: 星期四, 29 六月 2023 18:10:55 +0800 Subject: [PATCH] 课程信息:课时详情中的记录的数据处理 --- cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java | 9 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CancelListClient.java | 20 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java | 20 cloud-server-course/src/main/java/com/dsh/course/web/CancelledClassesController.java | 21 + cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml | 3 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PurchaseRecordVo.java | 2 cloud-server-activity/src/main/java/com/dsh/activity/service/UserCouponService.java | 16 cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 106 ++++ cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java | 3 cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java | 16 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDataDetails.java | 1 cloud-server-course/src/main/java/com/dsh/course/mapper/CancelledClassesMapper.java | 16 cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java | 2 cloud-server-course/src/main/java/com/dsh/course/entity/CancelledClasses.java | 58 ++ cloud-server-activity/src/main/java/com/dsh/activity/feignclient/IntroduceRewardsClient.java | 20 cloud-server-activity/src/main/resources/mapper/CouponMapper.xml | 8 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java | 20 cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java | 46 ++ cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserCouponMapper.java | 16 cloud-server-course/src/main/java/com/dsh/course/feignclient/model/PurchaseRecordVo.java | 6 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java | 6 cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java | 6 cloud-server-course/src/main/java/com/dsh/course/service/impl/CancelledClassesServiceImpl.java | 20 cloud-server-activity/src/main/resources/mapper/IntroduceRewardsMapper.xml | 8 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PurchaseRecordVo.java | 2 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 5 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java | 7 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java | 21 + cloud-server-activity/src/main/java/com/dsh/activity/service/IntroduceRewardsService.java | 16 cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java | 139 ++++++ cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseSessionNameClient.java | 16 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 29 + cloud-server-course/src/main/java/com/dsh/course/feignclient/CancelListClient.java | 20 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java | 20 cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDetailsInsVo.java | 8 cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml | 8 cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java | 5 cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java | 16 cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java | 16 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java | 5 cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java | 16 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/IntroduceRewardsServiceImpl.java | 20 cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml | 3 cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java | 5 cloud-server-activity/src/main/java/com/dsh/activity/entity/UserCoupon.java | 66 +++ cloud-server-course/src/main/java/com/dsh/course/service/CancelledClassesService.java | 16 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 1 cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java | 66 +++ cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java | 2 cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java | 66 +++ cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java | 3 cloud-server-activity/src/main/java/com/dsh/activity/mapper/IntroduceRewardsMapper.java | 16 cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java | 17 cloud-server-activity/src/main/java/com/dsh/activity/entity/IntroduceRewards.java | 78 +++ cloud-server-course/src/main/resources/mapper/CancelledClassesMapper.xml | 5 cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml | 8 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java | 15 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java | 9 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 10 59 files changed, 1,157 insertions(+), 47 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 3850310..102d359 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 @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.TStudent; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.model.vo.classDetails.classInsVo.*; import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; import com.dsh.account.service.TAppUserService; diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java index 02bdfc1..bceb756 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java +++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java @@ -1,14 +1,13 @@ package com.dsh.account.entity; -import java.util.Date; -import java.io.Serializable; - import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; + +import java.util.Date; /** * <p> @@ -127,6 +126,10 @@ * 用户头像 */ private String headImg; + /** + * 添加时间 + */ + private Date insertTime; } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java new file mode 100644 index 0000000..d9e3390 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/IntroduceRewardsClient.java @@ -0,0 +1,21 @@ +package com.dsh.account.feignclient.activity; + + +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Date; +import java.util.List; + +@FeignClient(value = "mb-cloud-activity") +public interface IntroduceRewardsClient { + + + @PostMapping("/introduce/useOfRewards") + public List<PurchaseRecordVo> queryAppUsersofIntroduce(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody List<Integer> userIds); + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java index 78f1816..66a66b2 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java @@ -1,16 +1,19 @@ package com.dsh.account.feignclient.competition; -import com.dsh.account.model.vo.classDetails.classInsVo.PurchaseRecordVo; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestBody; +import java.util.Date; import java.util.List; @FeignClient(value = "mb-cloud-competition") public interface DeductionCompetitionsClient { @PostMapping("/competition/getCompetitionsDetails") - public List<PurchaseRecordVo> getStuSourseList(@RequestParam("appUserId") Integer appUserId); + public List<PurchaseRecordVo> getStuSourseList(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer appUserId); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PurchaseRecordVo.java similarity index 89% copy from cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java copy to cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PurchaseRecordVo.java index bd79f49..c5f2c68 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PurchaseRecordVo.java @@ -1,4 +1,4 @@ -package com.dsh.account.model.vo.classDetails.classInsVo; +package com.dsh.account.feignclient.competition.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CancelListClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CancelListClient.java new file mode 100644 index 0000000..59cf6ea --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CancelListClient.java @@ -0,0 +1,20 @@ +package com.dsh.account.feignclient.course; + +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Date; +import java.util.List; + +@FeignClient(value = "mb-cloud-course") +public interface CancelListClient { + + @PostMapping("/cancelSource/cancelList") + public List<PurchaseRecordVo> getCancelCourseList(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer stuId, + @RequestBody Integer appUserId); + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java index b961032..ef01dd4 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseSessionNameClient.java @@ -1,11 +1,13 @@ package com.dsh.account.feignclient.course; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.feignclient.course.model.StuSessionDetailsVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestBody; +import java.util.Date; import java.util.List; @FeignClient(value = "mb-cloud-course") @@ -13,6 +15,15 @@ @PostMapping("/coursePack/sessionNames") - List<StuSessionDetailsVo> getStuSessionList(@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId); + List<StuSessionDetailsVo> getStuSessionList(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer stuId, + @RequestBody Integer appUserId); + + @PostMapping("/coursePack/paymentCourse") + public List<PurchaseRecordVo> queryCourseDetails(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer stuId, + @RequestBody Integer appUserId); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java index d77da72..11e16f8 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java +++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.account.entity.TAppUser; +import org.apache.ibatis.annotations.Mapper; /** @@ -12,6 +13,7 @@ * @author administrator * @since 2023-06-14 */ +@Mapper public interface TAppUserMapper extends BaseMapper<TAppUser> { } diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java index fda3fc3..587e07b 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java +++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.account.entity.TStudent; +import org.apache.ibatis.annotations.Mapper; /** @@ -12,6 +13,7 @@ * @author administrator * @since 2023-06-14 */ +@Mapper public interface TStudentMapper extends BaseMapper<TStudent> { } diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDataDetails.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDataDetails.java index 3a828f1..4f57652 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDataDetails.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDataDetails.java @@ -1,5 +1,6 @@ package com.dsh.account.model.vo.classDetails.classInsVo; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDetailsInsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDetailsInsVo.java index afac200..1c96459 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDetailsInsVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/ClassDetailsInsVo.java @@ -1,5 +1,6 @@ package com.dsh.account.model.vo.classDetails.classInsVo; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.feignclient.course.model.StuSessionDetailsVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -18,8 +19,6 @@ @ApiModelProperty(value = "学员姓名") private String stuName; - @ApiModelProperty(value = "课时有效期(xxxx-xx-xx)") - private String periodOfValidity; @ApiModelProperty(value = "总学时数") private Integer totalNums; @@ -33,7 +32,10 @@ @ApiModelProperty(value = "课包名称列表") private List<StuSessionDetailsVo> sessionNames; + @ApiModelProperty(value = "已扣课时数") + private Integer deductionClassHours; + @ApiModelProperty(value = "课包列表") - private List<ClassDataDetails> details; + private List<PurchaseRecordVo> details; } 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 b96ad10..68ba9a8 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 @@ -1,20 +1,30 @@ package com.dsh.account.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.account.entity.TAppUser; import com.dsh.account.entity.TStudent; +import com.dsh.account.feignclient.activity.IntroduceRewardsClient; +import com.dsh.account.feignclient.competition.DeductionCompetitionsClient; +import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; +import com.dsh.account.feignclient.course.CancelListClient; import com.dsh.account.feignclient.course.CourseSessionNameClient; import com.dsh.account.feignclient.course.model.StuSessionDetailsVo; +import com.dsh.account.mapper.TAppUserMapper; import com.dsh.account.mapper.TStudentMapper; import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.service.TStudentService; +import com.dsh.account.util.DateTimeHelper; import com.dsh.account.util.ToolUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.util.Date; -import java.util.List; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -29,6 +39,18 @@ @Autowired private CourseSessionNameClient sessionNameClient; + + @Autowired + private DeductionCompetitionsClient dcttClient; + + @Autowired + private CancelListClient cancelcClient; + + @Autowired + private IntroduceRewardsClient idrClient; + + @Autowired + private TAppUserMapper tauMapper; @Override public void addStuOfAppUser(StuDetailsReq stu,Integer appUserId) { @@ -54,17 +76,93 @@ @Override public ClassDetailsInsVo querySessionDetailsDt(Integer userIdFormRedis, Integer lessonId, Integer stuId) { ClassDetailsInsVo insVo = new ClassDetailsInsVo(); - List<StuSessionDetailsVo> stuSessionList = sessionNameClient.getStuSessionList(stuId,userIdFormRedis); + Date localMonthStart = DateTimeHelper.getCurrentMouthStart(); + Date localMonthEnd = DateTimeHelper.getCurrentMouthEnd(); + List<StuSessionDetailsVo> stuSessionList = sessionNameClient.getStuSessionList(localMonthStart,localMonthEnd,stuId,userIdFormRedis); TStudent tStudent = this.baseMapper.selectById(stuId); if (ToolUtil.isNotEmpty(tStudent)){ insVo.setStuId(tStudent.getId()); insVo.setStuName(tStudent.getName()); insVo.setStuImage(tStudent.getHeadImg()); - insVo.setSessionNames(stuSessionList); + List<PurchaseRecordVo> purchaseRecordVoList = new ArrayList<>(); + List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList(localMonthStart,localMonthEnd,userIdFormRedis); + purchaseRecordVoList.addAll(stuSourseList); + List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(localMonthStart,localMonthEnd,stuId,userIdFormRedis); + purchaseRecordVoList.addAll(cancelCourseList); + List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(localMonthStart,localMonthEnd,stuId,userIdFormRedis); + purchaseRecordVoList.addAll(purchaseRecordVos); + List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>() + .eq("referralUserId",userIdFormRedis ) + .between("insertTime",localMonthStart ,localMonthEnd)); + List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); + List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(localMonthStart, localMonthEnd, userIds); + purchaseRecordVoList.addAll(purchaseRecordVos1); + insVo.setSessionNames(stuSessionList); + insVo.setDetails(dealDataOfTime(purchaseRecordVoList)); + + insVo.setTotalNums(0); + insVo.setDeductedNums(0); + insVo.setRemainingNums(0); + insVo.setDeductionClassHours(0); } return insVo; } + + + public static List<PurchaseRecordVo> dealDataOfTime(List<PurchaseRecordVo> purchaseRecords) { + Collections.sort(purchaseRecords, new Comparator<PurchaseRecordVo>() { + @Override + public int compare(PurchaseRecordVo record1, PurchaseRecordVo record2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm"); + Date date1 = null; + Date date2 = null; + try { + date1 = dateFormat.parse(record1.getPurchaseTime()); + date2 = dateFormat.parse(record2.getPurchaseTime()); + } catch (ParseException e) { + e.printStackTrace(); + } + // 倒序排序 + return date2.compareTo(date1); + } + }); + return purchaseRecords; + } + + +// public static List<String> dealDataOfTime(List<String> timeStrings) { +// Collections.sort(timeStrings, new Comparator<String>() { +// @Override +// public int compare(String time1, String time2) { +// String[] parts1 = time1.split(" "); +// String[] parts2 = time2.split(" "); +// String[] dateParts1 = parts1[0].split("-"); +// String[] dateParts2 = parts2[0].split("-"); +// String[] timeParts1 = parts1[1].split(":"); +// String[] timeParts2 = parts2[1].split(":"); +// int month1 = Integer.parseInt(dateParts1[0]); +// int day1 = Integer.parseInt(dateParts1[1]); +// int hour1 = Integer.parseInt(timeParts1[0]); +// int minute1 = Integer.parseInt(timeParts1[1]); +// int month2 = Integer.parseInt(dateParts2[0]); +// int day2 = Integer.parseInt(dateParts2[1]); +// int hour2 = Integer.parseInt(timeParts2[0]); +// int minute2 = Integer.parseInt(timeParts2[1]); +// // 倒序排序 +// if (month1 != month2) { +// return month2 - month1; +// } else if (day1 != day2) { +// return day2 - day1; +// } else if (hour1 != hour2) { +// return hour2 - hour1; +// } else { +// return minute2 - minute1; +// } +// } +// }); +// return timeStrings; +// } } diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java b/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java index b77d912..32dffb1 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java +++ b/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java @@ -1350,6 +1350,23 @@ } /** + * 获取当月结束时23点59分59秒 + * + * @return + */ + public static Date getCurrentMouthEnd() { + Date d = getSystemDate(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(d); + int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + calendar.set(Calendar.DAY_OF_MONTH, lastDay); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + /** * 返回下月的这天 * * @param date diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java new file mode 100644 index 0000000..beaf70d --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java @@ -0,0 +1,46 @@ +package com.dsh.activity.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.activity.entity.IntroduceRewards; +import com.dsh.activity.feignclient.model.PurchaseRecordVo; +import com.dsh.activity.service.IntroduceRewardsService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Api +@CrossOrigin +@RestController +@RequestMapping("") +public class IntroduceRewardsController { + + + @Autowired + private IntroduceRewardsService idrService; + + private final SimpleDateFormat mat = new SimpleDateFormat("MM-dd HH:mm"); + + + @PostMapping("/introduce/useOfRewards") + public List<PurchaseRecordVo> queryAppUsersofIntroduce(@RequestBody Date startTime, @RequestBody Date endTime, @RequestBody List<Integer> userIds){ + List<PurchaseRecordVo> recordVos = new ArrayList<>(); + List<IntroduceRewards> list = idrService.list(new QueryWrapper<IntroduceRewards>() + .ge("startTime",startTime) + .lt("endTime",endTime)); + IntroduceRewards introduceRewards = list.get(0); + userIds.forEach( userId -> { + PurchaseRecordVo recordVo = new PurchaseRecordVo(); + recordVo.setPurchaseAmount("+"+introduceRewards.getGiveClass()); + recordVo.setPurchaseType("介绍有礼"); + recordVos.add(recordVo); + } ); + return recordVos; + } + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java new file mode 100644 index 0000000..3f00b17 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java @@ -0,0 +1,139 @@ +package com.dsh.activity.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * <p> + * 优惠券 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_coupon") +public class Coupon extends Model<Coupon> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 优惠券名称 + */ + private String name; + /** + * 优惠券类型(1=满减券,2=代金券,3=体验券) + */ + private Integer type; + /** + * 优惠券规则JSON + */ + private String content; + /** + * 优惠券说明 + */ + private String illustrate; + /** + * 发放方式(1=积分购买,2=注册赠送,3=自动发券) + */ + private Integer distributionMethod; + /** + * 兑换方式(1=积分,2=积分+现金) + */ + private Integer redemptionMethod; + /** + * 所需现金 + */ + private BigDecimal cash; + /** + * 所属积分 + */ + private BigDecimal integral; + /** + * 用户人群(1=全部用户,2=年度会员,3=已有学员用户) + */ + private Integer userPopulation; + /** + * 发放数量 + */ + private Integer quantityIssued; + /** + * 限领数量 + */ + private Integer pickUpQuantity; + /** + * 开始时间 + */ + private Date startTime; + /** + * 结束时间 + */ + private Date endTime; + /** + * 使用范围(1=全国,2=指定城市,3=指定门店) + */ + private Integer useScope; + /** + * 省 + */ + private String province; + /** + * 省编号 + */ + private String provinceCode; + /** + * 市 + */ + private String city; + /** + * 市编号 + */ + private String cityCode; + /** + * 审核状态(1=待审核,2=已通过,3=已拒绝) + */ + private Integer auditStatus; + /** + * 审核人id + */ + private Integer auditUserId; + /** + * 审核备注 + */ + private String auditRemark; + /** + * 状态(1=未开始,2=已开始,3=已结束,4=已取消) + */ + private Integer status; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer state; + /** + * 添加时间 + */ + private Date insertTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/IntroduceRewards.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/IntroduceRewards.java new file mode 100644 index 0000000..3ba4756 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/IntroduceRewards.java @@ -0,0 +1,78 @@ +package com.dsh.activity.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 介绍奖励 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_introduce_rewards") +public class IntroduceRewards extends Model<IntroduceRewards> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 省 + */ + private String province; + /** + * 省编号 + */ + private String provinceCode; + /** + * 市 + */ + private String city; + /** + * 市编号 + */ + private String cityCode; + /** + * 开始时间 + */ + private Date startTime; + /** + * 结束时间 + */ + private Date endTime; + /** + * 赠送课时 + */ + private Integer giveClass; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer state; + /** + * 添加时间 + */ + private Date insertTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserCoupon.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserCoupon.java new file mode 100644 index 0000000..110f152 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserCoupon.java @@ -0,0 +1,66 @@ +package com.dsh.activity.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 用户优惠券领取记录 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_user_coupon") +public class UserCoupon extends Model<UserCoupon> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 优惠券id + */ + private Integer couponId; + /** + * 用户id + */ + private Integer userId; + /** + * 状态(1=待核销,2=已核销) + */ + private Integer status; + /** + * 核销人员id + */ + private Integer verificationUserId; + /** + * 核销时间 + */ + private Date verificationTime; + /** + * 领取时间 + */ + private Date insertTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java new file mode 100644 index 0000000..1bba930 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java @@ -0,0 +1,66 @@ +package com.dsh.activity.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 用户积分商品领取记录 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_user_points_merchandise") +public class UserPointsMerchandise extends Model<UserPointsMerchandise> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 优惠券id + */ + private Integer pointsMerchandiseId; + /** + * 用户id + */ + private Integer userId; + /** + * 状态(1=待核销,2=已核销) + */ + private Integer status; + /** + * 核销人员id + */ + private Integer verificationUserId; + /** + * 核销时间 + */ + private Date verificationTime; + /** + * 领取时间 + */ + private Date insertTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/IntroduceRewardsClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/IntroduceRewardsClient.java new file mode 100644 index 0000000..7839017 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/IntroduceRewardsClient.java @@ -0,0 +1,20 @@ +package com.dsh.activity.feignclient; + + +import com.dsh.activity.feignclient.model.PurchaseRecordVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Date; +import java.util.List; + +@FeignClient(value = "mb-cloud-activity") +public interface IntroduceRewardsClient { + + @PostMapping("/introduce/useOfRewards") + public List<PurchaseRecordVo> queryAppUsersofIntroduce(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody List<Integer> userIds); + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PurchaseRecordVo.java similarity index 89% rename from cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java rename to cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PurchaseRecordVo.java index bd79f49..dbc16e0 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/PurchaseRecordVo.java @@ -1,4 +1,4 @@ -package com.dsh.account.model.vo.classDetails.classInsVo; +package com.dsh.activity.feignclient.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java new file mode 100644 index 0000000..8fd5d3b --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java @@ -0,0 +1,16 @@ +package com.dsh.activity.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.activity.entity.Coupon; + +/** + * <p> + * 优惠券 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface CouponMapper extends BaseMapper<Coupon> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/IntroduceRewardsMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/IntroduceRewardsMapper.java new file mode 100644 index 0000000..6253a3f --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/IntroduceRewardsMapper.java @@ -0,0 +1,16 @@ +package com.dsh.activity.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.activity.entity.IntroduceRewards; + +/** + * <p> + * 介绍奖励 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface IntroduceRewardsMapper extends BaseMapper<IntroduceRewards> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserCouponMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserCouponMapper.java new file mode 100644 index 0000000..d70eed1 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserCouponMapper.java @@ -0,0 +1,16 @@ +package com.dsh.activity.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.activity.entity.UserCoupon; + +/** + * <p> + * 用户优惠券领取记录 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface UserCouponMapper extends BaseMapper<UserCoupon> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java new file mode 100644 index 0000000..3b5bbf0 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java @@ -0,0 +1,16 @@ +package com.dsh.activity.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.activity.entity.UserPointsMerchandise; + +/** + * <p> + * 用户积分商品领取记录 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface UserPointsMerchandiseMapper extends BaseMapper<UserPointsMerchandise> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java new file mode 100644 index 0000000..c6ee52f --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java @@ -0,0 +1,16 @@ +package com.dsh.activity.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.activity.entity.Coupon; + +/** + * <p> + * 优惠券 服务类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface CouponService extends IService<Coupon> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/IntroduceRewardsService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/IntroduceRewardsService.java new file mode 100644 index 0000000..ec2e0e7 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/IntroduceRewardsService.java @@ -0,0 +1,16 @@ +package com.dsh.activity.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.activity.entity.IntroduceRewards; + +/** + * <p> + * 介绍奖励 服务类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface IntroduceRewardsService extends IService<IntroduceRewards> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/UserCouponService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserCouponService.java new file mode 100644 index 0000000..6a21198 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserCouponService.java @@ -0,0 +1,16 @@ +package com.dsh.activity.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.activity.entity.UserCoupon; + +/** + * <p> + * 用户优惠券领取记录 服务类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface UserCouponService extends IService<UserCoupon> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java new file mode 100644 index 0000000..b8c2f1e --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java @@ -0,0 +1,16 @@ +package com.dsh.activity.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.activity.entity.UserPointsMerchandise; + +/** + * <p> + * 用户积分商品领取记录 服务类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface UserPointsMerchandiseService extends IService<UserPointsMerchandise> { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java new file mode 100644 index 0000000..16aa074 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.activity.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.activity.entity.Coupon; +import com.dsh.activity.mapper.CouponMapper; +import com.dsh.activity.service.CouponService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 优惠券 服务实现类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Service +public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements CouponService { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/IntroduceRewardsServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/IntroduceRewardsServiceImpl.java new file mode 100644 index 0000000..c5f53b7 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/IntroduceRewardsServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.activity.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.activity.entity.IntroduceRewards; +import com.dsh.activity.mapper.IntroduceRewardsMapper; +import com.dsh.activity.service.IntroduceRewardsService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 介绍奖励 服务实现类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Service +public class IntroduceRewardsServiceImpl extends ServiceImpl<IntroduceRewardsMapper, IntroduceRewards> implements IntroduceRewardsService { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java new file mode 100644 index 0000000..d646a5b --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.activity.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.activity.entity.UserCoupon; +import com.dsh.activity.mapper.UserCouponMapper; +import com.dsh.activity.service.UserCouponService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 用户优惠券领取记录 服务实现类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Service +public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCoupon> implements UserCouponService { + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java new file mode 100644 index 0000000..c989bb4 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.activity.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.activity.entity.UserPointsMerchandise; +import com.dsh.activity.mapper.UserPointsMerchandiseMapper; +import com.dsh.activity.service.UserPointsMerchandiseService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 用户积分商品领取记录 服务实现类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Service +public class UserPointsMerchandiseServiceImpl extends ServiceImpl<UserPointsMerchandiseMapper, UserPointsMerchandise> implements UserPointsMerchandiseService { + +} diff --git a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml new file mode 100644 index 0000000..b949ca7 --- /dev/null +++ b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.activity.mapper.CouponMapper"> + + <!-- 开启二级缓存 --> + <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> + +</mapper> diff --git a/cloud-server-activity/src/main/resources/mapper/IntroduceRewardsMapper.xml b/cloud-server-activity/src/main/resources/mapper/IntroduceRewardsMapper.xml new file mode 100644 index 0000000..ebf8e17 --- /dev/null +++ b/cloud-server-activity/src/main/resources/mapper/IntroduceRewardsMapper.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.activity.mapper.IntroduceRewardsMapper"> + + <!-- 开启二级缓存 --> + <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> + +</mapper> diff --git a/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml new file mode 100644 index 0000000..9a81eac --- /dev/null +++ b/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.activity.mapper.UserCouponMapper"> + + <!-- 开启二级缓存 --> + <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> + +</mapper> diff --git a/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml new file mode 100644 index 0000000..c42864e --- /dev/null +++ b/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.activity.mapper.UserPointsMerchandiseMapper"> + + <!-- 开启二级缓存 --> + <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/> + +</mapper> diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index 200a3ea..b08c9ec 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -8,13 +8,11 @@ import com.dsh.competition.service.CompetitionService; import com.dsh.competition.service.UserCompetitionService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -40,7 +38,7 @@ private final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm"); @PostMapping("/competition/getCompetitionsDetails") - public List<PurchaseRecordVo> getStuSourseList(@RequestParam("appUserId") Integer appUserId){ + public List<PurchaseRecordVo> getStuSourseList(@RequestBody Date startTime, @RequestBody Date endTime,@RequestParam("appUserId") Integer appUserId){ List<PurchaseRecordVo> recordVos = new ArrayList<>(); @@ -48,7 +46,7 @@ .eq("payType",3 ) .eq("auditStatus",2)); List<Integer> comIds = list.stream().map(Competition::getId).collect(Collectors.toList()); - List<UserCompetition> userCompetitions = ucttService.queryUsersCompetetions(appUserId,comIds); + List<UserCompetition> userCompetitions = ucttService.queryUsersCompetetions(startTime,endTime,appUserId,comIds); if (userCompetitions.size() > 0){ userCompetitions.forEach(coms ->{ PurchaseRecordVo recordVo = new PurchaseRecordVo(); diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java index d23621b..3a92b86 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java @@ -4,14 +4,18 @@ import com.dsh.competition.feignclient.model.PurchaseRecordVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.Date; import java.util.List; @FeignClient(value = "mb-cloud-competition") public interface DeductionCompetitionsClient { @PostMapping("/competition/getCompetitionsDetails") - public List<PurchaseRecordVo> getStuSourseList(@RequestParam("appUserId") Integer appUserId); + public List<PurchaseRecordVo> getStuSourseList(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestParam("appUserId") Integer appUserId); } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java b/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java index 481c830..f499608 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/mapper/UserCompetitionMapper.java @@ -4,6 +4,7 @@ import com.dsh.competition.entity.UserCompetition; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -17,6 +18,9 @@ public interface UserCompetitionMapper extends BaseMapper<UserCompetition> { - List<UserCompetition> queryUsersCompetetions(@Param("appUserId") Integer appUserId,@Param("comIds") List<Integer> comIds); + List<UserCompetition> queryUsersCompetetions(@Param("startTime") Date startTime, + @Param("endTime") Date endTime , + @Param("appUserId") Integer appUserId, + @Param("comIds") List<Integer> comIds); } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java index 386cfad..b4fcdb5 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/UserCompetitionService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.competition.entity.UserCompetition; +import java.util.Date; import java.util.List; /** @@ -16,6 +17,6 @@ public interface UserCompetitionService extends IService<UserCompetition> { - List<UserCompetition> queryUsersCompetetions(Integer appUserId, List<Integer> comIds); + List<UserCompetition> queryUsersCompetetions(Date startTime, Date endTime ,Integer appUserId, List<Integer> comIds); } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java index 2a8d208..8fd1b12 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/UserCompetitionServiceImpl.java @@ -6,6 +6,7 @@ import com.dsh.competition.service.UserCompetitionService; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; /** @@ -21,7 +22,7 @@ @Override - public List<UserCompetition> queryUsersCompetetions(Integer appUserId, List<Integer> comIds) { - return this.baseMapper.queryUsersCompetetions(appUserId,comIds); + public List<UserCompetition> queryUsersCompetetions(Date startTime, Date endTime , Integer appUserId, List<Integer> comIds) { + return this.baseMapper.queryUsersCompetetions(startTime,endTime,appUserId,comIds); } } diff --git a/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml b/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml index aa933cb..93a7fcc 100644 --- a/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml +++ b/cloud-server-competition/src/main/resources/mapper/UserCompetitionMapper.xml @@ -30,6 +30,9 @@ #{item} </foreach> </if> + <if test="startTime != null and endTime != null"> + and (insertTime between #{startTime} and #{endTime}) + </if> </select> </mapper> diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java new file mode 100644 index 0000000..6bbf48a --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java @@ -0,0 +1,66 @@ +package com.dsh.course.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.course.entity.CancelledClasses; +import com.dsh.course.entity.TCoursePackagePayment; +import com.dsh.course.feignclient.model.PurchaseRecordVo; +import com.dsh.course.service.CancelledClassesService; +import com.dsh.course.service.TCoursePackagePaymentService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Api +@CrossOrigin +@RestController +@RequestMapping("") +public class CancelSourceController { + + + @Autowired + private CancelledClassesService caceService; + + + @Autowired + private TCoursePackagePaymentService tcppService; + + private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); + + + /** + * 获取课包对应的消费记录 + * @param stuId 学员id + * @param appUserId 用户id + * @return + */ + @PostMapping("/cancelSource/cancelList") + public List<PurchaseRecordVo> getCancelCourseList(@RequestBody Date startTime,@RequestBody Date endTime,@RequestBody Integer stuId,@RequestBody Integer appUserId){ + List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>(); + + List<TCoursePackagePayment> tCoursePackagePayments = tcppService.queryAllCoursePackage(startTime,endTime,stuId, appUserId); + List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList()); + + List<CancelledClasses> list = caceService.list(new QueryWrapper<CancelledClasses>() + .in("coursePackageId", coursePackageIds) + .between("insertTime",startTime,endTime)); + if (list.size() > 0){ + list.forEach( canse -> { + PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo(); + purchaseRecordVo.setPurchaseTime(format.format(canse.getInsertTime())); + purchaseRecordVo.setPurchaseType(""); + purchaseRecordVo.setPurchaseAmount("-"+canse.getCancelledClassesNumber()); + purchaseRecordVos.add(purchaseRecordVo); + }); + } + return purchaseRecordVos; + } + + +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java index 57b99b2..624828b 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java @@ -9,10 +9,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @@ -30,7 +27,7 @@ @PostMapping("/course/queryList") - public List<ExerciseVideo> queryStuCourseAfterVideos(List<Integer> courseIds){ + public List<ExerciseVideo> queryStuCourseAfterVideos(@RequestBody List<Integer> courseIds){ List<ExerciseVideo> videos = new ArrayList<>(); List<TCourse> list = courseService.list(new QueryWrapper<TCourse>() .in("id", courseIds) 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 a40a5aa..498f6cb 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 @@ -5,6 +5,7 @@ import com.dsh.course.entity.TCoursePackage; import com.dsh.course.entity.TCoursePackagePayment; import com.dsh.course.feignclient.model.CourseOfStoreVo; +import com.dsh.course.feignclient.model.PurchaseRecordVo; import com.dsh.course.feignclient.model.StuCourseResp; import com.dsh.course.feignclient.model.StuSessionDetailsVo; import com.dsh.course.service.TCoursePackagePaymentService; @@ -16,7 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -35,6 +38,8 @@ @Autowired private TCoursePackageService tcpService; + private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); + /** * 获取 没有学员信息的图片配置 * @param stuId 学员id @@ -43,7 +48,7 @@ @PostMapping("/coursePack/queryPayment") public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId,@RequestBody Integer appUserId){ List<StuCourseResp> resps = new ArrayList<>(); - List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(stuId,appUserId); + List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,stuId,appUserId); if (byUserId.size() > 0 ){ for (TCoursePackagePayment tCoursePackagePayment : byUserId) { TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); @@ -86,9 +91,9 @@ * 课程名称列表 */ @PostMapping("/coursePack/sessionNames") - public List<StuSessionDetailsVo> getStuSessionList(@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId){ + public List<StuSessionDetailsVo> getStuSessionList(@RequestBody Date startTime, @RequestBody Date endTime, @RequestBody Integer stuId, @RequestBody Integer appUserId){ List<StuSessionDetailsVo> detailsVos = new ArrayList<>(); - List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(stuId,appUserId); + List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(startTime,endTime,stuId,appUserId); if (byUserId.size() > 0){ List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>() @@ -104,4 +109,22 @@ } return detailsVos; } + + @PostMapping("/coursePack/paymentCourse") + public List<PurchaseRecordVo> queryCourseDetails(@RequestBody Date startTime, @RequestBody Date endTime,@RequestBody Integer stuId, @RequestBody Integer appUserId) { + List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>(); + List<TCoursePackagePayment> coursePackage = packagePaymentService.queryAllCoursePackage(startTime,endTime,stuId, appUserId); + if (coursePackage.size() > 0 ){ + coursePackage.forEach( cspackage -> { + PurchaseRecordVo recordVo = new PurchaseRecordVo(); + recordVo.setPurchaseAmount("+"+cspackage.getClassHours()); + recordVo.setPurchaseTime(format.format(cspackage.getInsertTime())); + recordVo.setPurchaseType("购买课包"); + purchaseRecordVos.add(recordVo); + }); + } + return purchaseRecordVos; + } + + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/CancelledClasses.java b/cloud-server-course/src/main/java/com/dsh/course/entity/CancelledClasses.java new file mode 100644 index 0000000..a5d4298 --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/CancelledClasses.java @@ -0,0 +1,58 @@ +package com.dsh.course.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * 课包消课记录 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_cancelled_classes") +public class CancelledClasses extends Model<CancelledClasses> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 课包id + */ + private Integer coursePackageId; + /** + * 消课凭证 + */ + private String voucher; + /** + * 消课数量 + */ + private Integer cancelledClassesNumber; + /** + * 添加时间 + */ + private Date insertTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CancelListClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CancelListClient.java new file mode 100644 index 0000000..cb7ef3e --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CancelListClient.java @@ -0,0 +1,20 @@ +package com.dsh.course.feignclient; + +import com.dsh.course.feignclient.model.PurchaseRecordVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Date; +import java.util.List; + +@FeignClient(value = "mb-cloud-course") +public interface CancelListClient { + + @PostMapping("/cancelSource/cancelList") + public List<PurchaseRecordVo> getCancelCourseList(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer stuId, + @RequestBody Integer appUserId); + +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java index 2111f68..aeadaab 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java @@ -4,6 +4,7 @@ import com.dsh.course.feignclient.model.ExerciseVideo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -11,5 +12,5 @@ public interface CourseListClient { @PostMapping("/course/queryList") - List<ExerciseVideo> queryStuCourseAfterVideos(List<Integer> courseIds); + List<ExerciseVideo> queryStuCourseAfterVideos(@RequestBody List<Integer> courseIds); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseSessionNameClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseSessionNameClient.java index 8bc5550..8f71d73 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseSessionNameClient.java +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseSessionNameClient.java @@ -1,11 +1,13 @@ package com.dsh.course.feignclient; +import com.dsh.course.feignclient.model.PurchaseRecordVo; import com.dsh.course.feignclient.model.StuSessionDetailsVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestBody; +import java.util.Date; import java.util.List; @FeignClient(value = "mb-cloud-course") @@ -13,6 +15,16 @@ @PostMapping("/coursePack/sessionNames") - List<StuSessionDetailsVo> getStuSessionList(@RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId); + List<StuSessionDetailsVo> getStuSessionList(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer stuId, + @RequestBody Integer appUserId); + + + @PostMapping("/coursePack/paymentCourse") + public List<PurchaseRecordVo> queryCourseDetails(@RequestBody Date startTime, + @RequestBody Date endTime, + @RequestBody Integer stuId, + @RequestBody Integer appUserId); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/PurchaseRecordVo.java similarity index 64% copy from cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java copy to cloud-server-course/src/main/java/com/dsh/course/feignclient/model/PurchaseRecordVo.java index bd79f49..6bcc31b 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/classInsVo/PurchaseRecordVo.java +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/PurchaseRecordVo.java @@ -1,4 +1,4 @@ -package com.dsh.account.model.vo.classDetails.classInsVo; +package com.dsh.course.feignclient.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,10 +14,10 @@ @ApiModelProperty(value = "类型名称") private String purchaseType; - @ApiModelProperty(value = "类型变动时间 例如 06-29 10:48") + @ApiModelProperty(value = "类型变动时间") private String purchaseTime; - @ApiModelProperty(value = "类型涉及金额 例如 +100 -50") + @ApiModelProperty(value = "类型涉及金额") private String purchaseAmount; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/CancelledClassesMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/CancelledClassesMapper.java new file mode 100644 index 0000000..0b453c8 --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/CancelledClassesMapper.java @@ -0,0 +1,16 @@ +package com.dsh.course.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.course.entity.CancelledClasses; + +/** + * <p> + * 课包消课记录 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface CancelledClassesMapper extends BaseMapper<CancelledClasses> { + +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java index b0c9d4f..884f2ab 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -16,7 +17,9 @@ */ public interface TCoursePackagePaymentMapper extends BaseMapper<TCoursePackagePayment> { - List<TCoursePackagePayment> queryAllCoursePackage(@Param("stuId") Integer stuId, + List<TCoursePackagePayment> queryAllCoursePackage(@Param("startTime")Date startTime, + @Param("endTime")Date endTime , + @Param("stuId") Integer stuId, @Param("appUserId") Integer appUserId); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/CancelledClassesService.java b/cloud-server-course/src/main/java/com/dsh/course/service/CancelledClassesService.java new file mode 100644 index 0000000..c2c307c --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/service/CancelledClassesService.java @@ -0,0 +1,16 @@ +package com.dsh.course.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.course.entity.CancelledClasses; + +/** + * <p> + * 课包消课记录 服务类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +public interface CancelledClassesService extends IService<CancelledClasses> { + +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java index 106bdb0..41f170d 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java @@ -1,8 +1,9 @@ package com.dsh.course.service; -import com.dsh.course.entity.TCoursePackagePayment; import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.course.entity.TCoursePackagePayment; +import java.util.Date; import java.util.List; /** @@ -15,6 +16,6 @@ */ public interface TCoursePackagePaymentService extends IService<TCoursePackagePayment> { - List<TCoursePackagePayment> queryAllCoursePackage(Integer stuId,Integer appUserId); + List<TCoursePackagePayment> queryAllCoursePackage(Date startTime, Date endTime ,Integer stuId, Integer appUserId); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CancelledClassesServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CancelledClassesServiceImpl.java new file mode 100644 index 0000000..648abbc --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CancelledClassesServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.course.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.course.entity.CancelledClasses; +import com.dsh.course.mapper.CancelledClassesMapper; +import com.dsh.course.service.CancelledClassesService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 课包消课记录 服务实现类 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Service +public class CancelledClassesServiceImpl extends ServiceImpl<CancelledClassesMapper, CancelledClasses> implements CancelledClassesService { + +} 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 f33f1f3..77c0928 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 @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; /** @@ -20,7 +21,7 @@ public class TCoursePackagePaymentServiceImpl extends ServiceImpl<TCoursePackagePaymentMapper, TCoursePackagePayment> implements TCoursePackagePaymentService { @Override - public List<TCoursePackagePayment> queryAllCoursePackage(Integer stuId,Integer appUserId) { - return this.baseMapper.queryAllCoursePackage(stuId,appUserId); + public List<TCoursePackagePayment> queryAllCoursePackage(Date startTime, Date endTime , Integer stuId, Integer appUserId) { + return this.baseMapper.queryAllCoursePackage(startTime,endTime,stuId,appUserId); } } diff --git a/cloud-server-course/src/main/java/com/dsh/course/web/CancelledClassesController.java b/cloud-server-course/src/main/java/com/dsh/course/web/CancelledClassesController.java new file mode 100644 index 0000000..87c1bd5 --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/web/CancelledClassesController.java @@ -0,0 +1,21 @@ +package com.dsh.course.web; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 课包消课记录 前端控制器 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@RestController +@RequestMapping("/cancelled-classes") +public class CancelledClassesController { + +} + diff --git a/cloud-server-course/src/main/resources/mapper/CancelledClassesMapper.xml b/cloud-server-course/src/main/resources/mapper/CancelledClassesMapper.xml new file mode 100644 index 0000000..14a46b0 --- /dev/null +++ b/cloud-server-course/src/main/resources/mapper/CancelledClassesMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dsh.course.mapper.CancelledClassesMapper"> + +</mapper> diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml index f49a1c7..00b7a4d 100644 --- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml @@ -50,6 +50,9 @@ <if test="appUserId != null"> and appUserId = #{appUserId} </if> + <if test="startTime != null and endTime != null"> + and (insertTime between #{startTime} and #{endTime}) + </if> </select> </mapper> -- Gitblit v1.7.1