| | |
| | | import com.dsh.course.entity.dto.*; |
| | | import com.dsh.course.feignclient.account.AppUserClient; |
| | | import com.dsh.course.feignclient.account.StudentClient; |
| | | import com.dsh.course.feignclient.account.model.AppUser; |
| | | import com.dsh.course.feignclient.account.model.Student; |
| | | import com.dsh.course.mapper.CoursePackageSchedulingMapper; |
| | | import com.dsh.course.mapper.CoursePackageStudentMapper; |
| | | import com.dsh.course.model.dto.ToClassDto; |
| | | import com.dsh.course.service.*; |
| | | import com.dsh.course.util.ALiSendSms; |
| | | import com.dsh.course.util.ResultUtil; |
| | | import com.dsh.course.util.UUIDUtil; |
| | | import io.swagger.annotations.Api; |
| | |
| | | private TCoursePackageService coursePackageService; |
| | | @Resource |
| | | private CoursePackageStudentMapper cpsMapper; |
| | | |
| | | //获取退费记录 |
| | | @RequestMapping("/getRefund") |
| | | @ResponseBody |
| | |
| | | // 查询已通过申请的退费记录 |
| | | 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; |
| | | |
| | | } |
| | |
| | | |
| | | @Resource |
| | | private AppUserClient appUserClient; |
| | | |
| | | @Autowired |
| | | private ALiSendSms aLiSendSms; |
| | | |
| | | |
| | | @Autowired |
| | |
| | | courseCounsum.setReason("退费"); |
| | | courseCounsum.setPaymentId(o.getId()); |
| | | courseCounsum.setInsertTime(new Date()); |
| | | courseCounsum.setAppUserId(o.getAppUserId()); |
| | | counsumService.save(courseCounsum); |
| | | |
| | | o.setTotalClassHours(0); |
| | | o.setLaveClassHours(0); |
| | | o.setStatus(2); |
| | | o.setAppUserId(null); |
| | |
| | | courseCounsum.setNum(laveClassHours); |
| | | courseCounsum.setChangeType(0); |
| | | courseCounsum.setPaymentId(orinPay.getId()); |
| | | courseCounsum.setAppUserId(orinPay.getAppUserId()); |
| | | counsumService.save(courseCounsum); |
| | | |
| | | CourseCounsum courseCounsum1 = new CourseCounsum(); |
| | |
| | | courseCounsum1.setNum(laveClassHours); |
| | | courseCounsum1.setChangeType(1); |
| | | courseCounsum1.setPaymentId(studentPay.getId()); |
| | | courseCounsum1.setAppUserId(studentPay.getAppUserId()); |
| | | counsumService.save(courseCounsum1); |
| | | |
| | | schedulingService.addNewCoursePackageScheduling(studentPay.getId(), laveClassHours); |
| | |
| | | courseCounsum.setNum(laveClassHours1); |
| | | courseCounsum.setChangeType(0); |
| | | courseCounsum.setPaymentId(orinPay.getId()); |
| | | courseCounsum.setAppUserId(orinPay.getAppUserId()); |
| | | counsumService.save(courseCounsum); |
| | | |
| | | |
| | |
| | | courseCounsum1.setNum(laveClassHours1); |
| | | courseCounsum1.setChangeType(1); |
| | | courseCounsum1.setPaymentId(to.getId()); |
| | | courseCounsum1.setAppUserId(to.getAppUserId()); |
| | | counsumService.save(courseCounsum1); |
| | | |
| | | //开始排课 |
| | |
| | | Student student = studentClient.queryStudentById(Integer.valueOf(stuId)); |
| | | |
| | | // 扣除 原来的课时数 |
| | | // 添加购买课时 paytyoe为7 |
| | | // 排课可期 判断课程时间段 添加排课表 添加上课记录表 |
| | | // 找到原来的课包 扣课时 |
| | | // CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(toHoliDto.getId()); |
| | | CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId",toHoliDto.getId()).eq("studentId",stuId)); |
| | | // 添加购买课时 paytyoe为7 |
| | | // 排课可期 判断课程时间段 添加排课表 添加上课记录表 |
| | | // 找到原来的课包 扣课时 |
| | | CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId",toHoliDto.getId()).eq("studentId",stuId)); |
| | | |
| | | TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); |
| | | TCoursePackage coursePackage1 = coursePackageService.getById(toHoliDto.getClassId()); |
| | | //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 |
| | | List<CoursePackageScheduling> list1 = coursePackageSchedulingService.selectList(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(); |
| | | laveClassHours1 -= number; |
| | | //需要购买使用的课时数 |
| | | Integer num = toHoliDto.getClassNum(); |
| | | //需要删除多余的排课记录 |
| | | if(num.compareTo(laveClassHours1) > 0){ |
| | | //课时数差额 |
| | | int number1 = num - laveClassHours1; |
| | | double o = number1 % coursePackage.getNeedNum(); |
| | | int l = 0; |
| | | if(0 != o){ |
| | | l = 1; |
| | | } |
| | | int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l; |
| | | for (int i = 0; i < n; i++) { |
| | | CoursePackageScheduling coursePackageScheduling = list1.get(i); |
| | | coursePackageSchedulingService.deleteById(coursePackageScheduling.getId()); |
| | | TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); |
| | | TCoursePackage coursePackage1 = coursePackageService.getById(toHoliDto.getClassId()); |
| | | //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 |
| | | List<CoursePackageScheduling> list1 = coursePackageSchedulingService.selectList(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(); |
| | | laveClassHours1 -= number; |
| | | //需要购买使用的课时数 |
| | | Integer num = toHoliDto.getClassNum(); |
| | | //需要删除多余的排课记录 |
| | | if(num.compareTo(laveClassHours1) > 0){ |
| | | //课时数差额 |
| | | int number1 = num - laveClassHours1; |
| | | double o = number1 % coursePackage.getNeedNum(); |
| | | int l = 0; |
| | | if(0 != o){ |
| | | l = 1; |
| | | } |
| | | int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l; |
| | | for (int i = 0; i < n; i++) { |
| | | CoursePackageScheduling coursePackageScheduling = list1.get(i); |
| | | coursePackageSchedulingService.deleteById(coursePackageScheduling.getId()); |
| | | |
| | | coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() |
| | | .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); |
| | | coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() |
| | | .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); |
| | | } |
| | | } |
| | | } |
| | | coursePackageOrderStudent.setAppUserId(null); |
| | | coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-toHoliDto.getClassNum()); |
| | | coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-toHoliDto.getClassNum()); |
| | | orderStudentService.updateById(coursePackageOrderStudent); |
| | | |
| | | CourseCounsum courseCounsum = new CourseCounsum(); |
| | | courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); |
| | | courseCounsum.setChangeType(0); |
| | | courseCounsum.setNum(toHoliDto.getClassNum()); |
| | | courseCounsum.setInsertTime(new Date()); |
| | | courseCounsum.setReason("报名假期班"); |
| | | courseCounsum.setAppUserId(coursePackageOrderStudent.getAppUserId()); |
| | | courseCounsumService.save(courseCounsum); |
| | | |
| | | Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); |
| | | if(3 >= laveClassHours){ |
| | | AppUser appUser = appUserClient.queryAppUser(coursePackageOrderStudent.getAppUserId()); |
| | | //发送短信提醒 |
| | | aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", ""); |
| | | } |
| | | |
| | | //上课星期 |
| | | String classWeeks = coursePackage1.getClassWeeks(); |
| | |
| | | //增加日期,用于判断 |
| | | calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | CourseCounsum courseCounsum = new CourseCounsum(); |
| | | courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); |
| | | courseCounsum.setChangeType(0); |
| | | courseCounsum.setNum(toHoliDto.getClassNum()); |
| | | courseCounsum.setInsertTime(new Date()); |
| | | courseCounsum.setReason("报名假期班"); |
| | | // courseCounsum.setAppUserId(userId); |
| | | courseCounsumService.save(courseCounsum); |
| | | } |
| | | |
| | | return "报名成功"; |
| | |
| | | @ResponseBody |
| | | public String toTrans(@RequestBody ToHoliDto toHoliDto) throws ParseException { |
| | | String[] stuIds = toHoliDto.getIds(); |
| | | // //查询出学员ids对应的棵树,判断剩余课时数是否够 |
| | | // List<CoursePackageOrderStudent> list = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", toHoliDto.getClassId()).in("studentId", stuIds)); |
| | | // List<String> notStudent = new ArrayList<>(); |
| | | // for (CoursePackageOrderStudent coursePackageOrderStudent : list) { |
| | | // if (coursePackageOrderStudent.getLaveClassHours() < toHoliDto.getClassNum()) { |
| | | // notStudent.add(studentClient.queryStudentById(coursePackageOrderStudent.getStudentId()).getName()); |
| | | // } |
| | | // } |
| | | // if (!notStudent.isEmpty()) { |
| | | // String notStudentStr = String.join(",", notStudent); |
| | | // return notStudentStr+":课时数不足"; |
| | | // } |
| | | |
| | | |
| | | //转移课程 |
| | | for (String stuId : stuIds) { |
| | | // CoursePackageOrderStudent orinPay = orderStudentService.getById(toHoliDto.getId()); |
| | | CoursePackageOrderStudent orinPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>() |
| | | .eq("studentId", stuId) |
| | | .eq("coursePackageId", toHoliDto.getId())); |
| | |
| | | courseCounsum.setInsertTime(new Date()); |
| | | Integer appUserId = orinPay.getAppUserId(); |
| | | Integer appUserId1 = studentPay.getAppUserId(); |
| | | |
| | | courseCounsum.setReason("换课"); |
| | | |
| | | |
| | | courseCounsum.setReason("换课"); |
| | | orinPay.setLaveClassHours(0); |
| | | orinPay.setStatus(3); |
| | | orinPay.setAppUserId(null); |
| | |
| | | courseCounsum.setNum(laveClassHours); |
| | | courseCounsum.setChangeType(0); |
| | | courseCounsum.setPaymentId(orinPay.getId()); |
| | | courseCounsum.setAppUserId(orinPay.getAppUserId()); |
| | | counsumService.save(courseCounsum); |
| | | |
| | | CourseCounsum courseCounsum1 = new CourseCounsum(); |
| | | courseCounsum1.setInsertTime(new Date()); |
| | | // if (appUserId.compareTo(appUserId1) != 0) { |
| | | // courseCounsum1.setReason("赠课"); |
| | | // } else { |
| | | courseCounsum1.setReason("换课"); |
| | | // } |
| | | courseCounsum1.setReason("换课"); |
| | | courseCounsum1.setNum(laveClassHours); |
| | | courseCounsum1.setChangeType(1); |
| | | courseCounsum1.setPaymentId(studentPay.getId()); |
| | | courseCounsum1.setAppUserId(studentPay.getAppUserId()); |
| | | counsumService.save(courseCounsum1); |
| | | |
| | | schedulingService.addNewCoursePackageScheduling(studentPay.getId(), laveClassHours); |