From 5f804115139dfdeeb2ce950a0f584b30f94b285c Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期六, 23 九月 2023 17:57:27 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 405 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 397 insertions(+), 8 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 e60bb31..631575c 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 @@ -4,23 +4,30 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.dsh.course.entity.StudentClassInfo; -import com.dsh.course.entity.TCoursePackagePayment; -import com.dsh.course.entity.dto.ClassListDto; -import com.dsh.course.entity.dto.SelectDto; -import com.dsh.course.entity.dto.updateTimeDto; +import com.dsh.course.entity.*; +import com.dsh.course.entity.dto.*; import com.dsh.course.feignclient.account.AppUserClient; -import com.dsh.course.service.CoursePackageStudentService; -import com.dsh.course.service.TCoursePackagePaymentService; +import com.dsh.course.feignclient.account.StudentClient; +import com.dsh.course.feignclient.account.model.Student; +import com.dsh.course.model.dto.ToClassDto; +import com.dsh.course.service.*; import com.dsh.course.util.ResultUtil; +import com.dsh.course.util.UUIDUtil; import io.swagger.annotations.Api; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; 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.util.stream.Collectors; @Api @CrossOrigin @@ -43,12 +50,13 @@ // Date maxDate = studentService.getMaxDate(tStudentId); Date minDate = studentService.getMinDate(tStudentId); - System.out.println("===========>"+studentClassInfo); Integer totalHours = studentClassInfo.getTotalHours(); Integer hasHours = studentClassInfo.getRestHours(); Integer restHours = totalHours-hasHours; studentClassInfo.setHasHours(restHours); studentClassInfo.setInDate(minDate); + System.out.println("===========>"+studentClassInfo); + return studentClassInfo; } //获取学员课程列表 @@ -57,6 +65,9 @@ public List<ClassListDto> listClass(@RequestParam("tStudentId")Integer tStudentId) { System.out.println("==========getClassList===tStudentId===="+tStudentId); List<ClassListDto> listDtos = studentService.getClassList(tStudentId); + for (ClassListDto dto : listDtos){ + dto.setHasClassHours(dto.getTotalClassHours()-dto.getLaveClassHours()); + } System.out.println("======listDtos======"+listDtos); return listDtos; @@ -105,4 +116,382 @@ } + + //根据payid获取对应门店的常规课程 + + @Autowired + private TCoursePackageService packageService; + @RequestMapping("/holiSelect") + @ResponseBody + public List<SelectDto> getHoliSelect(@RequestParam("courseId")Integer id){ + + TCoursePackage byId = packageService.getById(id); + Integer storeId = byId.getStoreId(); + List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>() + .select("id", "name") + .eq("storeId", storeId) + .eq("type","2") + ); + List<SelectDto> selectDtos = new ArrayList<>(); + for (TCoursePackage t :list){ + SelectDto selectDto = new SelectDto(); + selectDto.setId(t.getId()); + selectDto.setValue(t.getName()); + selectDtos.add(selectDto); + } + + + + + return selectDtos; + } + + @RequestMapping("/transSelect") + @ResponseBody + public List<SelectDto> getTransSelect(@RequestParam("courseId")Integer id){ + + TCoursePackage byId = packageService.getById(id); + Integer storeId = byId.getStoreId(); + List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>() + .select("id", "name") + .eq("storeId", storeId) + .eq("type","1") + ); + List<SelectDto> selectDtos = new ArrayList<>(); + for (TCoursePackage t :list){ + SelectDto selectDto = new SelectDto(); + selectDto.setId(t.getId()); + selectDto.setValue(t.getName()); + selectDtos.add(selectDto); + } + + + + + return selectDtos; + } + + @Autowired + private CourseCounsumService counsumService; + @RequestMapping("/queryCounsum") + @ResponseBody + public List<CourseCounsum> queryCounsum(@RequestBody ConsumeQuery consumeQuery){ + System.out.println("======queryCounsum==========="+consumeQuery); + + QueryWrapper<CourseCounsum> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("paymentId",consumeQuery.getPayId()); + + + if (consumeQuery.getChangeType()!=null){ + queryWrapper.eq("changeType", consumeQuery.getChangeType()); + } + if (consumeQuery.getStart()!=null){ + queryWrapper.between("insertTime", consumeQuery.getStart(), consumeQuery.getEnd()); + } + if (consumeQuery.getReason()!=null&&consumeQuery.getReason()!=""){ + queryWrapper.like("reason", consumeQuery.getReason()); + + } + + List<CourseCounsum> list = counsumService.list(queryWrapper); + + + + +// List<CourseCounsum> list = counsumService.list(new QueryWrapper<CourseCounsum>().eq("paymentId", consumeQuery.getPayId()).eq("changeType", consumeQuery.getChangeType()).between("insertTime", consumeQuery.getStart(), consumeQuery.getEnd()).like("reason", consumeQuery.getReason())); + return list; + } + + + @RequestMapping("/insertBack") + @ResponseBody + public void insertBack(@RequestBody InsertBackDto insertBackDto){ + + MoneyBack moneyBack = new MoneyBack(); + moneyBack.setStudentId(insertBackDto.getId()); + moneyBack.setStatus(0); + moneyBack.setInsertTime(new Date()); + moneyBack.setIds(insertBackDto.getIds()); + moneyBackService.save(moneyBack); + + } + + + @RequestMapping("/queryByIds") + @ResponseBody + public List<TCoursePackagePayment> queryByIds(@RequestParam("ids")String ids){ + List<TCoursePackagePayment> paymentList = paymentService.list(new QueryWrapper<TCoursePackagePayment>() + .in("id", Arrays.asList(ids.split(",")))); + + System.out.println("========client==>"+paymentList); + return paymentList; + } + + @RequestMapping("/changeStatus") + @ResponseBody + public void changeStatus(@RequestParam("id")Integer id){ + MoneyBack byId = moneyBackService.getById(id); + byId.setStatus(1); + moneyBackService.updateById(byId); + + } + + @RequestMapping("/zeroClass") + @ResponseBody + public void zeroClass(@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.setTotalClassHours(0); + o.setLaveClassHours(0); + 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.setAppUserId(null); + } + studentService.updateBatchById(coursePackagePaymentId); + + + } + + @Autowired + private MoneyBackService moneyBackService; + @RequestMapping("/getMoneyBack") + @ResponseBody + public List<MoneyBack> getMoneyBack(@RequestParam("tStudentId")Integer tStudentId){ + + List<MoneyBack> moneyBacksck = moneyBackService.list(new QueryWrapper<MoneyBack>().eq("studentId", tStudentId)); + return moneyBacksck; + } + + //课程转移 + @RequestMapping("/toClass") + @ResponseBody + public void toClass(@RequestBody ToClassDto toClassDto){ + System.out.println("===========到达getSelect======="+toClassDto); + TCoursePackagePayment orinPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId())); + TCoursePackagePayment studentPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId",orinPay.getCoursePackageId())); + if (studentPay!=null) { + System.out.println("======orinPay=====>" + orinPay); + System.out.println("======studentPay=====>" + studentPay); + Integer laveClassHours = orinPay.getLaveClassHours(); + Integer totalClassHours = orinPay.getTotalClassHours(); + + orinPay.setTotalClassHours(0); + orinPay.setLaveClassHours(0); + orinPay.setAppUserId(null); + paymentService.updateById(orinPay); + + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("转课"); + courseCounsum.setNum(laveClassHours); + courseCounsum.setChangeType(0); + courseCounsum.setPaymentId(orinPay.getId()); + counsumService.save(courseCounsum); + + Integer laveClassHours1 = studentPay.getLaveClassHours(); + Integer totalClassHours1 = studentPay.getTotalClassHours(); + int total = totalClassHours + totalClassHours1; + int lave = laveClassHours + laveClassHours1; + + studentPay.setAppUserId(null); + studentPay.setLaveClassHours(lave); + studentPay.setTotalClassHours(total); + paymentService.updateById(studentPay); + + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("转课"); + courseCounsum1.setNum(laveClassHours); + courseCounsum1.setChangeType(1); + courseCounsum1.setPaymentId(studentPay.getId()); + counsumService.save(courseCounsum1); + + }else { + + + + 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()); + to.setTotalClassHours(orinPay.getTotalClassHours()); + to.setLaveClassHours(orinPay.getLaveClassHours()); + to.setCoursePackageId(orinPay.getCoursePackageId()); + to.setState(1); + to.setAppUserId(student.getAppUserId()); + to.setPayStatus(2); + to.setStatus(1); + to.setInsertTime(new Date()); + paymentService.save(to); + + + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠课"); + courseCounsum1.setNum(orinPay.getLaveClassHours()); + courseCounsum1.setChangeType(1); + courseCounsum1.setPaymentId(to.getId()); + counsumService.save(courseCounsum); + + } + + + } + + @Resource + 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){ + + String [] ids = toHoliDto.getIds(); + List<String> strings = new ArrayList<>(); + + + for (String id : ids){ + //扣除课时 + TCoursePackagePayment payment = paymentService.getById(id); + System.out.println("=====byId========="+payment); + + + Integer laveClassHours = payment.getLaveClassHours(); + + Integer classNum = toHoliDto.getClassNum(); + Integer totalClassHours = payment.getTotalClassHours(); + Student student = studentClient.queryStudentById(payment.getStudentId()); + + if (laveClassHours < classNum){ + strings.add(student.getName()); continue; + } + + Integer laveClassHoursnew = laveClassHours - classNum; + Integer totalClassHoursnew = totalClassHours - classNum; + payment.setLaveClassHours(laveClassHoursnew); + payment.setTotalClassHours(totalClassHoursnew); + payment.setAppUserId(null); + + paymentService.updateById(payment); + + //获取student信息 + + //新增课时 + + TCoursePackagePayment holi = new TCoursePackagePayment(); + holi.setAppUserId(student.getAppUserId()); + holi.setStudentId(student.getId()); + holi.setCoursePackageId(toHoliDto.getClassId()); + holi.setTotalClassHours(toHoliDto.getClassNum()); + holi.setLaveClassHours(toHoliDto.getClassNum()); + holi.setState(1); + holi.setInsertTime(new Date()); + paymentService.save(holi); + + System.out.println("保存成功=============》="+holi); + + + + } + String[] stringArray = strings.toArray(new String[strings.size()]); + + String join = StringUtils.join(stringArray, ","); + System.out.println("==========join========"+join); + return join; + + + + + } + + @RequestMapping(value = "/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") + @ResponseBody + public String toTrans(@RequestBody ToHoliDto toHoliDto){ + + String [] ids = toHoliDto.getIds(); + List<String> strings = new ArrayList<>(); + + + for (String id : ids){ + //扣除课时 + TCoursePackagePayment payment = paymentService.getById(id); + System.out.println("=====byId========="+payment); + + + Integer laveClassHours = payment.getLaveClassHours(); + + Integer classNum = toHoliDto.getClassNum(); + Integer totalClassHours = payment.getTotalClassHours(); + Student student = studentClient.queryStudentById(payment.getStudentId()); + +// if (laveClassHours < classNum){ +// strings.add(student.getName()); continue; +// } +// +// Integer laveClassHoursnew = laveClassHours - classNum; +// Integer totalClassHoursnew = totalClassHours - classNum; + payment.setLaveClassHours(0); + payment.setTotalClassHours(0); + payment.setAppUserId(null); + + paymentService.updateById(payment); + + //获取student信息 + + //新增课时 + + TCoursePackagePayment holi = new TCoursePackagePayment(); + holi.setAppUserId(student.getAppUserId()); + holi.setStudentId(student.getId()); + holi.setCoursePackageId(toHoliDto.getClassId()); + holi.setTotalClassHours(laveClassHours); + holi.setLaveClassHours(laveClassHours); + holi.setState(1); + holi.setInsertTime(new Date()); + paymentService.save(holi); + + System.out.println("保存成功=============》="+holi); + + + + } + String[] stringArray = strings.toArray(new String[strings.size()]); + + String join = StringUtils.join(stringArray, ","); + System.out.println("==========join========"+join); + return "转课成功"; + + + + + } + + + } -- Gitblit v1.7.1