From f834ff9a7a61acfe9e09574a592e863e70e895ef Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期二, 26 九月 2023 22:51:54 +0800
Subject: [PATCH] 9.26。10
---
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 335 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 247 insertions(+), 88 deletions(-)
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 4e7fbbd..49b711f 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -8,6 +8,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.entity.*;
+import com.dsh.course.entity.TAppUser;
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.CoachClient;
import com.dsh.course.feignclient.account.StudentClient;
@@ -23,9 +24,7 @@
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.mapper.*;
-import com.dsh.course.model.BillingRequest;
-import com.dsh.course.model.QueryRegistrationRecord;
-import com.dsh.course.model.QueryWalkInStudentList;
+import com.dsh.course.model.*;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.RegisterCourseVo;
import com.dsh.course.model.vo.request.*;
@@ -35,12 +34,14 @@
import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
@@ -117,6 +118,37 @@
+ @Override
+ public List<CoursePackagePaymentVO> listAll(CoursePackagePaymentQuery query) {
+ return cpConfigMapper.listAll(query);
+ }
+
+ @Override
+ public int changeState(CoursePackagePayDTO dto) {
+ List<String> ids = dto.getIds();
+ List<Long> list = new ArrayList<>();
+ for (String id : ids) {
+ long value = Long.parseLong(id);
+ list.add(value);
+ }
+ return cpConfigMapper.changeState(list,dto.getPayUserName(),dto.getUserId());
+ }
+
+ @Override
+ public void updateBytime(TCoursePackagePayment coursePackagePayment) {
+ this.baseMapper.updateBytime(coursePackagePayment);
+ }
+
+ @Override
+ public List<RegisterOrderVO> listAllRegister(RegisterOrderQuery query) {
+ String STime = null;
+ String ETime = null;
+ if (StringUtils.hasLength(query.getRegisterTime())) {
+ STime = query.getRegisterTime().split(" - ")[0] + " 00:00:00";
+ ETime = query.getRegisterTime().split(" - ")[1] + " 23:59:59";
+ }
+ return cpConfigMapper.listAllRegister(query,STime,ETime,query.getAmount());
+ }
/**
* 获取课包购买人数
@@ -222,32 +254,36 @@
.eq("appUserId",appUserId ));
System.out.println(tCoursePackagePayments);
if (tCoursePackagePayments.size() > 0){
- for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
- TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
- Store store = stoClient.queryStoreById(coursePackage.getStoreId());
- RegisterCourseVo registerCourseVo = new RegisterCourseVo();
- // 2.0
- registerCourseVo.setType(coursePackage.getType());
+ try {
+ for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
+ TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
+ Store store = stoClient.queryStoreById(coursePackage.getStoreId());
+ RegisterCourseVo registerCourseVo = new RegisterCourseVo();
+ // 2.0
+ registerCourseVo.setType(coursePackage.getType());
- registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
- registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
- registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
- registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
- String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")";
- registerCourseVo.setCourseNameStore(storeAndCourse);
+ registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
+ registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
+ registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
+ registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
+ String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")";
+ registerCourseVo.setCourseNameStore(storeAndCourse);
// registerCourseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
- // 2.0
- registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
- Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
- registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
- List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
- .eq("coursePackageId",coursePackage.getId())
- .eq("studentId",appUserId ));
- if (coursePackageStudents.size() > 0 ){
- registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
+ // 2.0
+ registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
+ Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
+ registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
+ List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
+ .eq("coursePackageId",coursePackage.getId())
+ .eq("studentId",appUserId ));
+ if (coursePackageStudents.size() > 0 ){
+ registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
+ }
+ registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
+ courseVos.add(registerCourseVo);
}
- registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
- courseVos.add(registerCourseVo);
+ }catch (Exception e){
+ e.printStackTrace();
}
if (ToolUtil.isNotEmpty(courseTypeId.getSearch())){
@@ -298,22 +334,29 @@
Integer payType = tCoursePackagePayment.getPayType();
BigDecimal cashPayment = tCoursePackagePayment.getCashPayment();
- double cashPaymentValue = cashPayment.doubleValue();
+ double cashPaymentValue = 0.0;
+ if(cashPayment!=null){
+
+ cashPaymentValue = cashPayment.doubleValue();
+ }
Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin();
TCoursePackageDiscount coursePackageDiscount = tcpdMapper.selectOne(new QueryWrapper<TCoursePackageDiscount>()
.eq("coursePackageId",coursePackage.getId() )
.eq("type",1)
.eq("auditStatus",2));
ObjectMapper objectMapper = new ObjectMapper();
- String content = coursePackageDiscount.getContent();
double discountMember = 0.0;
- DiscountJsonDto discountJsonDto = null;
- try {
- discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class);
- discountMember = discountJsonDto.getDiscountMember();
- } catch (JsonProcessingException e) {
- throw new RuntimeException(e);
+ if(coursePackageDiscount!=null){
+ String content = coursePackageDiscount.getContent();
+ DiscountJsonDto discountJsonDto = null;
+ try {
+ discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class);
+ discountMember = discountJsonDto.getDiscountMember();
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
}
+
switch (payType) {
case 1:
case 2:
@@ -586,67 +629,70 @@
SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
if (tCoursePackagePayments.size() > 0 ){
for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
- RecordAppoint recordVo = new RecordAppoint();
- recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
- TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
-
- recordVo.setCoursePackageName(coursePackage.getName());
- recordVo.setCourseHours(tCoursePackagePayment.getClassHours());
- Date date = DateUtil.getDate();
-
- String classStartTime = coursePackage.getClassStartTime();
- String classEndTime = coursePackage.getClassEndTime();
- recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime);
- Store store = stoClient.queryStoreById(coursePackage.getStoreId());
- recordVo.setStoreNameAddr(store.getName()+store.getAddress());
- CoursePackageStudent coursePackageStudent = cpsMapper.selectOne(new QueryWrapper<CoursePackageStudent>()
+ List<CoursePackageStudent> coursePackageStudent1 = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
.eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )
.eq("studentId",stuId)
.eq("appUserId",appUserId)
.eq("reservationStatus",1));
- if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 1){
+ if (ToolUtil.isNotEmpty(coursePackageStudent1) && coursePackageStudent1.size() > 0){
+ for (CoursePackageStudent coursePackageStudent : coursePackageStudent1) {
+ RecordAppoint recordVo = new RecordAppoint();
+ recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
- recordVo.setCourseStuRecordId(coursePackageStudent.getId());
- String classWeeks = coursePackage.getClassWeeks();
- String[] split = classWeeks.split(";");
- List<String> integerList = Arrays.asList(split);
- String weekOfDate = DateTimeHelper.getWeekOfDate(new Date());
- if (integerList.contains(weekOfDate)){
- String dat = simpleDateFormat.format(date) +" "+ classStartTime;
+ TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
- Date start = null;
- try {
- start = format.parse(dat);
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- if (start.after(new Date())){
- recordVo.setStatus(1);
- }else if(coursePackageStudent.getSignInOrNot()==2){
- recordVo.setStatus(5);
- }else {
- CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
- .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() ));
- if (ToolUtil.isNotEmpty(cancelledClasses)){
- recordVo.setStatus(3);
- // 消课 到课状态0 旷课
- if(coursePackageStudent.getSignInOrNot()==0){
- recordVo.setStatus(6);
- }
+ recordVo.setCoursePackageName(coursePackage.getName());
+ recordVo.setCourseHours(tCoursePackagePayment.getClassHours());
+ Date date = DateUtil.getDate();
- }else {
- recordVo.setStatus(2);
+ String classStartTime = coursePackage.getClassStartTime();
+ String classEndTime = coursePackage.getClassEndTime();
+ recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime);
+ Store store = stoClient.queryStoreById(coursePackage.getStoreId());
+ recordVo.setStoreNameAddr(store.getName()+store.getAddress());
+ recordVo.setCourseStuRecordId(coursePackageStudent.getId());
+ String classWeeks = coursePackage.getClassWeeks();
+ String[] split = classWeeks.split(";");
+ List<String> integerList = Arrays.asList(split);
+ String weekOfDate = DateTimeHelper.getWeekOfDate(new Date());
+ if (integerList.contains(weekOfDate)){
+ String dat = simpleDateFormat.format(date) +" "+ classStartTime;
+
+ Date start = null;
+ try {
+ start = format.parse(dat);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
}
+ if (start.after(new Date())){
+ recordVo.setStatus(1);
+ }else if(coursePackageStudent.getSignInOrNot()==2){
+ recordVo.setStatus(5);
+ }else {
+ CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
+ .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() ));
+ if (ToolUtil.isNotEmpty(cancelledClasses)){
+ recordVo.setStatus(3);
+ // 消课 到课状态0 旷课
+ if(coursePackageStudent.getSignInOrNot()==0){
+ recordVo.setStatus(6);
+ }
+
+ }else {
+ recordVo.setStatus(2);
+ }
+ }
+ }else {
+ recordVo.setStatus(1);
}
- }else {
- recordVo.setStatus(1);
+ recordVoList.add(recordVo);
}
}else {
- recordVo.setStatus(4);
+// recordVo.setStatus(4);
}
- recordVoList.add(recordVo);
+
}
}
return recordVoList;
@@ -697,17 +743,23 @@
}
List<Map<String, Object>> list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);
for (Map<String, Object> map : list) {
+
Long id = Long.valueOf(map.get("id").toString());
Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
Integer studentId = Integer.valueOf(map.get("studentId").toString());
- AppUser appUser = appuClient.queryAppUser(appUserId);
+
+ TAppUser appUser = appuClient.queryAppUser1(appUserId);
map.put("userName", null != appUser ? appUser.getName() : "");
map.put("phone", null != appUser ? appUser.getPhone() : "");
Student student = studentClient.queryStudentById(studentId);
map.put("studentName", null != student ? student.getName() : "");
Integer integer = cpsMapper.selectCount(new QueryWrapper<CoursePackageStudent>().eq("appUserId", appUserId)
- .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 1));
+ .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 2));
map.put("already", integer);
+// if (student != null && student.getName().equals("杨锴1")) {
+// map.put("totalClassHours", "测试");
+// }
+ ;
}
return list;
}
@@ -799,9 +851,98 @@
strings.add(s);
}
payCourseInfoReq.setTime(strings);
+ List<Integer> week = week(tCoursePackage.getClassWeeks());
+
+ // 今天周几
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+
+ SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
+ ArrayList<String> strings1 = new ArrayList<>();
+
+ for (Integer integer : week) {
+ if(integer<i){
+ // 找下一周的时间
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE,7-(i-integer));
+ Date time = instance.getTime();
+ strings1.add(format.format(time));
+
+ }else if(integer>i) {
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE,integer-i);
+ Date time = instance.getTime();
+ strings1.add(format.format(time));
+ }else {
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE,7);
+ Date time = instance.getTime();
+ strings1.add(format.format(time));
+ }
+ }
+ payCourseInfoReq.setDay(strings1);
return payCourseInfoReq;
}
+ private static List<Integer> week(String week){
+ String[] split = week.split(";");
+ ArrayList<Integer> integers = new ArrayList<>();
+ for (String s : split) {
+ switch (s){
+ case "周一":
+ integers.add(1);
+ break;
+ case "周二":
+ integers.add(2);
+ break;
+ case "周三":
+ integers.add(3);
+ break;
+ case "周四":
+ integers.add(4);
+ break;
+ case "周五":
+ integers.add(5);
+ break;
+ case "周六":
+ integers.add(6);
+ break;
+ case "周日":
+ integers.add(7);
+ break;
+ }
+ }
+ return integers;
+ }
+ public static void main(String[] args) {
+ List<Integer> week = week("周一,周二");
+ // 今天周几
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+
+ SimpleDateFormat format = new SimpleDateFormat("MM.dd");
+
+ ArrayList<String> strings = new ArrayList<>();
+ for (Integer integer : week) {
+ if(integer<i){
+ // 找下一周的时间
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE,7-(i-integer));
+ Date time = instance.getTime();
+ strings.add(format.format(time));
+
+ }else if(integer>i) {
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE,integer-i);
+ Date time = instance.getTime();
+ strings.add(format.format(time));
+ }else {
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE,7);
+ Date time = instance.getTime();
+ strings.add(format.format(time));
+ }
+ }
+ System.out.println(strings);
+ }
@Override
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
public ResultUtil payCourse(PayCourseReq req,Integer userId){
@@ -814,7 +955,7 @@
return ResultUtil.error("当前课包课时数不足");
}
tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours()-req.getNum());
- this.baseMapper.updateById(tCoursePackagePayment);
+ this.baseMapper.updateHoursById(tCoursePackagePayment.getId(),-req.getNum());
TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId());
@@ -852,7 +993,7 @@
for (String s : time) {
for (int i = 0; i < split.length; i++) {
CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCourseId(tCoursePackage.getId());
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
try {
Date parse = format.parse(s + " " + split[i]);
Date parse1 = format.parse(s + " " + split1[i]);
@@ -867,11 +1008,12 @@
student1.setCoursePackageId(tCoursePackage.getId());
student1.setCoursePackagePaymentId(tCoursePackagePayment1.getId());
student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(0);
+ student1.setSignInOrNot(1);
student1.setReservationStatus(1);
student1.setInsertTime(new Date());
+ student1.setType(1);
cpsMapper.insert(student1);
- } catch (ParseException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
@@ -882,7 +1024,7 @@
// 2.0
TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
tCourseInfoRecord.setUserId(userId);
- tCourseInfoRecord.setCourseId(req.getOldCourseId());
+ tCourseInfoRecord.setCourseId(req.getCourseId());
tCourseInfoRecord.setName("体验购课");
tCourseInfoRecord.setNum(req.getNum());
tCourseInfoRecord.setTime(new Date());
@@ -910,5 +1052,22 @@
}
+ @Override
+ public void updateUseTime(Long id, Date date) {
+ this.baseMapper.updateUseTime(id,date);
+ }
+
+ @Override
+ public List<Integer> getStudentIds(Long payId, Integer classId, Integer appId) {
+ return this.baseMapper.getStudentIds(payId,classId,appId);
+ }
+
+ @Override
+ public boolean updateHoursById(TCoursePackagePayment byId, int i) {
+ return this.baseMapper.updateHoursById(byId.getId(),i);
+ }
+
+
+
}
--
Gitblit v1.7.1