From 1334e5e5e504e6ad4b0f48354427193309492357 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 14 八月 2023 16:03:01 +0800
Subject: [PATCH] 管理后台:完善添加优惠券时的功能
---
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 235 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 189 insertions(+), 46 deletions(-)
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 ee9aa4a..a5bbd2e 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
@@ -1,7 +1,9 @@
package com.dsh.course.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.entity.*;
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.StudentClient;
@@ -11,6 +13,10 @@
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.model.BaseVo;
+import com.dsh.course.model.QueryRegistrationRecord;
+import com.dsh.course.model.QueryWalkInStudentList;
+import com.dsh.course.model.BillingRequest;
+import com.dsh.course.model.BillingRequestVo;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.CourseDetailRequest;
import com.dsh.course.model.vo.RegisterCourseVo;
@@ -85,6 +91,10 @@
@Autowired
private CancelledClassesService cancelledClassesService;
+ @Resource
+ private CoursePackageStudentService cspsService;
+
+
@Autowired
private PayMoneyUtil payMoneyUtil;
@Resource
@@ -146,28 +156,37 @@
.groupBy("coursePackageId"));
if (list.size() > 0){
for (TCoursePackagePayment tCoursePackagePayment : list) {
- TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
- CoursePackagePaymentConfig paymentConfig = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
- .eq("coursePackageId",tCoursePackage.getId() )
- .eq("classHours",tCoursePackagePayment.getClassHours()));
+ CoursePackageStudent packageStudent = cspsService.getOne(new LambdaQueryWrapper<CoursePackageStudent>()
+ .eq(CoursePackageStudent::getAppUserId, courseRest.getAppUserId())
+ .eq(CoursePackageStudent::getStudentId,courseRest.getStuId())
+ .eq(CoursePackageStudent::getCoursePackagePaymentId,tCoursePackagePayment.getId())
+ .eq(CoursePackageStudent::getCoursePackageId,tCoursePackagePayment.getCoursePackageId()));
+ if (ToolUtil.isEmpty(packageStudent) || (ToolUtil.isNotEmpty(packageStudent) && packageStudent.getReservationStatus() != 1)){
+// 没有预约过的/已经取消了的
+ TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
+ CoursePackagePaymentConfig paymentConfig = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId",tCoursePackage.getId() )
+ .eq("classHours",tCoursePackagePayment.getClassHours()));
// 获取课程有效结束时间,判断 查询的日期parse 是否在有效期范围内
- Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(),tCoursePackage.getValidDays());
- System.out.println(expirationDate.after(parse));
- String classWeeks = tCoursePackage.getClassWeeks();
- System.out.println(StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse)));
- if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){
- CourseOfStoreVo storeVo = new CourseOfStoreVo();
- storeVo.setCourseId(tCoursePackage.getId());
- storeVo.setCourseName(tCoursePackage.getName());
- storeVo.setClassStartTime(tCoursePackage.getClassStartTime());
- storeVo.setClassEndTime(tCoursePackage.getClassEndTime());
- storeVo.setStoreId(tCoursePackage.getStoreId());
- Store store = sreClient.queryStoreById(tCoursePackage.getStoreId());
- storeVo.setStoreAddress(store.getAddress());
- storeVo.setLat(store.getLat());
- storeVo.setLon(store.getLon());
- storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin():paymentConfig.getCashPayment());
- course.add(storeVo);
+ Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(),tCoursePackage.getValidDays());
+ System.out.println(expirationDate.after(parse));
+ String classWeeks = tCoursePackage.getClassWeeks();
+ System.out.println(StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse)));
+ if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){
+ CourseOfStoreVo storeVo = new CourseOfStoreVo();
+ storeVo.setCourseId(tCoursePackagePayment.getId());
+ storeVo.setCourseName(tCoursePackage.getName());
+ storeVo.setClassStartTime(tCoursePackage.getClassStartTime());
+ storeVo.setClassEndTime(tCoursePackage.getClassEndTime());
+ storeVo.setStoreId(tCoursePackage.getStoreId());
+ Store store = sreClient.queryStoreById(tCoursePackage.getStoreId());
+ storeVo.setStoreAddress(store.getAddress());
+ storeVo.setLat(store.getLat());
+ storeVo.setLon(store.getLon());
+ storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin():paymentConfig.getCashPayment());
+ storeVo.setStatus(1);
+ course.add(storeVo);
+ }
}
}
}
@@ -207,13 +226,13 @@
}
@PostMapping("/base/coursePack/paymentCourse")
- public List<PurchaseRecordVo> queryCourseDetails(@RequestParam("startTime") Date startTime, @RequestParam("endTime") Date endTime,@RequestParam("stuId") Integer stuId, @RequestParam("appUserId") Integer appUserId) {
+ public List<PurchaseRecordVo> queryCourseDetails(@RequestBody GetStuSessionList sessionList) {
List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>();
List<TCoursePackagePayment> coursePackage = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .between("insertTime", startTime,endTime)
- .eq("appUserId",appUserId)
- .eq("studentId",stuId));
+ .between("insertTime", sessionList.getStartTime(),sessionList.getEndTime())
+ .eq("appUserId",sessionList.getAppUserId())
+ .eq("studentId",sessionList.getStuId()));
if (coursePackage.size() > 0 ){
coursePackage.forEach( cspackage -> {
PurchaseRecordVo recordVo = new PurchaseRecordVo();
@@ -349,22 +368,36 @@
}
@PostMapping("/base/coursePack/allPaymentCourseList")
- public List<TCoursePackagePayment> getAppuserCourseList(@RequestBody Integer appUserId){
- return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId",appUserId)
- .eq("payType",3)
- .eq("payStatus",2)
- .eq("state",1));
+ @ResponseBody
+ public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId){
+ List<CouponPaymentVo> paymentVos = new ArrayList<>();
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
+ List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ .eq("appUserId", appUserId)
+ .eq("payType", 3)
+ .eq("payStatus", 2)
+ .eq("state", 1));
+ if (list.size() > 0 ){
+ for (TCoursePackagePayment tCoursePackagePayment : list) {
+ CouponPaymentVo couponPaymentVo = new CouponPaymentVo();
+ couponPaymentVo.setTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
+ couponPaymentVo.setAmount( tCoursePackagePayment.getPlayPaiCoin());
+ paymentVos.add(couponPaymentVo);
+ }
+ }
+ return paymentVos;
}
+
+ @ResponseBody
@PostMapping("/base/coursePack/allAmountPayRecordOfUser")
- public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){
- return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId",billingDataRequestVo.getAppUserId())
- .notIn("payType",3)
- .eq("payStatus",2)
- .eq("state",1)
- .between("insertTime",billingDataRequestVo.getMonthStart(),billingDataRequestVo.getMonthEnd()));
+ public BillingRequestVo getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){
+ BillingRequestVo requestVo = new BillingRequestVo();
+ List<BillingRequest> billingRequests = packagePaymentService.queryAmountDatas(billingDataRequestVo.getAppUserId(), billingDataRequestVo.getMonthStart(), billingDataRequestVo.getMonthEnd());
+ if (billingRequests.size() >0){
+ requestVo.setRequests(billingRequests);
+ }
+ return requestVo;
}
@@ -389,7 +422,7 @@
baseVo.setName(coursePackage.getName());
list.add(baseVo);
});
- return ResultUtil.success();
+ return ResultUtil.success(list);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -414,9 +447,12 @@
return ResultUtil.tokenErr();
}
List<Integer> courseIds = new ArrayList<>();
- List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("coursePackageId",search.getCourseTypeId())
- .eq("appUserId",appUserId));
+ QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId)
+ .groupBy("coursePackageId");
+ if (ToolUtil.isNotEmpty(search.getCourseTypeId())){
+ queryWrapper.eq("coursePackageId",search.getCourseTypeId());
+ }
+ List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(queryWrapper);
if (tCoursePackagePayments.size() > 0 ){
courseIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
}
@@ -526,7 +562,7 @@
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
@ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"),
})
- public ResultUtil<CourseDetailsResponse> getRegisteredData( Integer coursePayId){
+ public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId){
try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if(null == appUserId){
@@ -758,15 +794,15 @@
@PostMapping("/base/coursePack/savePaymentCoursePackage")
public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){
+ packagePayment.setInsertTime(new Date());
return packagePaymentService.save(packagePayment);
}
@PostMapping("/base/coursePack/obtainStudentClassDetails")
- public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId){
+ public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId){
try {
- Integer appUserId = tokenUtil.getUserIdFormRedis();
- return packagePaymentService.obtainStuClassDetails(stuId,appUserId);
+ return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId());
}catch (Exception e){
e.printStackTrace();
throw new RuntimeException();
@@ -788,4 +824,111 @@
.eq("code",code));
}
+
+ /**
+ * 获取课包报名信息列表
+ * @param queryRegistrationRecord
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/queryRegistrationRecord")
+ public Page<Map<String, Object>> queryRegistrationRecord(@RequestBody QueryRegistrationRecord queryRegistrationRecord){
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryRegistrationRecord.getLimit(), queryRegistrationRecord.getOffset(), queryRegistrationRecord.getSort(), queryRegistrationRecord.getOrder());
+ Page<Map<String, Object>> mapPage = page.setRecords(packagePaymentService.queryRegistrationRecord(page, queryRegistrationRecord));
+ return mapPage;
+ }
+
+
+ /**
+ * 获取未预约排课学员列表
+ * @param queryWalkInStudentList
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/queryWalkInStudentList")
+ public Page<Map<String, Object>> queryWalkInStudentList(@RequestBody QueryWalkInStudentList queryWalkInStudentList){
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryWalkInStudentList.getLimit(), queryWalkInStudentList.getOffset(), queryWalkInStudentList.getSort(), queryWalkInStudentList.getOrder());
+ Page<Map<String, Object>> mapPage = page.setRecords(packagePaymentService.queryWalkInStudentList(page, queryWalkInStudentList));
+ return mapPage;
+ }
+
+
+ /**
+ * 根据id获取数据
+ * @param id
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById")
+ public TCoursePackagePayment queryCoursePackagePaymentById(@RequestBody Long id){
+ return packagePaymentService.getById(id);
+ }
+
+
+ /**
+ * 修改数据
+ * @param coursePackagePayment
+ */
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/editCoursePackagePayment")
+ public void editCoursePackagePayment(TCoursePackagePayment coursePackagePayment){
+ packagePaymentService.updateById(coursePackagePayment);
+ }
+
+
+ /**
+ * 上课主页-预约操作
+ */
+ @ResponseBody
+ @PostMapping("/api/startCource/reverse")
+ @ApiOperation(value = "上课主页-预约操作", tags = {"APP-开始上课"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(value = "课包id", name = "courseID", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "时间 yyyy-MM-dd", name = "time", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"),
+ })
+ public ResultUtil reverse(String courseID,String time,Integer stuId){
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ try {
+ Integer appUserId = tokenUtil.getUserIdFormRedis();
+ if(null == appUserId){
+ return ResultUtil.tokenErr();
+ }
+ TCoursePackagePayment packagePayment = packagePaymentService.getOne(new LambdaQueryWrapper<TCoursePackagePayment>()
+ .eq(TCoursePackagePayment::getCoursePackageId,courseID )
+ .eq(TCoursePackagePayment::getAppUserId,appUserId)
+ .eq(TCoursePackagePayment::getStudentId,stuId)
+ );
+
+ if (ToolUtil.isEmpty(packagePayment)){
+ return ResultUtil.error("该用户未购买该课包");
+ }
+ CoursePackageStudent coursePackageStudent = cspsService.getOne(new LambdaQueryWrapper<CoursePackageStudent>()
+ .eq(CoursePackageStudent::getCoursePackageId,packagePayment.getCoursePackageId())
+ .eq(CoursePackageStudent::getCoursePackagePaymentId,courseID)
+ .eq(CoursePackageStudent::getStudentId,stuId)
+ .eq(CoursePackageStudent::getAppUserId,appUserId)
+ );
+
+ if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 0){
+ coursePackageStudent.setReservationStatus(1);
+ coursePackageStudent.setInsertTime(simpleDateFormat.parse(time));
+ cspsService.updateById(coursePackageStudent);
+ }else {
+ coursePackageStudent = new CoursePackageStudent();
+ coursePackageStudent.setAppUserId(appUserId);
+ coursePackageStudent.setStudentId(stuId);
+ coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId());
+ coursePackageStudent.setCoursePackagePaymentId(Long.parseLong(courseID));
+ coursePackageStudent.setReservationStatus(1);
+ coursePackageStudent.setInsertTime(simpleDateFormat.parse(time));
+ cspsService.save(coursePackageStudent);
+ }
+ return ResultUtil.success();
+ }catch (Exception e){
+ return ResultUtil.runErr();
+ }
+ }
+
}
--
Gitblit v1.7.1