From ddbb38c54db9c3670e5ff53f4bf713525de1099d Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期二, 14 十一月 2023 09:12:10 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 432 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 397 insertions(+), 35 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java index 631575c..b277725 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java @@ -1,7 +1,9 @@ package com.dsh.course.controller; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsh.course.entity.*; @@ -9,6 +11,7 @@ import com.dsh.course.feignclient.account.AppUserClient; import com.dsh.course.feignclient.account.StudentClient; import com.dsh.course.feignclient.account.model.Student; +import com.dsh.course.mapper.CoursePackageSchedulingMapper; import com.dsh.course.model.dto.ToClassDto; import com.dsh.course.service.*; import com.dsh.course.util.ResultUtil; @@ -23,10 +26,9 @@ import javax.annotation.Resource; import javax.swing.text.html.parser.Entity; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; @Api @@ -38,6 +40,68 @@ CoursePackageStudentService studentService ; @Autowired TCoursePackagePaymentService paymentService; + @Autowired + private CourseCounsumService counsumService; + @Autowired + private TCoursePackageService coursePackageService; + //获取退费记录 + @RequestMapping("/getRefund") + @ResponseBody + public List<MoneyBack> getRefund() { + // 查询已通过申请的退费记录 + return counsumService.getRefund(); + } + + + @Resource + private CoursePackageSchedulingMapper coursePackageSchedulingService; + + + + + @RequestMapping("/getStudentTotal") + @ResponseBody + public List<Map<String, Object>> get(@RequestBody StudentQeryDto studentQeryDto) { + System.out.println("-====studentQeryDto========="+studentQeryDto); + List<Map<String, Object>> pays = paymentService.getStudentTotal(studentQeryDto); + System.out.println("=========pays======"+pays); + + return pays; + + } + + + @RequestMapping("/bypac") + @ResponseBody + public List<Map<String, Object>> bypac(@RequestBody PacQueryDto pacQueryDto) { + System.out.println("-====studentQeryDto========="+pacQueryDto); + if (pacQueryDto.getStoreIds()!=null && pacQueryDto.getStoreIds().size()!=0){ + // 根据门店id 查询课包ids + List<Integer> coursePackageIds = coursePackageService.list(new QueryWrapper<TCoursePackage>() + .in("storeId", pacQueryDto.getStoreIds())).stream() + .map(TCoursePackage::getId).collect(Collectors.toList()); + pacQueryDto.setStoreIds(coursePackageIds); + } + List<Map<String, Object>> pays = paymentService.bypac(pacQueryDto); + + System.out.println("=========pays======"+pays); + + return pays; + + } + + @ResponseBody + @PostMapping("/queryIdsByStore") + public List<Integer> queryIdsByStore(@RequestBody Integer objectId){ + List<TCoursePackage> list = packageService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, objectId)); + List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + return collect; + } + + //获取学员课时数信息 @RequestMapping("/getInfo") @ResponseBody @@ -105,14 +169,18 @@ //获取可转移学员 @RequestMapping("/getSelect") @ResponseBody - public List<SelectDto> getSelect(@RequestParam("payId")Integer payId){ + public List<SelectDto> getSelect(@RequestParam("payId")Long payId){ - List<Integer> studentIds = paymentService.getStudentIds(payId); + TCoursePackagePayment byId = paymentService.getById(payId); + + List<Integer> studentIds = paymentService.getStudentIds(payId,byId.getCoursePackageId(),byId.getAppUserId()); System.out.println("=========studentIds=================>"+studentIds); + if (studentIds.size()>0){ List<SelectDto> selectDtos = appUserClient.getSelects(studentIds); - return selectDtos; + return selectDtos;} + else return null; } @@ -155,7 +223,7 @@ List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>() .select("id", "name") .eq("storeId", storeId) - .eq("type","1") + .eq("type","1").ne("id",id) ); List<SelectDto> selectDtos = new ArrayList<>(); for (TCoursePackage t :list){ @@ -171,8 +239,7 @@ return selectDtos; } - @Autowired - private CourseCounsumService counsumService; + @RequestMapping("/queryCounsum") @ResponseBody public List<CourseCounsum> queryCounsum(@RequestBody ConsumeQuery consumeQuery){ @@ -214,6 +281,15 @@ moneyBack.setIds(insertBackDto.getIds()); moneyBackService.save(moneyBack); + List<TCoursePackagePayment> pays = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", insertBackDto.getIds())); + for (TCoursePackagePayment o :pays){ + o.setStatus(4); + o.setAppUserId(null); + } + + + + paymentService.updateBatchById(pays); } @@ -236,6 +312,15 @@ } + @RequestMapping("/noStatus") + @ResponseBody + public void noStatus(@RequestParam("id")Integer id){ + MoneyBack byId = moneyBackService.getById(id); + byId.setStatus(2); + moneyBackService.updateById(byId); + + } + @RequestMapping("/zeroClass") @ResponseBody public void zeroClass(@RequestParam("id")Integer id){ @@ -244,20 +329,47 @@ System.out.println("========split===>"+split); List<TCoursePackagePayment> id1 = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", split)); for (TCoursePackagePayment o :id1){ + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setNum(o.getLaveClassHours()); + courseCounsum.setChangeType(0); + courseCounsum.setReason("退费"); + courseCounsum.setPaymentId(o.getId()); + courseCounsum.setInsertTime(new Date()); + counsumService.save(courseCounsum); + o.setTotalClassHours(0); o.setLaveClassHours(0); + o.setStatus(2); o.setAppUserId(null); + + + + } paymentService.updateBatchById(id1); } + + @RequestMapping("/backStausClass") + @ResponseBody + public void backStausClass(@RequestParam("id")Integer id){ + MoneyBack byId = moneyBackService.getById(id); + String[] split = byId.getIds().split(","); + System.out.println("========split===>"+split); + List<TCoursePackagePayment> id1 = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", split)); + for (TCoursePackagePayment o :id1){ + o.setStatus(1); + o.setAppUserId(null); + } + paymentService.updateBatchById(id1); + } @RequestMapping("/cancel") @ResponseBody public void cancel(@RequestParam("ids")String ids){ String[] split = ids.split(","); List<CoursePackageStudent> coursePackagePaymentId = studentService.list(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", split)); for (CoursePackageStudent student :coursePackagePaymentId){ - student.setReservationStatus(2); + student.setReservationStatus(3); student.setAppUserId(null); } studentService.updateBatchById(coursePackagePaymentId); @@ -290,12 +402,16 @@ orinPay.setTotalClassHours(0); orinPay.setLaveClassHours(0); + orinPay.setStatus(5); orinPay.setAppUserId(null); paymentService.updateById(orinPay); CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("转课"); + if (orinPay.getAppUserId()!=studentPay.getAppUserId()){ + courseCounsum.setReason("赠课"); + }else { courseCounsum.setReason("转课"); + } courseCounsum.setNum(laveClassHours); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); @@ -323,22 +439,6 @@ - orinPay.setTotalClassHours(0); - orinPay.setLaveClassHours(0); - orinPay.setAppUserId(null); - paymentService.updateById(orinPay); - - - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("赠课"); - courseCounsum.setNum(orinPay.getLaveClassHours()); - courseCounsum.setChangeType(0); - courseCounsum.setPaymentId(orinPay.getId()); - counsumService.save(courseCounsum); - - - Student student = studentClient.queryStudentById(toClassDto.getToStudentId()); TCoursePackagePayment to = new TCoursePackagePayment(); to.setStudentId(toClassDto.getToStudentId()); @@ -351,6 +451,28 @@ to.setStatus(1); to.setInsertTime(new Date()); paymentService.save(to); + + + + orinPay.setTotalClassHours(0); + orinPay.setLaveClassHours(0); + orinPay.setAppUserId(null); + orinPay.setStatus(6); + paymentService.updateById(orinPay); + + + + + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("赠课"); + courseCounsum.setNum(orinPay.getLaveClassHours()); + courseCounsum.setChangeType(0); + courseCounsum.setPaymentId(orinPay.getId()); + counsumService.save(courseCounsum); + + + CourseCounsum courseCounsum1 = new CourseCounsum(); @@ -370,7 +492,7 @@ private StudentClient studentClient; @RequestMapping(value = "/toHoli",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") @ResponseBody - public String toHoli(@RequestBody ToHoliDto toHoliDto){ + public String toHoli(@RequestBody ToHoliDto toHoliDto) throws ParseException { String [] ids = toHoliDto.getIds(); List<String> strings = new ArrayList<>(); @@ -397,6 +519,7 @@ payment.setLaveClassHours(laveClassHoursnew); payment.setTotalClassHours(totalClassHoursnew); payment.setAppUserId(null); + payment.setStatus(3); paymentService.updateById(payment); @@ -412,7 +535,114 @@ holi.setLaveClassHours(toHoliDto.getClassNum()); holi.setState(1); holi.setInsertTime(new Date()); + holi.setPayStatus(2); paymentService.save(holi); + + TCoursePackage tCoursePackage = packageService.getById(toHoliDto.getClassId()); + 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"); + // 本周周几 + int i = DateUtil.dayOfWeek(new Date())-1; + for (Integer integer : week) { + if(integer<i){ + // 找下一周的时间 + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7-(i-integer)); + Date time = instance.getTime(); + + for (int i1 = 0; i1 < split.length; i1++) { + + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[i1]); + Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(student.getAppUserId()); + student1.setStudentId(student.getId()); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(holi.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + studentService.save(student1); + + } + + }else if(integer>i) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,integer-i); + Date time1 = instance.getTime(); + List<Date> list = new ArrayList<>(); + list.add(time1); + instance.add(Calendar.DATE,7); + Date time2 = instance.getTime(); + list.add(time2); + for (Date time : list) { + for (int i1 = 0; i1 < split.length; i1++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[i1]); + Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(student.getAppUserId()); + student1.setStudentId(student.getId()); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(holi.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + studentService.save(student1); + } + } + + }else { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7); + Date time = instance.getTime(); + + for (int i1 = 0; i1 < split.length; i1++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[i1]); + Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(student.getAppUserId()); + student1.setStudentId(student.getId()); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(holi.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + studentService.save(student1); + } + } + } + + + System.out.println("保存成功=============》="+holi); @@ -427,12 +657,41 @@ - + } + private 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; } @RequestMapping(value = "/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") @ResponseBody - public String toTrans(@RequestBody ToHoliDto toHoliDto){ + public String toTrans(@RequestBody ToHoliDto toHoliDto) throws ParseException { String [] ids = toHoliDto.getIds(); List<String> strings = new ArrayList<>(); @@ -474,9 +733,116 @@ holi.setLaveClassHours(laveClassHours); holi.setState(1); holi.setInsertTime(new Date()); + holi.setPayStatus(2); paymentService.save(holi); System.out.println("保存成功=============》="+holi); + + + + TCoursePackage tCoursePackage = packageService.getById(toHoliDto.getClassId()); + 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"); + // 本周周几 + int i = DateUtil.dayOfWeek(new Date())-1; + for (Integer integer : week) { + if(integer<i){ + // 找下一周的时间 + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7-(i-integer)); + Date time = instance.getTime(); + + for (int i1 = 0; i1 < split.length; i1++) { + + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[i1]); + Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(student.getAppUserId()); + student1.setStudentId(student.getId()); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(holi.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + studentService.save(student1); + + } + + }else if(integer>i) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,integer-i); + Date time1 = instance.getTime(); + List<Date> list = new ArrayList<>(); + list.add(time1); + instance.add(Calendar.DATE,7); + Date time2 = instance.getTime(); + list.add(time2); + for (Date time : list) { + for (int i1 = 0; i1 < split.length; i1++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[i1]); + Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(student.getAppUserId()); + student1.setStudentId(student.getId()); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(holi.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + studentService.save(student1); + } + } + + }else { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7); + Date time = instance.getTime(); + + for (int i1 = 0; i1 < split.length; i1++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[i1]); + Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(student.getAppUserId()); + student1.setStudentId(student.getId()); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(holi.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + studentService.save(student1); + } + } + } + @@ -486,10 +852,6 @@ String join = StringUtils.join(stringArray, ","); System.out.println("==========join========"+join); return "转课成功"; - - - - } -- Gitblit v1.7.1