From add48c8930d02d58046e89e78b0530c2d5fce32d Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期五, 30 六月 2023 18:34:15 +0800
Subject: [PATCH] 课程信息:课时详情中续课数据处理
---
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CouponStuAvailableVo.java | 26 +
cloud-server-activity/src/main/java/com/dsh/activity/entity/JSONConpon.java | 43 ++
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 95 ++++++
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml | 5
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseHoursType.java | 16 +
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 32 ++
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseHoursType.java | 16 +
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java | 12
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 87 +++--
cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java | 73 ++++
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java | 2
cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java | 6
cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java | 5
cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java | 5
cloud-server-activity/src/main/java/com/dsh/activity/service/CouponService.java | 4
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailOfCourse.java | 16 +
cloud-server-course/src/main/java/com/dsh/course/util/StrUtils.java | 13
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java | 17 +
cloud-server-activity/src/main/resources/mapper/CouponMapper.xml | 12
cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java | 3
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 56 +++
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java | 6
cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java | 2
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java | 4
cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java | 33 ++
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponStuAvailableVo.java | 26 +
cloud-server-activity/src/main/java/com/dsh/activity/model/ConponJsonRuleModel.java | 22 +
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java | 6
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StudentOfCourseVo.java | 46 +++
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseDetailsOfContinuationResp.java | 59 +++
cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java | 14
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java | 8
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 4
cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailOfCourse.java | 13
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java | 17 +
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java | 14
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StudentOfCourseVo.java | 45 +++
38 files changed, 801 insertions(+), 64 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 102d359..205d703 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
@@ -5,7 +5,9 @@
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.CourseDetailsOfContinuationResp;
import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
+import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo;
import com.dsh.account.service.TAppUserService;
import com.dsh.account.service.TStudentService;
import com.dsh.account.util.DateUtil;
@@ -191,8 +193,7 @@
if(null == userIdFormRedis){
return ResultUtil.tokenErr();
}
-
- return ResultUtil.success();
+ return ResultUtil.success(istuService.queryDeduRecordDetails(timeRequest,userIdFormRedis));
}catch (Exception e){
return ResultUtil.runErr();
}
@@ -204,11 +205,58 @@
*/
@ResponseBody
@PostMapping("/base/startCource/renewal")
- @ApiOperation(value = "课时详情-续课", tags = {"APP-开始上课"})
+ @ApiOperation(value = "课时详情-续课课包详情", tags = {"APP-开始上课"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<?> renewalOfCourses(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){
+ public ResultUtil<CourseDetailsOfContinuationResp> renewalOfCourses(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){
+ try {
+ Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request);
+ if(null == userIdFormRedis){
+ return ResultUtil.tokenErr();
+ }
+ return ResultUtil.success(istuService.queryStuOfCourseDetails(lessonId,stuId,userIdFormRedis));
+ }catch (Exception e){
+ return ResultUtil.runErr();
+ }
+
+ }
+
+
+ /**
+ * 课时详情-续课
+ */
+ @ResponseBody
+ @PostMapping("/base/startCource/conponList")
+ @ApiOperation(value = "课时详情-选择优惠券", tags = {"APP-开始上课"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<List<CouponStuAvailableVo>> queryCouponList(HttpServletRequest request){
+ try {
+ Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(request);
+ if(null == userIdFormRedis){
+ return ResultUtil.tokenErr();
+ }
+ return ResultUtil.success(istuService.queryStuOfConponDetails(userIdFormRedis));
+ }catch (Exception e){
+ return ResultUtil.runErr();
+ }
+
+ }
+
+
+
+ /**
+ * 课时详情-续课
+ */
+ @ResponseBody
+ @PostMapping("/base/startCource/payment")
+ @ApiOperation(value = "课时详情-支付", tags = {"APP-开始上课"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<?> continuationOperation(@RequestBody Integer lessonId, @RequestBody Integer stuId, HttpServletRequest request){
try {
return ResultUtil.success();
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java
new file mode 100644
index 0000000..f1192fb
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java
@@ -0,0 +1,17 @@
+package com.dsh.account.feignclient.activity;
+
+import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+@FeignClient(value = "mb-cloud-activity")
+public interface UserConponClient {
+
+
+ @PostMapping("/userConpon/getStuOfConpons")
+ public List<CouponStuAvailableVo> queryUserWithConponList(@RequestBody Integer appUserId);
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index 28c10d6..7b0264c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -3,6 +3,7 @@
import com.dsh.account.feignclient.course.model.CourseOfStoreVo;
import com.dsh.account.feignclient.course.model.StuCourseResp;
import com.dsh.account.feignclient.course.model.StuWithCoursesListVo;
+import com.dsh.account.feignclient.course.model.StudentOfCourseVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -23,4 +24,9 @@
@PostMapping("/coursePack/stuOfCourses")
StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody Integer stuId,
@RequestBody Integer appUserId);
+
+ @PostMapping("/coursePack/continuingCourse")
+ StudentOfCourseVo getStudentCourse(@RequestBody Integer courseId,
+ @RequestBody Integer stuId,
+ @RequestBody Integer appUserId);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StudentOfCourseVo.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StudentOfCourseVo.java
new file mode 100644
index 0000000..23c339b
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StudentOfCourseVo.java
@@ -0,0 +1,46 @@
+package com.dsh.account.feignclient.course.model;
+
+
+import com.dsh.account.model.vo.sourceDetail.CourseHoursType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class StudentOfCourseVo {
+
+ @ApiModelProperty(value = "课包id")
+ private Integer coursePackageId;
+
+ @ApiModelProperty(value = "课包封面图")
+ private String packageImg;
+
+ @ApiModelProperty(value = "课包名称")
+ private String courseName;
+
+ @ApiModelProperty(value = "授课老师/教练")
+ private Integer coachId;
+
+ @ApiModelProperty(value = "上课周 例如:每周二")
+ private String courseWeek;
+
+ @ApiModelProperty(value = "上课时间:例如 14:00-16:00")
+ private String courseTime;
+
+ @ApiModelProperty(value = "课时列表: 50 70 90")
+ private List<CourseHoursType> typeList;
+
+ @ApiModelProperty(value = "支付价格")
+ private double amount;
+
+ @ApiModelProperty(value = "会员价")
+ private double vipAmount;
+
+ @ApiModelProperty(value = "玩湃币")
+ private Integer wpGold;
+
+ @ApiModelProperty(value = "门店id")
+ private Integer storeId;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java
new file mode 100644
index 0000000..09f6ba7
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java
@@ -0,0 +1,14 @@
+package com.dsh.account.feignclient.other;
+
+import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = "mb-cloud-other")
+public interface StoreClient {
+
+
+ @PostMapping("/storeDetail/courseOfSto")
+ public StoreDetailOfCourse getCourseOfStore(@RequestBody Integer storeId);
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailOfCourse.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailOfCourse.java
new file mode 100644
index 0000000..1abc5c7
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailOfCourse.java
@@ -0,0 +1,16 @@
+package com.dsh.account.feignclient.other.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class StoreDetailOfCourse {
+
+ @ApiModelProperty(value = "门店名称")
+ String storeName;
+
+ @ApiModelProperty(value = "门店地址")
+ String storeAddr;
+
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CouponStuAvailableVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CouponStuAvailableVo.java
new file mode 100644
index 0000000..368cf82
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CouponStuAvailableVo.java
@@ -0,0 +1,26 @@
+package com.dsh.account.model.vo.sourceDetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CouponStuAvailableVo {
+
+ @ApiModelProperty(value = "券id")
+ private Integer conponId;
+
+ @ApiModelProperty(value = "券名称")
+ private String conponName;
+
+ @ApiModelProperty(value = "券类型 1满减券(取 条件金额+扣减金额) 2代金券(取 扣减金额)")
+ private Integer conponType;
+
+ @ApiModelProperty(value = "条件金额")
+ private double conditionalAmount;
+
+ @ApiModelProperty(value = "扣减金额")
+ private double amount;
+
+ @ApiModelProperty(value = "有效期至 yyyy-MM-dd")
+ private String lifespan;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseDetailsOfContinuationResp.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseDetailsOfContinuationResp.java
new file mode 100644
index 0000000..7fc190b
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseDetailsOfContinuationResp.java
@@ -0,0 +1,59 @@
+package com.dsh.account.model.vo.sourceDetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CourseDetailsOfContinuationResp {
+
+ @ApiModelProperty(value = "课包id")
+ private Integer coursePackageId;
+
+ @ApiModelProperty(value = "学员id")
+ private Integer stuId;
+
+ @ApiModelProperty(value = "课包封面图")
+ private String packageImg;
+
+ @ApiModelProperty(value = "课包名称")
+ private String courseName;
+
+ @ApiModelProperty(value = "授课老师")
+ private String teacherName;
+
+ @ApiModelProperty(value = "上课周 例如:每周二")
+ private String courseWeek;
+
+ @ApiModelProperty(value = "上课时间:例如 14:00-16:00")
+ private String courseTime;
+
+ @ApiModelProperty(value = "门店名称")
+ private String storeName;
+
+ @ApiModelProperty(value = "门店地址")
+ private String storeAddr;
+
+ @ApiModelProperty(value = "课时列表: 50 70 90")
+ private List<CourseHoursType> typeList;
+
+ @ApiModelProperty(value = "学员姓名")
+ private String stuName;
+
+ @ApiModelProperty(value = "学员电话")
+ private String stuPhone;
+
+ @ApiModelProperty(value = "学员年龄")
+ private Integer stuAge;
+
+ @ApiModelProperty(value = "支付价格")
+ private double amount;
+
+ @ApiModelProperty(value = "会员价")
+ private double vipAmount;
+
+ @ApiModelProperty(value = "玩湃币")
+ private double wpGold;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseHoursType.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseHoursType.java
new file mode 100644
index 0000000..8b75198
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/CourseHoursType.java
@@ -0,0 +1,16 @@
+package com.dsh.account.model.vo.sourceDetail;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CourseHoursType {
+
+ @ApiModelProperty(value = "课时id")
+ private Integer courseConfigId;
+
+ @ApiModelProperty(value = "课时数")
+ private Integer courseHourNums;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
index e91a56a..6d26c36 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
@@ -12,10 +12,10 @@
@ApiModelProperty(value = "课包id", dataType = "int")
private Integer lessonId;
- @ApiModelProperty(value = "开始时间", dataType = "string")
+ @ApiModelProperty(value = "开始时间 格式:yyyy-MM", dataType = "string")
private String startTime;
- @ApiModelProperty(value = "结束时间", dataType = "string")
+ @ApiModelProperty(value = "结束时间 格式:yyyy-MM", dataType = "string")
private String endTime;
@ApiModelProperty(value = "类型:1购买课包 2消费扣除 3报名赛事 4介绍有礼 5全部", dataType = "int")
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
index b5b37db..df76367 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
@@ -2,8 +2,14 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.account.entity.TStudent;
+import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo;
import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq;
+import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo;
+import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp;
+import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
+
+import java.util.List;
/**
* <p>
@@ -19,4 +25,10 @@
ClassDetailsInsVo querySessionDetailsDt(Integer userIdFormRedis, Integer lessonId, Integer stuId);
+ List<PurchaseRecordVo> queryDeduRecordDetails(RecordTimeRequest timeRequest,Integer appUserId);
+
+ List<CouponStuAvailableVo> queryStuOfConponDetails(Integer appUserId);
+
+ CourseDetailsOfContinuationResp queryStuOfCourseDetails(Integer lessonId, Integer stuId, Integer appUserId);
+
}
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 5be7f68..d632403 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
@@ -5,6 +5,7 @@
import com.dsh.account.entity.TAppUser;
import com.dsh.account.entity.TStudent;
import com.dsh.account.feignclient.activity.IntroduceRewardsClient;
+import com.dsh.account.feignclient.activity.UserConponClient;
import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
import com.dsh.account.feignclient.course.CancelListClient;
@@ -13,10 +14,16 @@
import com.dsh.account.feignclient.course.CourseSessionNameClient;
import com.dsh.account.feignclient.course.model.StuSessionDetailsVo;
import com.dsh.account.feignclient.course.model.StuWithCoursesListVo;
+import com.dsh.account.feignclient.course.model.StudentOfCourseVo;
+import com.dsh.account.feignclient.other.StoreClient;
+import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
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.model.vo.sourceDetail.CouponStuAvailableVo;
+import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp;
+import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
import com.dsh.account.service.TStudentService;
import com.dsh.account.util.DateTimeHelper;
import com.dsh.account.util.ToolUtil;
@@ -57,6 +64,12 @@
@Autowired
private CoursePaymentClient couPayClient;
+
+ @Autowired
+ private UserConponClient userCClient;
+
+ @Autowired
+ private StoreClient storeClient;
@Autowired
private TAppUserMapper tauMapper;
@@ -121,6 +134,47 @@
return insVo;
}
+ @Override
+ public List<PurchaseRecordVo> queryDeduRecordDetails(RecordTimeRequest timeRequest,Integer appUserId) {
+ List<PurchaseRecordVo> purchaseRecordVoList = new ArrayList<>();
+ Date startTime = DateTimeHelper.getCurrentIdetMouthStart(timeRequest.getStartTime());
+ Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(timeRequest.getEndTime());
+
+ List<PurchaseRecordVo> stuSourseList = dcttClient.getStuSourseList(startTime,endTime,appUserId);
+ purchaseRecordVoList.addAll(stuSourseList);
+ List<PurchaseRecordVo> cancelCourseList = cancelcClient.getCancelCourseList(startTime,endTime,timeRequest.getStuId(),appUserId);
+ purchaseRecordVoList.addAll(cancelCourseList);
+ List<PurchaseRecordVo> purchaseRecordVos = sessionNameClient.queryCourseDetails(startTime,endTime,timeRequest.getStuId(),appUserId);
+ purchaseRecordVoList.addAll(purchaseRecordVos);
+ List<TAppUser> tAppUsers = tauMapper.selectList(new QueryWrapper<TAppUser>()
+ .eq("referralUserId",appUserId )
+ .between("insertTime",timeRequest.getStartTime() ,timeRequest.getEndTime()));
+ List<Integer> userIds = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList());
+ List<PurchaseRecordVo> purchaseRecordVos1 = idrClient.queryAppUsersofIntroduce(startTime, endTime, userIds);
+ purchaseRecordVoList.addAll(purchaseRecordVos1);
+
+ purchaseRecordVoList = dealDataOfTime(purchaseRecordVoList);
+ return purchaseRecordVoList;
+ }
+
+ @Override
+ public List<CouponStuAvailableVo> queryStuOfConponDetails(Integer appUserId) {
+ List<CouponStuAvailableVo> availableVos = new ArrayList<>();
+ availableVos = userCClient.queryUserWithConponList(appUserId);
+ return availableVos;
+ }
+
+ @Override
+ public CourseDetailsOfContinuationResp queryStuOfCourseDetails(Integer lessonId, Integer stuId, Integer appUserId) {
+ CourseDetailsOfContinuationResp resp = new CourseDetailsOfContinuationResp();
+
+ StudentOfCourseVo studentCourse = couPayClient.getStudentCourse(lessonId,stuId,appUserId);
+
+ StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(studentCourse.getStoreId());
+
+ return resp;
+ }
+
public static List<PurchaseRecordVo> dealDataOfTime(List<PurchaseRecordVo> purchaseRecords) {
Collections.sort(purchaseRecords, new Comparator<PurchaseRecordVo>() {
@@ -142,37 +196,4 @@
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 32dffb1..03bb3d3 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
@@ -2,9 +2,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
+import java.time.*;
import java.util.*;
@@ -1350,6 +1348,20 @@
}
/**
+ * 获取指定月份开始时0点0分0秒
+ * @param input 输入的时间,"yyyy-MM"
+ * @return
+ */
+ public static Date getCurrentIdetMouthStart(String input) {
+ // 解析年月字符串
+ YearMonth yearMonth = YearMonth.parse(input);
+ // 获取月份的开始时间(月初0点)
+ LocalDate startOfMonth = yearMonth.atDay(1);
+ LocalDateTime startDateTime = startOfMonth.atTime(LocalTime.MIN);
+ return Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant());
+ }
+
+ /**
* 获取当月结束时23点59分59秒
*
* @return
@@ -1366,6 +1378,21 @@
return calendar.getTime();
}
+
+ /**
+ * 获取指定月份结束时23点59分59秒
+ * @param input 输入的时间,"yyyy-MM"
+ * @return
+ */
+ public static Date getCurrentIdeaMouthEnd(String input) {
+ // 解析年月字符串
+ YearMonth yearMonth = YearMonth.parse(input);
+ // 获取月份的结束时间(月末23:59:59秒)
+ LocalDate endOfMonth = yearMonth.atEndOfMonth();
+ LocalDateTime endDateTime = endOfMonth.atTime(23, 59, 59);
+ return Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant());
+ }
+
/**
* 返回下月的这天
*
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java
new file mode 100644
index 0000000..f988de1
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserConponController.java
@@ -0,0 +1,73 @@
+package com.dsh.activity.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.activity.entity.Coupon;
+import com.dsh.activity.entity.UserCoupon;
+import com.dsh.activity.feignclient.model.CouponStuAvailableVo;
+import com.dsh.activity.service.CouponService;
+import com.dsh.activity.service.UserCouponService;
+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.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Api
+@CrossOrigin
+@RestController
+@RequestMapping("")
+public class UserConponController {
+
+ @Autowired
+ private UserCouponService uconService;
+
+ @Autowired
+ private CouponService cService;
+
+ private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
+
+ @PostMapping("/userConpon/getStuOfConpons")
+ public List<CouponStuAvailableVo> queryUserWithConponList(@RequestBody Integer appUserId){
+
+ List<CouponStuAvailableVo> availableVos = new ArrayList<>();
+
+ List<UserCoupon> list = uconService.list(new QueryWrapper<UserCoupon>()
+ .eq("userId", appUserId)
+ .eq("status",1));
+ if (list.size() > 0){
+ List<Integer> collect = list.stream().map(UserCoupon::getCouponId).collect(Collectors.toList());
+ List<Coupon> conponList = cService.list(new QueryWrapper<Coupon>()
+ .in("id", collect));
+ for (Coupon coupon : conponList) {
+ CouponStuAvailableVo availableVo = new CouponStuAvailableVo();
+ availableVo.setConponId(coupon.getId());
+ availableVo.setConponName(coupon.getName());
+ availableVo.setConponType(coupon.getType());
+ Map<String,Object> conponRuleMap = cService.queryConponRuleOfJson(coupon.getId());
+ switch (coupon.getType()){
+ case 1:
+ Object conditionalAmount = conponRuleMap.get("conditionalAmount");
+ Object deductionAmount = conponRuleMap.get("deductionAmount");
+ availableVo.setConditionalAmount((double) conditionalAmount);
+ availableVo.setAmount((double) deductionAmount);
+ break;
+ case 2:
+ Object amount = conponRuleMap.get("deductionAmount");
+ availableVo.setAmount((double)amount);
+ break;
+ default:
+ break;
+ }
+ availableVo.setLifespan(format.format(coupon.getEndTime()));
+ availableVos.add(availableVo);
+ }
+ }
+ return availableVos;
+ }
+
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/JSONConpon.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/JSONConpon.java
new file mode 100644
index 0000000..dced410
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/JSONConpon.java
@@ -0,0 +1,43 @@
+package com.dsh.activity.entity;
+
+public class JSONConpon {
+
+ double conditionalAmount;
+
+ double deductionAmount;
+
+ String experienceName;
+
+ public JSONConpon(double conditionalAmount, double deductionAmount, String experienceName) {
+ this.conditionalAmount = conditionalAmount;
+ this.deductionAmount = deductionAmount;
+ this.experienceName = experienceName;
+ }
+
+ public JSONConpon() {
+ }
+
+ public double getConditionalAmount() {
+ return conditionalAmount;
+ }
+
+ public void setConditionalAmount(double conditionalAmount) {
+ this.conditionalAmount = conditionalAmount;
+ }
+
+ public double getDeductionAmount() {
+ return deductionAmount;
+ }
+
+ public void setDeductionAmount(double deductionAmount) {
+ this.deductionAmount = deductionAmount;
+ }
+
+ public String getExperienceName() {
+ return experienceName;
+ }
+
+ public void setExperienceName(String experienceName) {
+ this.experienceName = experienceName;
+ }
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java
new file mode 100644
index 0000000..d200c9d
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java
@@ -0,0 +1,17 @@
+package com.dsh.activity.feignclient;
+
+import com.dsh.activity.feignclient.model.CouponStuAvailableVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+@FeignClient(value = "mb-cloud-activity")
+public interface UserConponClient {
+
+
+ @PostMapping("/userConpon/getStuOfConpons")
+ public List<CouponStuAvailableVo> queryUserWithConponList(@RequestBody Integer appUserId);
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponStuAvailableVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponStuAvailableVo.java
new file mode 100644
index 0000000..a34074f
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponStuAvailableVo.java
@@ -0,0 +1,26 @@
+package com.dsh.activity.feignclient.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CouponStuAvailableVo {
+
+ @ApiModelProperty(value = "券id")
+ private Integer conponId;
+
+ @ApiModelProperty(value = "券名称")
+ private String conponName;
+
+ @ApiModelProperty(value = "券类型 1满减券(取 条件金额+扣减金额) 2代金券(取 扣减金额)")
+ private Integer conponType;
+
+ @ApiModelProperty(value = "条件金额")
+ private double conditionalAmount;
+
+ @ApiModelProperty(value = "扣减金额")
+ private double amount;
+
+ @ApiModelProperty(value = "有效期至 yyyy-MM-dd")
+ private String lifespan;
+}
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
index 8fd5d3b..c2cb1f9 100644
--- 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
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.activity.entity.Coupon;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
/**
* <p>
@@ -13,4 +16,6 @@
*/
public interface CouponMapper extends BaseMapper<Coupon> {
+ Map<String, Object> queryConponRuleOfJson(@Param("id") Integer id);
+
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/ConponJsonRuleModel.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/ConponJsonRuleModel.java
new file mode 100644
index 0000000..edb6926
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/ConponJsonRuleModel.java
@@ -0,0 +1,22 @@
+package com.dsh.activity.model;
+
+import lombok.Data;
+
+
+
+@Data
+public class ConponJsonRuleModel {
+ /**
+ * 条件金额
+ */
+ double conditionalAmount;
+ /**
+ * 抵扣金额(代金券 取 该字段)
+ */
+ double deductionAmount;
+ /**
+ * 体验券名称
+ */
+ String experienceName;
+
+}
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
index c6ee52f..cb92505 100644
--- 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
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.activity.entity.Coupon;
+import java.util.Map;
+
/**
* <p>
* 优惠券 服务类
@@ -13,4 +15,6 @@
*/
public interface CouponService extends IService<Coupon> {
+ Map<String, Object> queryConponRuleOfJson(Integer id);
+
}
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
index 16aa074..83949b6 100644
--- 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
@@ -6,6 +6,8 @@
import com.dsh.activity.service.CouponService;
import org.springframework.stereotype.Service;
+import java.util.Map;
+
/**
* <p>
* 优惠券 服务实现类
@@ -17,4 +19,8 @@
@Service
public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements CouponService {
+ @Override
+ public Map<String, Object> queryConponRuleOfJson(Integer id) {
+ return this.baseMapper.queryConponRuleOfJson(id);
+ }
}
diff --git a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
index b949ca7..142c094 100644
--- a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
@@ -2,7 +2,15 @@
<!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"/>
+ <select id="queryConponRuleOfJson" resultType="java.util.Map">
+ SELECT JSON_EXTRACT(content, "$.conditionalAmount") as conditionalAmount,
+ JSON_EXTRACT(content, "$.deductionAmount") as deductionAmount,
+ JSON_EXTRACT(content, "$.experienceName") as experienceName
+ FROM t_coupon
+ where 1=1
+ <if test="id != null">
+ and `id` = #{id}
+ </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
index 6bbf48a..de4fec9 100644
--- 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
@@ -44,7 +44,7 @@
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<TCoursePackagePayment> tCoursePackagePayments = tcppService.queryAllCoursePackage(startTime,endTime,null,stuId, appUserId);
List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
List<CancelledClasses> list = caceService.list(new QueryWrapper<CancelledClasses>()
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 6ba4f0a..ab7af9d 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
@@ -8,12 +8,14 @@
import com.dsh.course.service.TCoursePackagePaymentService;
import com.dsh.course.service.TCoursePackageService;
import com.dsh.course.util.DateUtil;
+import com.dsh.course.util.StrUtils;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -45,7 +47,7 @@
@PostMapping("/coursePack/queryPayment")
public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId,@RequestBody Integer appUserId){
List<StuCourseResp> resps = new ArrayList<>();
- List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,stuId,appUserId);
+ List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,null,stuId,appUserId);
if (byUserId.size() > 0 ){
for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
@@ -90,7 +92,7 @@
@PostMapping("/coursePack/sessionNames")
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(startTime,endTime,stuId,appUserId);
+ List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(startTime,endTime,null,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>()
@@ -110,7 +112,7 @@
@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);
+ List<TCoursePackagePayment> coursePackage = packagePaymentService.queryAllCoursePackage(startTime,endTime,null,stuId, appUserId);
if (coursePackage.size() > 0 ){
coursePackage.forEach( cspackage -> {
PurchaseRecordVo recordVo = new PurchaseRecordVo();
@@ -131,10 +133,9 @@
Integer totalNu = 0;
Integer dedutNu = 0;
Integer remainNu = 0;
- List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,stuId,appUserId);
+ List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(null,null,null,stuId,appUserId);
if (byUserId.size() > 0 ){
for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
- StuWithCoursesListVo resp = new StuWithCoursesListVo();
totalNu = totalNu + tCoursePackagePayment.getTotalClassHours();
dedutNu = dedutNu + tCoursePackagePayment.getLaveClassHours();
remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours());
@@ -146,4 +147,88 @@
return lisco;
}
+
+
+ @PostMapping("/coursePack/continuingCourse")
+ public StudentOfCourseVo getStudentCourse(@RequestBody Integer courseId,@RequestBody Integer stuId,@RequestBody Integer appUserId){
+ StudentOfCourseVo courseVo = new StudentOfCourseVo();
+ List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.queryAllCoursePackage(null,null,courseId,stuId,appUserId);
+ if (tCoursePackagePayments.size() > 0 ){
+
+ List<CourseHoursType> typeList = new ArrayList<>();
+ tCoursePackagePayments.forEach(cou -> {
+ CourseHoursType hoursType = new CourseHoursType();
+ hoursType.setCourseConfigId(cou.getId());
+ hoursType.setCourseConfigId(cou.getClassHours());
+ typeList.add(hoursType);
+ });
+ TCoursePackagePayment tCoursePackagePayment = tCoursePackagePayments.get(0);
+ courseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
+ courseVo.setTypeList(typeList);
+
+ TCoursePackage coursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
+ courseVo.setPackageImg(coursePackage.getCoverDrawing());
+ courseVo.setCourseName(coursePackage.getName());
+ courseVo.setCoachId(coursePackage.getCoachId());
+ String classWeeks = coursePackage.getClassWeeks();
+ List<Integer> integers = StrUtils.dealStrToList(classWeeks);
+ if (integers.size() > 0){
+ StringBuilder courWeeks = new StringBuilder("每");
+ for (Integer integer : integers) {
+ switch (integer){
+ case 1:
+ courWeeks.append("周一、");
+ break;
+ case 2:
+ courWeeks.append("周二、");
+ break;
+ case 3:
+ courWeeks.append("周三、");
+ break;
+ case 4:
+ courWeeks.append("周四、");
+ break;
+ case 5:
+ courWeeks.append("周五、");
+ break;
+ case 6:
+ courWeeks.append("周六、");
+ break;
+ case 7:
+ courWeeks.append("周末、");
+ break;
+ default:
+ break;
+ }
+ }
+ if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == ','){
+ courWeeks.deleteCharAt(courWeeks.length() - 1);
+ }
+ courseVo.setCourseWeek(courWeeks.toString());
+ }
+
+ courseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
+ // TODO: 2023/6/30 查询会员折扣数据
+ String payType = tCoursePackagePayment.getPayType();
+ BigDecimal cashPayment = tCoursePackagePayment.getCashPayment();
+ double cashPaymentValue = cashPayment.doubleValue();
+ Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin();
+ switch (payType) {
+ case "1;2":
+ courseVo.setAmount(cashPaymentValue);
+ courseVo.setWpGold(playPaiCoin);
+ break;
+ case "1":
+ courseVo.setAmount(cashPaymentValue);
+ break;
+ case "2":
+ courseVo.setWpGold(playPaiCoin);
+ break;
+ }
+
+ courseVo.setStoreId(coursePackage.getStoreId());
+ }
+
+ return courseVo;
+ }
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java
index 2b85182..bad6bde 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java
@@ -1,9 +1,6 @@
package com.dsh.course.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;
@@ -11,6 +8,8 @@
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
+import java.util.Date;
+
/**
* <p>
* 课程
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
index e1cc65b..7d160ea 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
@@ -1,15 +1,13 @@
package com.dsh.course.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>
@@ -102,7 +100,7 @@
/**
* 支付方式(1=现金,2=玩湃币)
*/
- private Integer payType;
+ private String payType;
/**
* 有效天数
*/
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index 98e53c1..5fa4ee6 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -45,7 +45,7 @@
/**
* 支付方式(1=现金,2=玩湃币)
*/
- private Integer payType;
+ private String payType;
/**
* 课时数
*/
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
index d6aea0a..cc51aa7 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -21,4 +21,10 @@
@PostMapping("/coursePack/stuOfCourses")
StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody Integer stuId,@RequestBody Integer appUserId);
+
+ @PostMapping("/coursePack/continuingCourse")
+ StudentOfCourseVo getStudentCourse(@RequestBody Integer courseId,
+ @RequestBody Integer stuId,
+ @RequestBody Integer appUserId);
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseHoursType.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseHoursType.java
new file mode 100644
index 0000000..3877b72
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseHoursType.java
@@ -0,0 +1,16 @@
+package com.dsh.course.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CourseHoursType {
+
+ @ApiModelProperty(value = "课时id")
+ private Integer courseConfigId;
+
+ @ApiModelProperty(value = "课时数")
+ private Integer courseHourNums;
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StudentOfCourseVo.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StudentOfCourseVo.java
new file mode 100644
index 0000000..49b7dbc
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StudentOfCourseVo.java
@@ -0,0 +1,45 @@
+package com.dsh.course.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class StudentOfCourseVo {
+
+ @ApiModelProperty(value = "课包id")
+ private Integer coursePackageId;
+
+ @ApiModelProperty(value = "课包封面图")
+ private String packageImg;
+
+ @ApiModelProperty(value = "课包名称")
+ private String courseName;
+
+ @ApiModelProperty(value = "授课老师/教练")
+ private Integer coachId;
+
+ @ApiModelProperty(value = "上课周 例如:每周二")
+ private String courseWeek;
+
+ @ApiModelProperty(value = "上课时间:例如 14:00-16:00")
+ private String courseTime;
+
+ @ApiModelProperty(value = "课时列表: 50 70 90")
+ private List<CourseHoursType> typeList;
+
+ @ApiModelProperty(value = "支付价格")
+ private double amount;
+
+ @ApiModelProperty(value = "会员价")
+ private double vipAmount;
+
+ @ApiModelProperty(value = "玩湃币")
+ private Integer wpGold;
+
+ @ApiModelProperty(value = "门店id")
+ private Integer storeId;
+
+}
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 884f2ab..d717d83 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
@@ -18,7 +18,8 @@
public interface TCoursePackagePaymentMapper extends BaseMapper<TCoursePackagePayment> {
List<TCoursePackagePayment> queryAllCoursePackage(@Param("startTime")Date startTime,
- @Param("endTime")Date endTime ,
+ @Param("endTime")Date endTime ,
+ @Param("coursePackId") Integer coursePackId,
@Param("stuId") Integer stuId,
@Param("appUserId") Integer appUserId);
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 41f170d..7a42514 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
@@ -16,6 +16,6 @@
*/
public interface TCoursePackagePaymentService extends IService<TCoursePackagePayment> {
- List<TCoursePackagePayment> queryAllCoursePackage(Date startTime, Date endTime ,Integer stuId, Integer appUserId);
+ List<TCoursePackagePayment> queryAllCoursePackage(Date startTime, Date endTime ,Integer lessionId,Integer stuId, Integer appUserId);
}
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 77c0928..ffe91b1 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
@@ -21,7 +21,7 @@
public class TCoursePackagePaymentServiceImpl extends ServiceImpl<TCoursePackagePaymentMapper, TCoursePackagePayment> implements TCoursePackagePaymentService {
@Override
- public List<TCoursePackagePayment> queryAllCoursePackage(Date startTime, Date endTime , Integer stuId, Integer appUserId) {
- return this.baseMapper.queryAllCoursePackage(startTime,endTime,stuId,appUserId);
+ public List<TCoursePackagePayment> queryAllCoursePackage(Date startTime, Date endTime , Integer coursePackId, Integer stuId, Integer appUserId) {
+ return this.baseMapper.queryAllCoursePackage(startTime,endTime,coursePackId,stuId,appUserId);
}
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/StrUtils.java b/cloud-server-course/src/main/java/com/dsh/course/util/StrUtils.java
index f6ba9f9..edd6cf6 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/StrUtils.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/StrUtils.java
@@ -99,4 +99,17 @@
return sBuilder.toString();
}
+ public static List<Integer> dealStrToList(String str){
+ List<Integer> list = new ArrayList<>();
+ if (null == str || str == "" || str.isEmpty()){
+ return list;
+ }
+ String[] strArray = str.split(";");
+ for (String numStr : strArray) {
+ int num = Integer.parseInt(numStr);
+ list.add(num);
+ }
+ return list;
+ }
+
}
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
index 00b7a4d..314e4c2 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -45,7 +45,7 @@
FROM t_course_package_payment5
WHERE 1=1
<if test=" stuId != null">
- and appUserId = #{stuId}
+ and studentId = #{stuId}
</if>
<if test="appUserId != null">
and appUserId = #{appUserId}
@@ -53,6 +53,9 @@
<if test="startTime != null and endTime != null">
and (insertTime between #{startTime} and #{endTime})
</if>
+ <if test="coursePackId != null ">
+ and coursePackageId = #{coursePackId}
+ </if>
</select>
</mapper>
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
new file mode 100644
index 0000000..b75c2ee
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -0,0 +1,32 @@
+package com.dsh.other.controller;
+
+
+import com.dsh.other.entity.Store;
+import com.dsh.other.feignclient.model.StoreDetailOfCourse;
+import com.dsh.other.service.StoreService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/base/protocol")
+public class StoreController {
+
+ @Autowired
+ private StoreService stoService;
+
+
+ @PostMapping("/storeDetail/courseOfSto")
+ public StoreDetailOfCourse getCourseOfStore(@RequestBody Integer storeId){
+ StoreDetailOfCourse ofCourse = new StoreDetailOfCourse();
+ Store store = stoService.getById(storeId);
+ if (null != store){
+ ofCourse.setStoreName(store.getName());
+ ofCourse.setStoreAddr(store.getAddress());
+ }
+ return ofCourse;
+ }
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java
new file mode 100644
index 0000000..16b9a51
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java
@@ -0,0 +1,14 @@
+package com.dsh.other.feignclient;
+
+import com.dsh.other.feignclient.model.StoreDetailOfCourse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = "mb-cloud-other")
+public interface StoreClient {
+
+
+ @PostMapping("/storeDetail/courseOfSto")
+ public StoreDetailOfCourse getCourseOfStore(@RequestBody Integer storeId);
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailOfCourse.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailOfCourse.java
new file mode 100644
index 0000000..d7f40fd
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailOfCourse.java
@@ -0,0 +1,13 @@
+package com.dsh.other.feignclient.model;
+
+import lombok.Data;
+
+@Data
+public class StoreDetailOfCourse {
+
+ String storeName;
+
+ String storeAddr;
+
+
+}
--
Gitblit v1.7.1