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