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 | 476 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 407 insertions(+), 69 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 cb29e84..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,26 +1,31 @@
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;
+import com.dsh.course.feignclient.account.model.AppUser;
+import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.feignclient.model.*;
+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;
-import com.dsh.course.model.vo.request.ClasspaymentRequest;
-import com.dsh.course.model.vo.request.CourseOfAfterRequest;
-import com.dsh.course.model.vo.request.CourseWithDetailsRequest;
-import com.dsh.course.model.vo.request.UpdateCourseVideoStatusRequest;
+import com.dsh.course.model.vo.request.*;
import com.dsh.course.model.vo.response.AppUserVideoResponse;
import com.dsh.course.model.vo.response.CourseDetailsResponse;
import com.dsh.course.model.vo.response.CourseOfVideoResponse;
import com.dsh.course.service.*;
-import com.dsh.course.util.DateUtil;
-import com.dsh.course.util.ResultUtil;
-import com.dsh.course.util.StrUtils;
-import com.dsh.course.util.TokenUtil;
+import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
@@ -33,11 +38,17 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
import java.math.BigDecimal;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
@Api
@@ -58,14 +69,18 @@
@Autowired
private TCoursePackageDiscountService tcpdService;
- @Autowired
- private PostCourseVideoService pcvService;
@Autowired
- private CoursePackageStudentService cpsService;
+ private ICoursePackagePaymentConfigService icppcService;
@Autowired
- private CancelledClassesService cacService;
+ private UserVideoDetailsService uvdsService;
+
+ @Autowired
+ private TCourseService tcService;
+
+ @Resource
+ private StudentClient studentClient;
@Autowired
private TCoursePackageTypeService coursePackageTypeService;
@@ -76,6 +91,18 @@
@Autowired
private CancelledClassesService cancelledClassesService;
+ @Resource
+ private CoursePackageStudentService cspsService;
+
+
+ @Autowired
+ private PayMoneyUtil payMoneyUtil;
+ @Resource
+ private AppUserClient auClitn;
+
+ @Resource
+ private StoreClient sreClient;
+
private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
/**
@@ -83,11 +110,13 @@
* @param stuId 学员id
* @return 课包列表
*/
+ @ResponseBody
@PostMapping("/base/coursePack/queryPayment")
- public List<StuCourseResp> getStuCoursePackagePayment(@RequestParam("stuId") Integer stuId,@RequestParam("appUserId") Integer appUserId){
+ public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId){
List<StuCourseResp> resps = new ArrayList<>();
+ Student student = studentClient.queryStudentById(stuId);
List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId",appUserId)
+ .eq("appUserId",student.getAppUserId())
.eq("studentId",stuId));
if (byUserId.size() > 0 ){
@@ -99,6 +128,8 @@
resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours());
resp.setResidueNums(tCoursePackagePayment.getLaveClassHours());
resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours());
+ String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + "");
+ resp.setPeriodOfValidity(afterDayDate);
resps.add(resp);
}
}
@@ -109,21 +140,61 @@
*
* 获取发布的 课包列表
*/
+ @ResponseBody
@PostMapping("/base/coursePack/storeOfCourse")
- public List<CourseOfStoreVo> getStuCourseWithStores(){
- List<CourseOfStoreVo> courseOfStoreVos = tcpService.queryStoreOfCourse();
- if (courseOfStoreVos.size() > 0){
- for (CourseOfStoreVo courseOfStoreVo : courseOfStoreVos) {
- String[] split = courseOfStoreVo.getClassWeeks().split(";");
- List<Integer> integers = new ArrayList<>();
- for (String s : split) {
- int num = Integer.parseInt(s);
- integers.add(num);
+ public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest){
+ List<CourseOfStoreVo> course = new ArrayList<>();
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ try {
+ Date parse = simpleDateFormat.parse(courseRest.getTime());
+ List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ .eq("appUserId",courseRest.getAppUserId() )
+ .eq("studentId",courseRest.getStuId())
+ .eq("payStatus",2)
+ .eq("status",1)
+ .eq("state",1)
+ .groupBy("coursePackageId"));
+ if (list.size() > 0){
+ for (TCoursePackagePayment tCoursePackagePayment : list) {
+ 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(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);
+ }
+ }
}
- courseOfStoreVo.setClassWeekList(integers);
}
+ System.out.println(course);
+ return course;
+ } catch (ParseException e) {
+ return null;
}
- return tcpService.queryStoreOfCourse();
}
@@ -155,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();
@@ -229,33 +300,9 @@
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;
- }
+ courWeeks.append(integer).append("、");
}
- if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == ','){
+ if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){
courWeeks.deleteCharAt(courWeeks.length() - 1);
}
courseVo.setCourseWeek(courWeeks.toString());
@@ -300,19 +347,63 @@
@PostMapping("/base/coursePack/afterCourseTwos")
public List<AfterVideoVo> getAfterCourseTwos(@RequestParam("appUserId") Integer appUserId){
List<AfterVideoVo> videoVos = new ArrayList<>();
- List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId", appUserId));
- List<Integer> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
-// List<PostCourseVideo> videoList = pcvService.queryAllVideoNoneShow(coursePackageIds);
- // TODO: 2023/7/6 两个课后视频
+ List<UserVideoDetails> list = uvdsService.list(new QueryWrapper<UserVideoDetails>()
+ .eq("appUserId",appUserId)
+ .eq("state",1));
+ if (list.size() > 0 ){
+ List<Integer> courseIds = list.stream().map(UserVideoDetails::getCourseId).collect(Collectors.toList());
+ List<TCourse> courseList = tcService.list(new QueryWrapper<TCourse>()
+ .in("id",courseIds)
+ .eq("type",1)
+ .eq("state",1)
+ .last("ORDER BY insertTime desc LIMIT 2"));
+ for (TCourse tCourse : courseList) {
+ AfterVideoVo videoVo = new AfterVideoVo();
+ videoVo.setCourseId(tCourse.getId());
+ videoVo.setCourseUrl(tCourse.getCourseVideo());
+ videoVos.add(videoVo);
+ }
+ }
return videoVos;
}
+ @PostMapping("/base/coursePack/allPaymentCourseList")
+ @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 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;
+ }
@ResponseBody
@PostMapping("/api/course/queryArrangeCourseList")
- @ApiOperation(value = "获取布置课程列表", tags = {"APP-课程列表"})
+ @ApiOperation(value = "课后练习-获取布置课程列表", tags = {"APP-开始上课"})
@ApiImplicitParams({
})
public ResultUtil<List<BaseVo>> queryArrangePackageType(){
@@ -331,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();
@@ -344,7 +435,7 @@
*/
@ResponseBody
@PostMapping("/api/startCource/afterSourceList")
- @ApiOperation(value = "课后视频课表", tags = {"APP-开始上课"})
+ @ApiOperation(value = "课后练习-课后视频列表", tags = {"APP-开始上课"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
})
@@ -356,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());
}
@@ -373,7 +467,7 @@
*/
@ResponseBody
@PostMapping("/api/startCource/afterSourceDetail")
- @ApiOperation(value = "课后视频详情", tags = {"APP-开始上课"})
+ @ApiOperation(value = "课后练习-课后视频详情", tags = {"APP-开始上课"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
})
@@ -466,14 +560,15 @@
@ApiOperation(value = "已报名课程详情", tags = {"APP-开始上课"})
@ApiImplicitParams({
@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 coursePackageId){
+ public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId){
try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if(null == appUserId){
return ResultUtil.tokenErr();
}
- return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePackageId,appUserId));
+ return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId));
}catch (Exception e){
return ResultUtil.runErr();
}
@@ -501,6 +596,58 @@
}
}
+
+
+
+ /**
+ * 课包续课支付宝支付回调接口
+ */
+ @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback")
+ public void alipayCallback(HttpServletRequest request, HttpServletResponse response){
+ try {
+ Map<String, String> map = payMoneyUtil.alipayCallback(request);
+ if(null != map){
+ String out_trade_no = map.get("out_trade_no");
+ String transaction_id = map.get("transaction_id");
+ ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id);
+ if(resultUtil.getCode() == 200){
+ PrintWriter out = response.getWriter();
+ out.write("success");
+ out.flush();
+ out.close();
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * 课包续课微信支付回调接口
+ */
+ @PostMapping("/base/coursePackage/wechatRegisteredCoursesCallback")
+ public void weChatCallback(HttpServletRequest request, HttpServletResponse response){
+ try {
+ Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+ if(null != map){
+ String out_trade_no = map.get("out_trade_no");
+ String transaction_id = map.get("transaction_id");
+ String result = map.get("result");
+ ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id);
+ if(resultUtil.getCode() == 200){
+ PrintWriter out = response.getWriter();
+ out.write(result);
+ out.flush();
+ out.close();
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+
/**
@@ -593,4 +740,195 @@
e.printStackTrace();
}
}
+
+
+ /**
+ * 课包续费玩湃币支付
+ * @param
+ */
+ @PostMapping("/coursePackagePayment/courseRenewPlayPaiPay")
+ public int paymentWanpaiRenewCourse(@RequestBody PlayPaiGoldCoursePackage coursePackage){
+ try {
+ Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
+ if (null == userIdFormRedis){
+ return 2;
+ }
+ CoursePackagePaymentConfig paymentConfig = icppcService.getById(coursePackage.getCoursePayConfigId());
+ AppUser appUser = auClitn.queryAppUser(userIdFormRedis);
+ if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()){
+ return 3;
+ }
+ TCoursePackagePayment packagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>()
+ .eq("code",coursePackage.getCode() ));
+ packagePayment.setPayStatus(2);
+ packagePayment.setPayUserId(userIdFormRedis);
+ packagePayment.setClassHours(paymentConfig.getClassHours());
+ packagePayment.setPlayPaiCoin(paymentConfig.getPlayPaiCoin());
+ packagePayment.setTotalClassHours(paymentConfig.getClassHours());
+ packagePayment.setLaveClassHours(paymentConfig.getClassHours());
+ packagePaymentService.updateById(packagePayment);
+
+ appUser.setPlayPaiCoins(appUser.getPlayPaiCoins()-paymentConfig.getPlayPaiCoin());
+ auClitn.updateAppUser(appUser);
+ } catch (Exception e) {
+ return 4;
+ }
+ return 1;
+ }
+
+ @PostMapping("/base/coursePack/getPaymentCoursePackage")
+ public TCoursePackagePayment getCoursePackagePaymentByCode(@RequestBody String code){
+ return packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>()
+ .eq("code",code));
+ }
+
+ @PostMapping("/base/coursePack/delPaymentCoursePackage")
+ public boolean delPaymentCoursePackage(@RequestBody Integer payId){
+ return packagePaymentService.removeById(payId);
+ }
+ @PostMapping("/base/coursePack/updatePaymentCoursePackage")
+ public boolean updatePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){
+ return packagePaymentService.update(packagePayment,new QueryWrapper<TCoursePackagePayment>()
+ .eq("id",packagePayment.getId()));
+ }
+
+ @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 WeeksOfCourseRest stuId){
+ try {
+ return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId());
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new RuntimeException();
+ }
+ }
+
+
+ @PostMapping("/base/coursePack/getCoursePackageConfig")
+ public List<CoursePackagePaymentConfig> getCourseConfigList(@RequestBody Integer coursePackageId){
+ return icppcService.list(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId",coursePackageId));
+ }
+
+
+
+ @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode")
+ public List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code){
+ return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ .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