From 89c36365eda5cdd23de2338f1c28a5b250ea7b34 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 25 九月 2023 17:12:59 +0800 Subject: [PATCH] 后台代码 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 181 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 144 insertions(+), 37 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 7c6bc1d..5cb017b 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 @@ -121,10 +121,119 @@ @Resource private CoursePackageSchedulingMapper coursePackageSchedulingMapper; - + @Autowired + private ICoursePackageSchedulingService coursePackageSchedulingService; private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); + /** + * 添加购课记录-后台 + * @return + */ + @RequestMapping("/base/coursePackagePayment/add") + public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment){ + packagePayment.setInsertTime(new Date()); + packagePayment.setInsertTime(new Date()); + Integer studentId = packagePayment.getStudentId(); + TCoursePackagePayment one = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", packagePayment) + .orderByDesc("insertTime") + .last("LIMIT 1")); + if (one!=null){ + Integer totalClassHours = one.getTotalClassHours(); + Integer absencesNumber = one.getAbsencesNumber(); + // 没有过期 + if (one.getUseTime().after(new Date())){ + packagePayment.setTotalClassHours(packagePayment.getClassHours()+one.getTotalClassHours()); + packagePayment.setLaveClassHours(packagePayment.getClassHours()+one.getLaveClassHours()); + packagePayment.setAbsencesNumber(one.getAbsencesNumber()); + } + packagePayment.setTotalClassHours(packagePayment.getClassHours()); + packagePayment.setLaveClassHours(packagePayment.getClassHours()); + packagePayment.setAbsencesNumber(one.getAbsencesNumber()); + }else{ + packagePayment.setTotalClassHours(packagePayment.getClassHours()); + packagePayment.setLaveClassHours(packagePayment.getClassHours()); + packagePayment.setAbsencesNumber(0); + } + // 生成排课数据 + 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(); + + 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) + 13); + 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); + List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() + .eq("coursePackageId", coursePackage.getId()) + .eq("classDate", classDate.getTime()) + .eq("endDate", endDate.getTime())); + if (list.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(); + } + return packagePaymentService.save(packagePayment); + } /** * 手动支付 * @return @@ -144,12 +253,14 @@ List<CoursePackagePaymentVO> result = new ArrayList<>(); for (CoursePackagePaymentVO re : res) { if (re.getCashPayment()==null){ - String value = String.valueOf(re.getPlayPaiCoin()); - re.setCashPayment(new BigDecimal(value)); + if (re.getPlayPaiCoin()!=null){ + String value = String.valueOf(re.getPlayPaiCoin()); + re.setCashPayment(new BigDecimal(value)); + } } Store store = storeClient.queryStoreById(re.getStoreId()); - AppUser appUser = appUserClient.queryAppUser(re.getAppUserId()); + TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId()); Student student = studentClient.queryStudentById(re.getStudentId()); re.setPayStudent(student.getName()); re.setPayUser(appUser.getName()); @@ -173,42 +284,38 @@ } } } - - if (re.getPayType()==1){ - re.setBuyTypeName("微信支付"); - }else if(re.getPayType()==2){ - re.setBuyTypeName("支付宝支付"); - }else if(re.getPayType()==3){ - re.setBuyTypeName("玩湃币支付"); - }else if(re.getPayType()==4){ - re.setBuyTypeName("积分支付"); - }else if(re.getPayType()==5){ - re.setBuyTypeName("积分+微信支付"); - }else if(re.getPayType()==6){ - re.setBuyTypeName("积分+支付宝支付"); - }else if(re.getPayType()==7){ - re.setBuyTypeName("手动支付"+"-"+re.getBuyTypeName()); - } - // 如果支付用户类型为平台 则购买方式则为1线下购买 - if (re.getPayUserType()== 2){ - re.setBuyType(1); - }else{ - // 如果当前课包有折扣 则为3折扣购买 - 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())); - }else{ - re.setBuyType(2); + if (re.getPayType()!=null){ + if (re.getPayType()==1){ + re.setBuyTypeName("微信支付"); + }else if(re.getPayType()==2){ + re.setBuyTypeName("支付宝支付"); + }else if(re.getPayType()==3){ + re.setBuyTypeName("玩湃币支付"); + }else if(re.getPayType()==4){ + re.setBuyTypeName("积分支付"); + }else if(re.getPayType()==5){ + re.setBuyTypeName("积分+微信支付"); + }else if(re.getPayType()==6){ + re.setBuyTypeName("积分+支付宝支付"); + }else if(re.getPayType()==7){ + re.setBuyTypeName("手动支付"+"-"+re.getBuyTypeName()); } } - // 不为空则计算 - if (re.getUserCouponId()!=null){ + // 如果支付用户类型为管理员 则购买方式则为1线下购买 + if (re.getPayUserType()== 2){ + re.setBuyType(1); + }else{ + // 如果当前课包有折扣 则为3折扣购买 + 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())); + }else{ + re.setBuyType(2); + } + } } - // todo 计算优惠金额 -// Coupon coupon = couponClient.queryCouponById(re.getUserCouponId().intValue()); - } if (query.getPayStudent()== null || query.getPayStudent().equals("")){ if (query.getPayUser()== null || query.getPayUser().equals("")){ return res; @@ -1069,7 +1176,7 @@ @PostMapping("/base/coursePack/savePaymentCoursePackage") public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){ - packagePayment.setInsertTime(new Date()); + return packagePaymentService.save(packagePayment); } -- Gitblit v1.7.1