From fad04923e4a9174bac391d12c59f1ade15b23521 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 05 三月 2024 10:10:19 +0800
Subject: [PATCH] 切换分支
---
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 1068 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 664 insertions(+), 404 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 fc98bb4..d820ff0 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,11 +1,8 @@
package com.dsh.course.controller;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.entity.*;
import com.dsh.course.entity.TAppUser;
@@ -15,12 +12,12 @@
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.feignclient.account.model.TCourseInfoRecord;
import com.dsh.course.feignclient.account.model.TStudent;
-import com.dsh.course.feignclient.activity.CouponClient;
-import com.dsh.course.feignclient.activity.model.Coupon;
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.mapper.CoursePackageSchedulingMapper;
+import com.dsh.course.mapper.CoursePackageStudentMapper;
+import com.dsh.course.mapper.TCoursePackageMapper;
import com.dsh.course.model.*;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.CourseDetailRequest;
@@ -31,20 +28,16 @@
import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.obs.services.internal.ServiceException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
-import net.bytebuddy.asm.Advice;
-import org.aspectj.weaver.ast.Var;
-import io.swagger.models.auth.In;
-import org.checkerframework.checker.units.qual.C;
+import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
@@ -70,6 +63,8 @@
@Autowired
private TCoursePackagePaymentService packagePaymentService;
+ @Resource
+ private CoursePackageStudentMapper cpsMapper;
@Autowired
private ICoursePackageOrderService coursePackageOrderService;
@@ -133,14 +128,21 @@
@Autowired
private CoursePackageStudentService coursePackageStudentService;
-
- private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
-
@Autowired
private TOrderService orderService;
+ private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
+
+
+
@Autowired
private ICoursePackageOrderStudentService coursePackageOrderStudentService;
+
+ @Autowired
+ private ALiSendSms aLiSendSms;
+
+ @Resource
+ private AppUserClient appuClient;
/**
@@ -170,124 +172,33 @@
*/
@RequestMapping("/base/coursePackagePayment/add")
public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment) {
- packagePayment.setInsertTime(new Date());
- packagePayment.setInsertTime(new Date());
- Integer studentId = packagePayment.getStudentId();
- // 添加学员上课记录
- CoursePackageStudent coursePackageStudent = new CoursePackageStudent();
- TCoursePackagePayment one = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", packagePayment.getStudentId())
- .orderByDesc("insertTime")
- .last("LIMIT 1"));
-
- if (one != null) {
- Integer totalClassHours = one.getTotalClassHours();
- Integer absencesNumber = one.getAbsencesNumber();
- // 没有过期
- if (one.getUseTime().after(new Date())) {
- if (one.getLaveClassHours() - packagePayment.getClassHours() < 0) {
- return 5002;
- }
- packagePayment.setTotalClassHours(one.getTotalClassHours());
- packagePayment.setLaveClassHours(one.getLaveClassHours() - packagePayment.getClassHours());
- packagePayment.setAbsencesNumber(one.getAbsencesNumber());
+ //校验是否已经报满
+ Integer cpId = Integer.valueOf((int) packagePayment.getCoursePackageId());
+ Integer integer = coursePackagePaymentService.queryCountNumber(cpId);
+ TCoursePackage course = coursePackageService.getById(packagePayment.getCoursePackageId());
+ if (course.getType() != 3) {
+ if (integer + 1 > course.getMaxSubscribeNumber()) {
+ return 5001;
}
- packagePayment.setTotalClassHours(packagePayment.getClassHours());
- packagePayment.setLaveClassHours(packagePayment.getClassHours());
- packagePayment.setAbsencesNumber(one.getAbsencesNumber());
- } else {
- packagePayment.setTotalClassHours(packagePayment.getClassHours());
- packagePayment.setLaveClassHours(packagePayment.getClassHours());
- packagePayment.setAbsencesNumber(0);
}
+ CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
+ coursePackageOrder.setAppUserId(packagePayment.getAppUserId());
+ coursePackageOrder.setStudentIds(String.valueOf(packagePayment.getStudentId()));
+ coursePackageOrder.setCoursePackageId(packagePayment.getCoursePackageId());
+ coursePackageOrder.setClassHours(packagePayment.getClassHours());
+ coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice());
+ coursePackageOrder.setCashPayment(packagePayment.getCashPayment());
+ coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
+ coursePackageOrder.setCode(packagePayment.getCode());
+ coursePackageOrder.setPayStatus(1);
+ coursePackageOrder.setStatus(1);
+ coursePackageOrder.setState(1);
+ coursePackageOrder.setInsertTime(new Date());
+ coursePackageOrder.setSalesName(packagePayment.getSalesName());
+ coursePackageOrderService.save(coursePackageOrder);
// 生成排课数据
- TCoursePackage coursePackage = tcpService.getById(packagePayment.getCoursePackageId());
- //生成排课数据
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = sdf1.parse(sdf.format(new Date()) + " 00:00:00");
- List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";"));
- String value = coursePackage.getClassStartTime();
- String value1 = coursePackage.getClassEndTime();
+ return 200;
- String[] star = value.split(",");
- String[] end = value1.split(",");
- for (int i = 0; i < star.length; i++) {
- // int index = star[i].indexOf(",");
- // String result = value.substring(0, index).trim();
- String classStartTime = star[i];
- String[] split = classStartTime.split(":");
- // String value1 = en;
- int index1 = value1.indexOf(",");
- // String result1 = value.substring(0, index1).trim();
- String classEndTime = end[i];
- String[] split1 = classEndTime.split(":");
- Calendar s = Calendar.getInstance();
- s.setTime(date);
- s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
- s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
- s.set(Calendar.MINUTE, Integer.valueOf(split[1]));
- s.set(Calendar.SECOND, 0);
-
- Calendar e = Calendar.getInstance();
- e.setTime(date);
- e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14);
- long timeInMillis = e.getTimeInMillis();
-
- while (true) {
- int w = s.get(Calendar.DAY_OF_WEEK);
- WeekEnum weekEnum = WeekEnum.getWeekEnum(w);
- if (list.contains(weekEnum.getChineseName())) {
- Calendar classDate = Calendar.getInstance();
- classDate.setTime(s.getTime());
- classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
- classDate.set(Calendar.MINUTE, Integer.valueOf(split[1]));
- classDate.set(Calendar.SECOND, 0);
-
- Calendar endDate = Calendar.getInstance();
- endDate.setTime(s.getTime());
- endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0]));
- endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1]));
- endDate.set(Calendar.SECOND, 0);
-
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(coursePackage.getId());
- coursePackageScheduling.setClassDate(classDate.getTime());
- coursePackageScheduling.setEndDate(endDate.getTime());
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.save(coursePackageScheduling);
- coursePackageStudent.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-
- List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
- .eq("coursePackageId", coursePackage.getId())
- .eq("classDate", classDate.getTime())
- .eq("endDate", endDate.getTime()));
- if (list1.size() + 1 > coursePackage.getMaxSubscribeNumber()) {
- // 当前课包预约人数已满
- return 5001;
- }
- }
- s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
- if (s.getTimeInMillis() > timeInMillis) {
- break;
- }
- }
- }
- } catch (ParseException e) {
- e.printStackTrace();
- }
-
- coursePackageStudent.setStudentId(packagePayment.getStudentId());
- coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId());
-
-
- coursePackageStudent.setSignInOrNot(0);
- coursePackageStudent.setReservationStatus(1);
- coursePackageStudent.setInsertTime(new Date());
- coursePackageStudent.setAppUserId(packagePayment.getAppUserId());
- packagePaymentService.save(packagePayment);
- coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId());
- return coursePackageStudentService.save(coursePackageStudent);
}
/**
@@ -297,13 +208,99 @@
*/
@RequestMapping("/base/coursePackagePayment/changeState")
public Object changeState(@RequestBody CoursePackagePayDTO dto) {
+ String ids = dto.getIds();
+ Long aLong = Long.valueOf(ids);
+ CoursePackageOrder byId1 = coursePackageOrderService.getById(aLong);
+ TCoursePackage byId = coursePackageService.getById(byId1.getCoursePackageId());
+ if (byId.getType()==1){
+ // 如果重复购买 累加课时
+ CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService
+ .getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", Integer.valueOf(byId1.getStudentIds()))
+ .eq("coursePackageId", byId1.getCoursePackageId()).eq("status", 1).eq("state", 1));
+ if (null == coursePackageOrderStudent) {
+ coursePackageOrderStudent = new CoursePackageOrderStudent();
+ coursePackageOrderStudent.setAppUserId(byId1.getAppUserId());
+ coursePackageOrderStudent.setStudentId(Integer.valueOf(byId1.getStudentIds()));
+ coursePackageOrderStudent.setCoursePackageId(byId1.getCoursePackageId());
+ coursePackageOrderStudent.setTotalClassHours(byId1.getClassHours());
+ coursePackageOrderStudent.setLaveClassHours(byId1.getClassHours());
+ coursePackageOrderStudent.setAbsencesNumber(0);
+ coursePackageOrderStudent.setStatus(1);
+ coursePackageOrderStudent.setState(1);
+ coursePackageOrderStudent.setInsertTime(new Date());
+ // 判断这个订单购买的是哪一个课时规格
+ CoursePackagePaymentConfig one1 = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId", byId.getId())
+ .eq("classHours", byId1.getClassHours()));
+ // 判断当前购买的课包有没有赠送课时
+ TCoursePackageDiscount one = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", byId.getId())
+ .eq("type", 4).eq("auditStatus", 2).eq("status", 1)
+ .eq("coursePackagePaymentConfigId",one1.getId()));
+ if (one!=null){
+ Integer giftClassHours = getGiftClassHours(one,null);
+ coursePackageOrderStudent.setGiftClassHours(giftClassHours);
+ coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours()+giftClassHours);
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()+giftClassHours);
+ }else{
+ coursePackageOrderStudent.setGiftClassHours(0);
+ }
+ Integer validDays = byId.getValidDays();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+ coursePackageOrderStudent.setUseTime(calendar.getTime());
+ coursePackageOrderStudent.setInsertTime(new Date());
+ coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
+ Integer studentId = Integer.valueOf(byId1.getStudentIds());
+ //开始排课
+ addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
+ } else {
+ Date useTime = coursePackageOrderStudent.getUseTime();
+ coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours());
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + byId1.getClassHours());
+ Integer validDays = byId.getValidDays();
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
+ coursePackageOrderStudent.setUseTime(calendar.getTime());
+ // 判断这个订单购买的是哪一个课时规格
+ CoursePackagePaymentConfig one1 = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId", byId.getId())
+ .eq("classHours", byId1.getClassHours()));
+ // 判断当前购买的课包有没有赠送课时
+ TCoursePackageDiscount one = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", byId.getId())
+ .eq("type", 4).eq("auditStatus", 2).eq("status", 1)
+ .eq("coursePackagePaymentConfigId",one1.getId()));
+ if (one!=null){
+ Integer giftClassHours = getGiftClassHours(one,null);
+ coursePackageOrderStudent.setGiftClassHours(giftClassHours);
+ }else{
+ coursePackageOrderStudent.setGiftClassHours(0);
+ }
+ // 获取常规课的有效期 计算是哪一天
+ Calendar calendar9 = Calendar.getInstance();
+ calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
+ Date time = calendar9.getTime();
+ coursePackageOrderStudent.setUseTime(time);
+ coursePackageOrderStudent.setInsertTime(new Date());
+ coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
+ Integer studentId = Integer.valueOf(byId1.getStudentIds());
+ //中间断课,没有连续续费的情况需要重新排课
+ if (useTime.compareTo(new Date()) < 0) {
+ addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
+ }
+ }
+ }
+ if(byId.getType() == 2){
+ addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), byId1, null);
+ }
return packagePaymentService.changeState(dto);
}
@GetMapping("/coursePackagePayment/courseStore/{appUserId}/{coursePackageId}")
- public List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) {
- List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ public List<CoursePackageOrderStudent> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) {
+ List<CoursePackageOrderStudent> list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
.eq("appUserId", appUserId)
.eq("coursePackageId", coursePackageId));
return list;
@@ -318,17 +315,46 @@
List<CoursePackagePaymentVO> res = packagePaymentService.listAll(query);
List<CoursePackagePaymentVO> result = new ArrayList<>();
for (CoursePackagePaymentVO re : res) {
+ // 判断这条记录有没有赠送课时
+ Integer coursePackageId = re.getCoursePackageId();
+ Integer classHours = re.getClassHours();
+ CoursePackagePaymentConfig one = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
+ .eq("coursePackageId", coursePackageId)
+ .eq("classHours", classHours));
+ if (one!=null){
+ TCoursePackageDiscount one1 = discountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", coursePackageId)
+ .eq("coursePackagePaymentConfigId", one.getId())
+ .eq("auditStatus",2).eq("status",1).eq("type",4));
+ if (one1 == null){
+ re.setGiftClassHours(0);
+ }else{
+ Integer giftClassHours = getGiftClassHours(one1,re.getInsertTime());
+ re.setGiftClassHours(giftClassHours);
+ }
+ }else{
+ re.setGiftClassHours(0);
+ }
if (re.getCashPayment() == null) {
if (re.getPlayPaiCoin() != null) {
String value = String.valueOf(re.getPlayPaiCoin());
re.setCashPayment(new BigDecimal(value));
}
}
-
Store store = storeClient.queryStoreById(re.getStoreId());
TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
- Student student = studentClient.queryStudentById(re.getStudentId());
- re.setPayStudent(student.getName());
+ String studentId = re.getStudentId();
+ String[] split = studentId.split(";");
+ StringBuilder stringBuilder = new StringBuilder("");
+
+ for (String s : split) {
+ Student student = studentClient.queryStudentById(Integer.valueOf(s));
+ stringBuilder.append(student.getName()+",");
+ }
+ String string = stringBuilder.toString();
+ if (string.length() > 0) {
+ String stringWithoutLastCharacter = string.substring(0, string.length() - 1);
+ re.setPayStudent(stringWithoutLastCharacter);
+ }
re.setPayUser(appUser.getName());
re.setPhone(appUser.getPhone());
re.setStoreName(store.getName());
@@ -341,7 +367,7 @@
} else {
List<Student> students = studentClient.queryStudentListByName(query.getPayStudent());
for (Student student1 : students) {
- if (student.getName().equals(student1.getName())) {
+ if (string.contains(student1.getName())) {
result.add(re);
}
}
@@ -349,7 +375,6 @@
}
}
}
-
if (re.getPayType() != null) {
if (re.getPayType() == 1) {
re.setBuyTypeName("微信支付");
@@ -377,7 +402,7 @@
if (discountService.list(new QueryWrapper<TCoursePackageDiscount>()
.eq("coursePackageId", re.getCoursePackageId()).eq("auditStatus", 2)).size() > 0) {
re.setBuyType(3);
- re.setDiscountAmount(re.getOriginalPrice().subtract(re.getPayMoney()));
+ re.setDiscountAmount(re.getOriginalPrice().subtract(re.getCashPayment()));
} else {
re.setBuyType(2);
}
@@ -453,7 +478,8 @@
}
}
TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
- Student student = studentClient.queryStudentById(re.getStudentId());
+ String[] split = re.getStudentIds().split(",");
+ Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
re.setPayStudent(student.getName());
re.setPayUser(appUser.getName());
re.setPhone(appUser.getPhone());
@@ -568,7 +594,6 @@
storeVo.setLon(store.getLon());
storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin() : paymentConfig.getCashPayment());
storeVo.setStatus(1);
- // 2.0
storeVo.setAllNum(tCoursePackagePayment.getTotalClassHours());
storeVo.setLastNum(tCoursePackagePayment.getLaveClassHours());
storeVo.setUseNum(tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours());
@@ -585,6 +610,8 @@
}
}
+ @Autowired
+ private ICoursePackageOrderStudentService orderStudentService;
/**
* 课程名称列表
@@ -592,12 +619,12 @@
@PostMapping("/base/coursePack/sessionNames")
public List<StuSessionDetailsVo> getStuSessionList(@RequestBody CourseDetailRequest request) {
List<StuSessionDetailsVo> detailsVos = new ArrayList<>();
- List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ List<CoursePackageOrderStudent> byUserId = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
.between("insertTime", request.getStartTime(), request.getEndTime())
.eq("appUserId", request.getAppUserId())
.eq("studentId", request.getStuId()));
if (byUserId.size() > 0) {
- List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+ List<Integer> collect = byUserId.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList());
List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>()
.in("id", collect));
@@ -670,22 +697,23 @@
@PostMapping("/base/coursePack/getRecord")
public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) {
- List<TCoursePackagePayment> list = new ArrayList<>();
+// List<CoursePackageOrderStudent> list = new ArrayList<>();
Integer[] changes = {1, 0};
- if (recordTimeRequest.getType() == null) {
- list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
- } else {
+// if (recordTimeRequest.getType() == null) {
+// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
+// } else {
+//
+// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
+// }
+// List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList());
+ List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
+ .eq("studentId", recordTimeRequest.getStuId())
+ .eq("coursePackageId", recordTimeRequest.getLessionId())
+ .eq("state", 1)
+ );
+ List<Long> collect = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList());
- list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime"));
-
- }
- List<Long> ids = new ArrayList<>();
- for (TCoursePackagePayment coursePackagePayment : list) {
- ids.add(coursePackagePayment.getId());
- }
-
-
- QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", ids).in("changeType", changes);
+ QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", collect).in("changeType", changes);
if (recordTimeRequest.getType() != null) {
if (recordTimeRequest.getType() == 2) {
@@ -723,11 +751,11 @@
Integer totalNu = 0;
Integer dedutNu = 0;
Integer remainNu = 0;
- List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ List<CoursePackageOrderStudent> byUserId = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
.eq("appUserId", getStuOfCoursesDetails.getAppUserId())
.eq("studentId", getStuOfCoursesDetails.getStuId()));
if (byUserId.size() > 0) {
- for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
+ for (CoursePackageOrderStudent tCoursePackagePayment : byUserId) {
totalNu = totalNu + tCoursePackagePayment.getTotalClassHours();
dedutNu = dedutNu + tCoursePackagePayment.getLaveClassHours();
remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours());
@@ -739,7 +767,6 @@
return lisco;
}
-
@PostMapping("/base/coursePack/continuingCourse")
public StudentOfCourseVo getStudentCourse(@RequestBody GetStudentCourse getStudentCourse) {
StudentOfCourseVo courseVo = new StudentOfCourseVo();
@@ -748,7 +775,6 @@
.eq("coursePackageId", getStudentCourse.getCourseId())
.eq("studentId", getStudentCourse.getStuId()));
if (tCoursePackagePayments.size() > 0) {
-
List<CourseHoursType> typeList = new ArrayList<>();
tCoursePackagePayments.forEach(cou -> {
CourseHoursType hoursType = new CourseHoursType();
@@ -759,7 +785,6 @@
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());
@@ -841,13 +866,20 @@
public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId) {
List<CouponPaymentVo> paymentVos = new ArrayList<>();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId", appUserId)
- .eq("payType", 3)
+// List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+// .eq("appUserId", appUserId)
+// .eq("payType", 3)
+// .eq("payStatus", 2)
+// .eq("state", 1));
+
+
+ List<CoursePackageOrder> list = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().eq("appUserId", appUserId).eq("payType", 3)
.eq("payStatus", 2)
.eq("state", 1));
+
+
if (list.size() > 0) {
- for (TCoursePackagePayment tCoursePackagePayment : list) {
+ for (CoursePackageOrder tCoursePackagePayment : list) {
CouponPaymentVo couponPaymentVo = new CouponPaymentVo();
couponPaymentVo.setTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
couponPaymentVo.setAmount(tCoursePackagePayment.getPlayPaiCoin());
@@ -894,7 +926,6 @@
Set<BaseVo> set = new HashSet<>(list);
List<BaseVo> back = new ArrayList<>(set);
-
return ResultUtil.success(back);
} catch (Exception e) {
e.printStackTrace();
@@ -912,25 +943,11 @@
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
})
public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList(CourseOfAfterRequest search) throws Exception {
-// try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if (null == appUserId) {
return ResultUtil.tokenErr();
}
-//
-// List<Integer> courseIds = new ArrayList<>();
-// 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());
-// }
-
-
QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId());
if (ToolUtil.isNotEmpty(search.getCourseTypeId())) {
queryWrapper1.eq("coursePackageId", search.getCourseTypeId());
@@ -943,7 +960,6 @@
}
System.out.println("======longs========" + longs);
-// List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs);
if (search.getSearch() != null) {
@@ -958,11 +974,6 @@
}
return ResultUtil.success(coursePackageSchedulings1);
-
-
-// }catch (Exception e){
-// return ResultUtil.runErr();
-// }
}
/**
@@ -1025,7 +1036,7 @@
}
}
- // 2.0
+
@ResponseBody
@PostMapping("/api/startCource/payCourse")
@ApiOperation(value = "课后练习-确认购课", tags = {"APP-开始上课"})
@@ -1124,7 +1135,7 @@
@ApiImplicitParam(name = "orderId", value = "订单id", dataType = "int")
})
- public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat, Integer orderId) {
+ public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat) {
try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if (null == appUserId) {
@@ -1132,11 +1143,11 @@
}
CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId, lon, lat);
-
- if (orderId != null) {
- TOrder byId = orderService.getById(orderId);
- courseDetailsResponse.setAmount(byId.getPrice());
- }
+//
+// if (orderId != null) {
+// TOrder byId = orderService.getById(orderId);
+// courseDetailsResponse.setAmount(byId.getPrice());
+// }
return ResultUtil.success(courseDetailsResponse);
} catch (Exception e) {
e.printStackTrace();
@@ -1156,15 +1167,15 @@
})
public ResultUtil continuationOperation(ClasspaymentRequest request) {
try {
- Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
- if (null == userIdFormRedis) {
+ Integer userId = tokenUtil.getUserIdFormRedis();
+ if (null == userId) {
return ResultUtil.tokenErr();
}
Integer couponId = request.getConponId();
if (couponId == null || couponId == 0) {
request.setConponId(null);
}
- return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis, request);
+ return packagePaymentService.ContinuationOrpaymentCourse(userId, request);
} catch (Exception e) {
return ResultUtil.runErr();
}
@@ -1177,7 +1188,6 @@
*/
@PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback")
public void alipayCallback(HttpServletRequest request, HttpServletResponse response) {
- System.err.println("========支付宝支付回调========");
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
if (null != map) {
@@ -1255,8 +1265,8 @@
@PostMapping("/coursePackagePayment/queryResidueClassHourById")
public Integer queryResidueClassHourById(@RequestBody Long id) {
try {
- TCoursePackagePayment list = packagePaymentService.getById(id);
- return list.getLaveClassHours();
+ CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(id);
+ return coursePackageOrderStudent.getLaveClassHours();
} catch (Exception e) {
e.printStackTrace();
return 0;
@@ -1292,131 +1302,43 @@
@PostMapping("/coursePackagePayment/paymentDeductionClassHour")
public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) {
try {
- // 2.0 用id进行查询
- TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2)
- .eq("status", 1).eq("state", 1).gt("laveClassHours", 0));
- Integer classHour = paymentDeductionClassHour.getClassHour();
-// for (TCoursePackagePayment coursePackagePayment : list) {
- if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) {
- coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour);
- coursePackagePayment.setAppUserId(null);
- packagePaymentService.updateById(coursePackagePayment);
-
- CourseCounsum courseCounsum = new CourseCounsum();
- courseCounsum.setPaymentId(coursePackagePayment.getId());
- courseCounsum.setChangeType(0);
- courseCounsum.setNum(classHour);
- courseCounsum.setInsertTime(new Date());
- courseCounsum.setReason("报名赛事");
- courseCounsumService.save(courseCounsum);
-
-
- List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
- List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
- coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
- coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
-
-
- TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
- String classWeeks = tCoursePackage.getClassWeeks();
- List<Integer> week = week(classWeeks);
-
- TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
-
- Date today = new Date();
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.DATE, -1);
- today = calendar.getTime();
-
-
- Integer laveClassHours = pay.getLaveClassHours();
- Integer codeTime = tCoursePackage.getCodeTime();
- Integer can = laveClassHours / codeTime;
-
- int count = 0;
- String[] split = tCoursePackage.getClassStartTime().split(",");
- String[] split1 = tCoursePackage.getClassEndTime().split(",");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-
- Date[] dates = generateDateArray(14, today);
- for (Date date : dates) {
- if (count == can) {
- break;
- }
- int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
- if (week.contains(wei)) {
- for (int i1 = 0; i1 < split.length; i1++) {
- if (count == can) {
- break;
- }
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- Date parse = format1.parse(format.format(date) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.save(coursePackageScheduling);
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(pay.getAppUserId());
- student1.setStudentId(pay.getStudentId());
- student1.setCoursePackageId(pay.getCoursePackageId());
- student1.setCoursePackagePaymentId(pay.getId());
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(1);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- studentService.save(student1);
- count++;
- }
- }
- }
-
-
- // 2.0 少于3课时 推送
- if (coursePackagePayment.getLaveClassHours() <= 3) {
- Integer appUserId = coursePackagePayment.getAppUserId();
-
- //调用推送
- HttpHeaders headers = new HttpHeaders();
- // 以表单的方式提交
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- String s1 = appUserId + "_" + "Three";
- //定时修改排课状态
- String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class);
- JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
- if (jsonObject1.getIntValue("code") != 200) {
- System.err.println(jsonObject1.getString("msg"));
- }
- }
-
- CancelledClasses cancelledClasses = new CancelledClasses();
- cancelledClasses.setType(2);
- cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
- cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
- cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
- cancelledClasses.setCancelledClassesNumber(classHour);
- cancelledClasses.setInsertTime(new Date());
- cancelledClassesService.save(cancelledClasses);
-
- } else {
- CancelledClasses cancelledClasses = new CancelledClasses();
- cancelledClasses.setType(2);
- cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
- cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
- cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
- cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
- cancelledClasses.setInsertTime(new Date());
- cancelledClassesService.save(cancelledClasses);
-
- coursePackagePayment.setLaveClassHours(0);
- packagePaymentService.updateById(coursePackagePayment);
-
- classHour -= cancelledClasses.getCancelledClassesNumber();
+ CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(paymentDeductionClassHour.getCourseId());
+ TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour());
+ coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ if(3 >= laveClassHours){
+ AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+ //发送短信提醒
+ aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
}
-// }
+ //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
+ List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
+ .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
+ .eq("type", 1).orderByDesc("classDate"));
+ //已经排课但没有使用的课时数量
+ int number = list1.size() * coursePackage.getNeedNum();
+ Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours();
+ //需要删除多余的排课记录
+ if(number > laveClassHours1){
+ int n = number - laveClassHours1;
+ for (int i = 0; i < n; i++) {
+ CoursePackageScheduling coursePackageScheduling = list1.get(i);
+ coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId());
+ coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>()
+ .eq("coursePackageSchedulingId", coursePackageScheduling.getId()));
+ }
+ }
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
+ courseCounsum.setChangeType(0);
+ courseCounsum.setNum(paymentDeductionClassHour.getClassHour());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("赛事报名");
+ courseCounsum.setAppUserId(coursePackageOrderStudent.getAppUserId());
+ courseCounsumService.save(courseCounsum);
} catch (Exception e) {
e.printStackTrace();
@@ -1478,6 +1400,8 @@
}
+ @Resource
+ private TCoursePackageMapper tcpmapper;
/**
* 找出符合门店的课包
*
@@ -1499,21 +1423,42 @@
for (String s2 : split1) {
storeIds.add(Integer.valueOf(s2));
}
- List<TCoursePackagePayment> list = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, integer).ge(TCoursePackagePayment::getLaveClassHours, 0).eq(TCoursePackagePayment::getStatus, 1).eq(TCoursePackagePayment::getState, 1));
- for (TCoursePackagePayment tCoursePackagePayment : list) {
- Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
- TCoursePackage byId = tcpService.getById(coursePackageId);
- if (byId.getType() == 3) {
+// List<TCoursePackagePayment> list = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, integer).ge(TCoursePackagePayment::getLaveClassHours, 0).eq(TCoursePackagePayment::getStatus, 1).eq(TCoursePackagePayment::getState, 1));
+// for (TCoursePackagePayment tCoursePackagePayment : list) {
+// Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
+// TCoursePackage byId = tcpService.getById(coursePackageId);
+// if (byId.getType() == 3) {
+// continue;
+// }
+// if (storeIds.contains(byId.getStoreId())) {
+// PayCourseRes payCourseRes = new PayCourseRes();
+// payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours());
+// payCourseRes.setId(tCoursePackagePayment.getId());
+// payCourseRes.setName(byId.getName());
+// objects.add(payCourseRes);
+// }
+// }
+
+
+
+ List<CoursePackageOrderStudent> tCoursePackagePayments = coursePackageOrderStudentService.list(new LambdaQueryWrapper<CoursePackageOrderStudent>().eq(CoursePackageOrderStudent::getAppUserId, integer));
+// ArrayList<PayCourseRes> payCourseRes = new ArrayList<>();
+ for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) {
+ TCoursePackage tCoursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
+ if (tCoursePackage.getType() != 1) {
continue;
}
- if (storeIds.contains(byId.getStoreId())) {
+ if (storeIds.contains(tCoursePackage.getStoreId())) {
PayCourseRes payCourseRes = new PayCourseRes();
payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours());
payCourseRes.setId(tCoursePackagePayment.getId());
- payCourseRes.setName(byId.getName());
+ payCourseRes.setName(tCoursePackage.getName());
objects.add(payCourseRes);
+
}
}
+
+
return objects;
}
@@ -1556,7 +1501,6 @@
appUser.setPlayPaiCoins(appUser.getPlayPaiCoins() - paymentConfig.getPlayPaiCoin());
auClitn.updateAppUser(appUser);
- // 2.0
TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
tCourseInfoRecord.setUserId(userIdFormRedis);
tCourseInfoRecord.setCourseId(coursePackage.getCoursePackageId());
@@ -1605,7 +1549,6 @@
boolean id = packagePaymentService.update(packagePayment, new QueryWrapper<TCoursePackagePayment>()
.eq("id", packagePayment.getId()));
if (id) {
- // 2.0
TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
tCourseInfoRecord.setNum(packagePayment.getTotalClassHours());
tCourseInfoRecord.setName("续课");
@@ -1667,7 +1610,7 @@
if (student != null) {
sId = student.getId();
}
- addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment.getId());
+ addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment, coursePackagePayment.getId());
CourseCounsum courseCounsum = new CourseCounsum();
@@ -1690,7 +1633,7 @@
if (student != null) {
sId = student.getId();
}
- addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
+ addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne, coursePackagePaymentServiceOne.getId());
CourseCounsum courseCounsum = new CourseCounsum();
@@ -1699,6 +1642,7 @@
courseCounsum.setNum(orderDto.getClassHours());
courseCounsum.setInsertTime(new Date());
courseCounsum.setReason("积分兑换");
+ courseCounsum.setInsertTime(new Date());
courseCounsumService.save(courseCounsum);
@@ -1723,10 +1667,266 @@
return dateList.toArray(new Date[0]);
}
+ public Integer getGiftClassHours(TCoursePackageDiscount one,Date insertTime){
+ if (insertTime!=null){
+ // 判断购买时间 是否满足折扣规则
+ char c = one.getContent().charAt(0);
+ String value1 = String.valueOf(c);
+ JSONObject jsonObject ;
+ if (value1.equals("[")){
+ jsonObject = JSONObject.fromObject(one.getContent()
+ .substring(1,one.getContent().length() - 1));
+ }else{
+ jsonObject = JSONObject.fromObject(one.getContent());
+ }
+ // 赠送课时 判断当前课包有没有赠送课时
+ String weeks = jsonObject.getString("weeks");
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(insertTime);
+ // 获取星期几,星期日是1,星期一是2,以此类推
+ int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+ // 将星期日(Calendar定义为1)转换为7
+ if (dayOfWeek == Calendar.SUNDAY) {
+ dayOfWeek = 7;
+ } else {
+ // 其他星期减一即可得到1-6的数字表示
+ dayOfWeek -= 1;
+ }
+ if (weeks.contains(String.valueOf(dayOfWeek))){
+ // 限时折扣判断是否在有效期
+ try {
+ // 判断当日时间是否能享受到折扣
+ String startTime = jsonObject.getString("startTime");
+ String endTime = jsonObject.getString("endTime");
+
+ // 定义时间格式
+ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
+ // 解析开始时间和结束时间为Date对象
+ Date startTime1 = sdf.parse(startTime);
+ Date endTime1 = sdf.parse(endTime);
+ Date date1 = new Date();
+ date1.setHours(startTime1.getHours());
+ date1.setMinutes(startTime1.getMinutes());
+ date1.setSeconds(startTime1.getSeconds());
+ Date date2 = new Date();
+ date2.setHours(endTime1.getHours());
+ date2.setMinutes(endTime1.getMinutes());
+ date2.setSeconds(endTime1.getSeconds());
+ // 检查当前时间是否在开始时间和结束时间之间
+ if (insertTime.after(date1) && insertTime.before(date2)) {
+ System.out.println("当前时间在开始时间和结束时间之间。");
+ String hour = jsonObject.getString("hour");
+ return Integer.valueOf(hour);
+ } else {
+ System.out.println("当前时间不在开始时间和结束时间之间。");
+ return 0;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ // 判断购买时间 是否满足折扣规则
+ char c = one.getContent().charAt(0);
+ String value1 = String.valueOf(c);
+ JSONObject jsonObject ;
+ if (value1.equals("[")){
+ jsonObject = JSONObject.fromObject(one.getContent()
+ .substring(1,one.getContent().length() - 1));
+ }else{
+ jsonObject = JSONObject.fromObject(one.getContent());
+ }
+ // 赠送课时 判断当前课包有没有赠送课时
+ String weeks = jsonObject.getString("weeks");
+ // 判断当前周几 是否满足折扣规则
+ // 获取当前日期
+ LocalDate currentDate = LocalDate.now();
+ // 获取当前日期是星期几的数字表示
+ int dayOfWeekAsNumber = currentDate.getDayOfWeek().getValue();
+ if (weeks.contains(String.valueOf(dayOfWeekAsNumber))){
+ // 限时折扣判断是否在有效期
+ try {
+ // 判断当日时间是否能享受到折扣
+ String startTime = jsonObject.getString("startTime");
+ String endTime = jsonObject.getString("endTime");
+ // 获取当前时间
+ Date currentTime = new Date();
+ // 定义时间格式
+ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
+ // 解析开始时间和结束时间为Date对象
+ Date startTime1 = sdf.parse(startTime);
+ Date endTime1 = sdf.parse(endTime);
+ Date date1 = new Date();
+ date1.setHours(startTime1.getHours());
+ date1.setMinutes(startTime1.getMinutes());
+ date1.setSeconds(startTime1.getSeconds());
+ Date date2 = new Date();
+ date2.setHours(endTime1.getHours());
+ date2.setMinutes(endTime1.getMinutes());
+ date2.setSeconds(endTime1.getSeconds());
+ // 检查当前时间是否在开始时间和结束时间之间
+ if (currentTime.after(date1) && currentTime.before(date2)) {
+ System.out.println("当前时间在开始时间和结束时间之间。");
+ String hour = jsonObject.getString("hour");
+
+ return Integer.valueOf(hour);
+ } else {
+ System.out.println("当前时间不在开始时间和结束时间之间。");
+ return 0;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ return 0;
+ }
+
@Autowired
private TCoursePackageService coursePackageService;
- private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException {
+ private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrder coursePackageOrder, CoursePackageOrderStudent coursePackageOrderStudent) {
+ try {
+ //1常规 2假期 3体验
+ if (tCoursePackage.getType() == 1) {
+ //上课星期
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //上课时段
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ //剩余课时
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ //扣除课时数
+ Integer codeTime = tCoursePackage.getCodeTime();
+ //排课 本周+下周,课时不够扣则直接剩余不排课
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ int day_week = calendar.get(Calendar.DAY_OF_WEEK);
+ day_week = day_week - 1 == 0 ? 7 : day_week - 1;
+ int num = 8 - day_week + 7;
+ Date useTime = coursePackageOrderStudent.getUseTime();
+
+ for (int i = 0; i < num; i++) {
+ Date time = calendar.getTime();
+
+ //判断当天是否在排课星期内
+ int day = calendar.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+
+
+ //大于有效期不进行排课
+ if (calendar.getTimeInMillis() >= useTime.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ //剩余数量不足以排课
+ if (laveClassHours.compareTo(codeTime) < 0) {
+ break;
+ }
+
+ laveClassHours -= codeTime;
+
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setType(tCoursePackage.getType());
+ coursePackageScheduling.setAppUserId(userId);
+ coursePackageScheduling.setStudentId(sId);
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(time) + " " + split[j]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ }
+ //增加日期,用于判断
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ }
+ }
+
+ if (tCoursePackage.getType() == 2) {
+ //上课星期
+ String classWeeks = tCoursePackage.getClassWeeks();
+ List<Integer> week = week(classWeeks);
+ //上课时段
+ String[] split = tCoursePackage.getClassStartTime().split(",");
+ String[] split1 = tCoursePackage.getClassEndTime().split(",");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+ Date startTime = tCoursePackage.getStartTime();
+ Date endTime = tCoursePackage.getEndTime();
+ //排课 本周+下周,课时不够扣则直接剩余不排课
+ Calendar calendar = Calendar.getInstance();
+ //假期开始使用当前时间为起始时间进行排课
+ calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date());
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ while (true) {
+ Date time = calendar.getTime();
+
+ //判断当天是否在排课星期内
+ int day = calendar.get(Calendar.DAY_OF_WEEK);
+ day = day - 1 == 0 ? 7 : day - 1;
+ if (!week.contains(day)) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ continue;
+ }
+
+ //大于有效期不进行排课
+ if (calendar.getTimeInMillis() > endTime.getTime()) {
+ break;
+ }
+ for (int j = 0; j < split.length; j++) {
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setType(tCoursePackage.getType());
+ coursePackageScheduling.setAppUserId(userId);
+ coursePackageScheduling.setStudentId(sId);
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ Date parse = format1.parse(format.format(time) + " " + split[j]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(null);
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(1);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ }
+ //增加日期,用于判断
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ private void addPackageStudent(Integer courseId, Integer userId, Integer sId, TCoursePackagePayment coursePackagePayment, Long paymentId) throws ParseException {
// 课包
TCoursePackage tCoursePackage = coursePackageService.getById(courseId);
@@ -1861,9 +2061,6 @@
}
}
}
-
-
- // 2.0
TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
tCourseInfoRecord.setUserId(userId);
tCourseInfoRecord.setCourseId(courseId);
@@ -1872,19 +2069,12 @@
tCourseInfoRecord.setTime(new Date());
tCourseInfoRecord.setType(2);
appUserClient.addCourseInfoRecord(tCourseInfoRecord);
-
-
}
@ResponseBody
@PostMapping("/base/coursePack/obtainStudentClassDetails")
public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId) {
-// try {
- return packagePaymentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum());
-// }catch (Exception e){
-// e.printStackTrace();
-// throw new RuntimeException();
-// }
+ return coursePackageOrderStudentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum());
}
@@ -1902,16 +2092,16 @@
}
- // 2.0 送课时
@PostMapping("/base/coursePack/sendHours")
public Integer sendHours(@RequestBody String s) throws ParseException {
String[] split2 = s.split("_");
- TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split2[0]));
- byId.setTotalClassHours(byId.getTotalClassHours() + Integer.valueOf(split2[2]));
- boolean b = packagePaymentService.updateHoursById(byId, Integer.valueOf(split2[2]));
+ CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(Long.valueOf(split2[0]));
+ coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + Integer.valueOf(split2[2]));
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + Integer.valueOf(split2[2]));
+ coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
CourseCounsum courseCounsum = new CourseCounsum();
- courseCounsum.setPaymentId(byId.getId());
+ courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
courseCounsum.setChangeType(1);
courseCounsum.setNum(Integer.valueOf(split2[2]));
courseCounsum.setInsertTime(new Date());
@@ -1919,17 +2109,17 @@
courseCounsumService.save(courseCounsum);
- List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId()));
+ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackageOrderStudent.getStudentId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()));
List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
- coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId()));
+ coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackageOrderStudent.getStudentId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()));
- TCoursePackage tCoursePackage = packageService.getById(byId.getCoursePackageId());
+ TCoursePackage tCoursePackage = packageService.getById(coursePackageOrderStudent.getCoursePackageId());
String classWeeks = tCoursePackage.getClassWeeks();
List<Integer> week = week(classWeeks);
- TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", byId.getCoursePackageId()).eq("studentId", byId.getStudentId()));
+ TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).eq("studentId", coursePackageOrderStudent.getStudentId()));
Date today = new Date();
@@ -1976,14 +2166,7 @@
}
}
}
-
-
- if (b) {
- return 1;
- } else {
-
- return 0;
- }
+ return 1;
}
@@ -2041,11 +2224,51 @@
return packagePaymentService.getById(id);
}
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById1")
+ public CoursePackageOrderStudent queryCoursePackagePaymentById1(@RequestParam("id") Long id) {
+ return coursePackageOrderStudentService.getById(id);
+ }
+
+
+// @Autowired
+// private ICoursePackageOrderStudentService orderStudentService;
+
+
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/consumeCourse")
+ public Integer consumeCourse(@RequestBody Integer coursePackagePaymentId) {
+ CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId);
+
+ TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
+
+ if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){
+ return 1;
+ }
+ coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum());
+ orderStudentService.updateById(coursePackageOrderStudent);
+ Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+ if(3 >= laveClassHours){
+ AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+ //发送短信提醒
+ aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+ }
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
+ courseCounsum.setChangeType(0);
+ courseCounsum.setNum(coursePackage.getNeedNum());
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("补课");
+ courseCounsumService.save(courseCounsum);
+ return 2;
+ }
+
@ResponseBody
@PostMapping("/coursePackagePayment/CountqueryByClassId")
public Integer CountqueryByClassId(@RequestBody Integer id) {
- int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id));
+ int coursePackageId = coursePackageOrderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", id));
return coursePackageId;
@@ -2064,7 +2287,6 @@
packagePaymentService.updateById(coursePackagePayment);
}
-
/**
* 修改数据
*
@@ -2078,13 +2300,23 @@
packagePaymentService.updateBytime(coursePackagePayment);
}
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/editCoursePackagePayment2")
+ public void editCoursePackagePayment2(@RequestBody CoursePackageOrderStudent coursePackageOrderStudent) {
+ System.out.println("editCoursePackagePayment1====coursePackagePayment" + coursePackageOrderStudent);
+// coursePackagePayment.setCoursePackageId(null);
+// packagePaymentService.updateBytime(coursePackagePayment);
+
+ coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+ }
+
/**
* 上课主页-预约操作
*/
@ResponseBody
@PostMapping("/api/startCource/reverse")
- @ApiOperation(value = "上课主页-预约操作--2.0改请假操作", tags = {"APP-开始上课"})
+ @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"),
@@ -2098,10 +2330,10 @@
if (null == appUserId) {
return ResultUtil.tokenErr();
}
- List<TCoursePackagePayment> packagePayment = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>()
- .eq(TCoursePackagePayment::getCoursePackageId, courseID)
- .eq(TCoursePackagePayment::getAppUserId, appUserId)
- .eq(TCoursePackagePayment::getStudentId, stuId)
+ List<CoursePackageOrderStudent> packagePayment = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
+ .eq("coursePackageId", courseID)
+ .eq("appUserId", appUserId)
+ .eq("studentId", stuId)
);
if (ToolUtil.isEmpty(packagePayment) || packagePayment.size() == 0) {
@@ -2113,7 +2345,7 @@
);
List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
- .in(CoursePackageStudent::getCoursePackagePaymentId, packagePayment.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList()))
+ .in(CoursePackageStudent::getCoursePackagePaymentId, packagePayment.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList()))
.in(CoursePackageStudent::getCoursePackageSchedulingId, coursePackageSchedulings.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()))
.eq(CoursePackageStudent::getCoursePackageId, courseID)
.eq(CoursePackageStudent::getStudentId, stuId)
@@ -2176,27 +2408,21 @@
map.put("name", store.getName());
map.put("lon", lon);
map.put("lat", lat);
-
-
// 找出门店的所有课程 排出体验
- List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
+ List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>()
+ .eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3)
+ .eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
if (collect.size() == 0) {
collect.add(-1);
}
- // 找出购买的课包
- List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
- .eq("appUserId", courseDetailReq.getAppUserId())
- .eq("studentId", courseDetailReq.getStuId())
- .in("coursePackageId", collect)
- .eq("status", 1)
- .eq("state", 1)
+
+ List<CoursePackageScheduling> list8 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>()
+ .eq(CoursePackageScheduling::getAppUserId, courseDetailReq.getAppUserId())
+ .eq(CoursePackageScheduling::getStudentId, courseDetailReq.getStuId())
+ .in(CoursePackageScheduling::getCoursePackageId, collect)
);
-
- List<Integer> collect1 = list1.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList());
- List<Long> ids = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList());
-
-
+ List<Integer> collect1 = list8.stream().map(CoursePackageScheduling::getCoursePackageId).collect(Collectors.toList());
for (TCoursePackage tCoursePackage : list) {
DetailsListVo detailsListVo = new DetailsListVo();
detailsListVo.setId(tCoursePackage.getId());
@@ -2235,12 +2461,16 @@
detailsListVo.setMoney(cashPayment);
}
detailsListVo.setNum(tCoursePackage.getNeedNum());
+
+
+
if (collect1.contains(tCoursePackage.getId())) {
// 找出排课记录
List<CoursePackageScheduling> list3 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>()
.eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
.like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
);
+
if (list3.isEmpty()) {
detailsListVo.setType(2);
objects.add(detailsListVo);
@@ -2248,16 +2478,16 @@
}
//排课的ids
List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
- if (collect2.isEmpty()) {
+ if (collect2.isEmpty()){
collect2.add(-1l);
}
List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
.eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId())
+ .eq(CoursePackageStudent::getStudentId, courseDetailReq.getStuId())
.eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId())
- .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2).
- in(CoursePackageStudent::getCoursePackagePaymentId, ids)
+ .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2)
);
List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId", tCoursePackage.getId()));
@@ -2272,14 +2502,25 @@
detailsListVo.setIsType(list4.get(0).getType());
for (CoursePackageStudent coursePackageStudent : list4) {
+ CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
+ if (coursePackageScheduling.getStatus()==4){
+ detailsListVo.setIsType(3);
+ }
+
Integer signInOrNot1 = coursePackageStudent.getSignInOrNot();
detailsListVo.setType(1);
if (signInOrNot1 == 2) {
detailsListVo.setType(3);
}
+ //体验购课去掉按钮
+ if(coursePackageScheduling.getType() == 3){
+ detailsListVo.setCourseType(3);
+ detailsListVo.setType(2);
+ }
+
+
detailsListVo.setIsType(coursePackageStudent.getType());
- CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
Date classDate = coursePackageScheduling.getClassDate();
Date endDate = coursePackageScheduling.getEndDate();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
@@ -2308,6 +2549,10 @@
detailsListVo.setType(2);
objects.add(detailsListVo);
+ }
+ //课程暂停
+ if(tCoursePackage.getState() == 4){
+ detailsListVo.setType(4);
}
}
map.put("data", objects);
@@ -2353,18 +2598,18 @@
ids.add(-1);
}
List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids);
- List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
- if (collect.size() == 0) {
- collect.add(-1);
- }
- List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
- for (TCoursePackagePayment tCoursePackagePayment : list1) {
- for (TCoursePackage tCoursePackage : list2) {
- if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
- tCoursePackagePayment.setType(tCoursePackage.getType());
- }
- }
- }
+// List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+// if (collect.size() == 0) {
+// collect.add(-1);
+// }
+// List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
+// for (TCoursePackagePayment tCoursePackagePayment : list1) {
+// for (TCoursePackage tCoursePackage : list2) {
+// if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
+// tCoursePackagePayment.setType(tCoursePackage.getType());
+// }
+// }
+// }
List<Map<String, Object>> mapList = new ArrayList<>();
@@ -2373,7 +2618,7 @@
map.put("name", tCoursePackageType.getName());
int a = 0;
for (TCoursePackagePayment tCoursePackagePayment : list1) {
- if (tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
+ if (null != tCoursePackagePayment.getType() && tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
a += tCoursePackagePayment.getLaveClassHours();
}
}
@@ -2396,7 +2641,8 @@
List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.listOne(userPt);
int sum = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getTotalClassHours).sum();
int sum1 = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getLaveClassHours).sum();
- map.put("allCourse", sum - sum1);
+ // 查询介绍有礼课时数量
+ map.put("allCourse",sum-sum1);
//所有课包
List<TCoursePackage> coursePackages = tcpService.list();
@@ -2657,10 +2903,7 @@
weekData.add(count2);
weekData.add(count1);
weekData.add(count);
-
map.put("weekData", weekData);
-
-
LocalDateTime currentDateTime = LocalDateTime.now();
List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0));
for (CoursePackageStudent coursePackageStudent : list) {
@@ -2835,4 +3078,21 @@
return map;
}
+
+
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/queryPaymentCoursePackage")
+ public List<Integer> queryPaymentCoursePackage(@RequestBody List<Integer> storeIds){
+ if(storeIds.size() == 0){
+ return new ArrayList<>();
+ }
+ List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("auditStatus", 2)
+ .ne("status", 4).eq("state", 1).in("storeId", storeIds));
+ List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
+ if(collect.size() == 0){
+ return new ArrayList<>();
+ }
+ List<CoursePackageOrder> list1 = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().in("coursePackageId", collect).eq("payStatus", 2).eq("status", 1));
+ return list1.stream().map(CoursePackageOrder::getAppUserId).collect(Collectors.toList());
+ }
}
--
Gitblit v1.7.1