From 41b60f3df5f3054aad44307c13a26b14f3b32ac0 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 21 十一月 2023 09:46:03 +0800 Subject: [PATCH] 11.21 --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 299 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 249 insertions(+), 50 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index 7641115..3709539 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java @@ -203,7 +203,7 @@ coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); } //会员显示原价和会员价(最低)。非会员显示会员价和支付价(最低) - if(appUser.getIsVip() == 0){//非会员 +// if(appUser.getIsVip() == 0){//非会员 List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) .eq("type", 1).eq("auditStatus", 2).eq("status",1)); Double vipPrice = coursePackagePaymentConfig.getCashPayment(); @@ -214,9 +214,10 @@ } } coursePackageListVo.setVipPrice(vipPrice); + coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); Double paymentPrice = coursePackagePaymentConfig.getCashPayment(); - List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) + List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) .eq("type", 3).eq("auditStatus", 2).eq("status",1)); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (TCoursePackageDiscount coursePackageDiscount : list3) { @@ -292,19 +293,31 @@ } } coursePackageListVo.setPaymentPrice(paymentPrice); - }else{ - List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) - .eq("type", 1).eq("auditStatus", 2).eq("status",1)); - Double vipPrice = coursePackagePaymentConfig.getCashPayment(); - for (TCoursePackageDiscount coursePackageDiscount : list2) { - Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember"); - if(vipPrice.compareTo(num1) > 0){ - vipPrice = num1; - } - } - coursePackageListVo.setPaymentPrice(vipPrice); - coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); - } + + double vipPrice1 = coursePackageListVo.getVipPrice(); + double originalPrice1 = coursePackageListVo.getOriginalPrice(); + double paymentPrice1 = coursePackageListVo.getPaymentPrice(); + + double minPrice = Math.min(vipPrice1, Math.min(originalPrice1, paymentPrice1)); + double maxPrice = Math.max(vipPrice1, Math.max(originalPrice1, paymentPrice1)); + coursePackageListVo.setPaymentPrice(minPrice); + coursePackageListVo.setOriginalPrice(maxPrice); + System.out.println("Minimum price: " + minPrice); + System.out.println("Maximum price: " + maxPrice); +// } +// else{ +// List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) +// .eq("type", 1).eq("auditStatus", 2).eq("status",1)); +// Double vipPrice = coursePackagePaymentConfig.getCashPayment(); +// for (TCoursePackageDiscount coursePackageDiscount : list2) { +// Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember"); +// if(vipPrice.compareTo(num1) > 0){ +// vipPrice = num1; +// } +// } +// coursePackageListVo.setPaymentPrice(vipPrice); +// coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); +// } Map<String, Double> distance = GeodesyUtil.getDistance(coursePackageList.getLon() + "," + coursePackageList.getLat(), store.getLon() + "," + store.getLat()); coursePackageListVo.setDistance(distance.get("WGS84") / 1000); @@ -604,6 +617,8 @@ coursePackageInfo.setDetailDrawing(coursePackage.getDetailDrawing()); coursePackageInfo.setIntroduceDrawing(coursePackage.getIntroduceDrawing()); + + List<CoursePackagePaymentConfigVo> list = new ArrayList<>(); List<CoursePackagePaymentConfig> list1 = coursePackagePaymentConfigService.list(new QueryWrapper<CoursePackagePaymentConfig>().eq("coursePackageId", id).orderByAsc("classHours")); list1.forEach(coursePackagePaymentConfig -> { @@ -633,7 +648,6 @@ } } coursePackagePaymentConfigVo.setVipPrice(vipPrice); - Double paymentPrice = coursePackagePaymentConfig.getCashPayment(); List<TCoursePackageDiscount> list3 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) .eq("type", 3).eq("auditStatus", 2)); @@ -711,7 +725,33 @@ } } coursePackagePaymentConfigVo.setPaymentPrice(paymentPrice); - }else{ + + + + TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) + .eq("type", 2).eq("auditStatus", 2)); + + + //这里是续课优惠 + Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser"); + Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember"); + + + if (coursePackagePaymentConfigVo.getPaymentPrice()>continuingMember){ + coursePackagePaymentConfigVo.setPaymentPrice(continuingMember); + } + if (coursePackagePaymentConfigVo.getVipPrice()>vipcontinuingMember){ + coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember); + } + + + if (coursePackagePaymentConfigVo.getPaymentPrice()<coursePackagePaymentConfigVo.getVipPrice()){ + coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); + coursePackagePaymentConfigVo.setVipPrice(null); + } + + } + else{ List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) .eq("type", 1).eq("auditStatus", 2)); Double vipPrice = coursePackagePaymentConfig.getCashPayment(); @@ -756,8 +796,11 @@ //校验是否已经报满 Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId()); TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId()); - if (integer+paymentCourseVo.getStudentIds().split(";").length>course.getMaxSubscribeNumber()){ - return ResultUtil.error("报名失败,已达最大报名人数"); + if (course.getType()!=3) { + + if (integer + paymentCourseVo.getStudentIds().split(";").length > course.getMaxSubscribeNumber()) { + return ResultUtil.error("报名失败,已达最大报名人数"); + } } List<CoursePackagePaymentConfigVo> list = coursePackageInfo.getList(); String[] students = paymentCourseVo.getStudentIds().split(";"); @@ -1011,6 +1054,21 @@ TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId())); + //赠送课时 + int weekday = DateUtil.dayOfWeek(new Date()) - 1; + TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1")); + + Integer hour = 0; + if (discount!=null) { + JSONArray objects = JSONObject.parseArray(discount.getContent()); + JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0))); + hour = parse.getInteger("hour"); + if (hour == null) { + hour = 0; + } + } + + if (coursePackagePaymentServiceOne==null) { TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment(); coursePackagePayment.setCode(code); @@ -1018,11 +1076,11 @@ coursePackagePayment.setStudentId(Integer.valueOf(s)); coursePackagePayment.setCoursePackageId(paymentCourseVo.getId()); coursePackagePayment.setPayType(paymentCourseVo.getPayType()); - coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()+hour); coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice()); coursePackagePayment.setPlayPaiCoin(paymentPrice.intValue()); - coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); - coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()+hour); coursePackagePayment.setAbsencesNumber(0); coursePackagePayment.setPayUserType(1); coursePackagePayment.setPayStatus(1); @@ -1049,36 +1107,46 @@ courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); - }else { - coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()); - coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice()); - coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); - coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()); - coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()); - coursePackagePaymentServiceOne.setCode(code); + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePayment.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum); - coursePackagePaymentServiceOne.setAppUserId(null); - coursePackagePaymentServiceOne.setPayStatus(1); - coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); - -// coursePackagePaymentService.save(coursePackagePayment); - Integer sId = null; - Student student = studentClient.queryDefaultStudent(uid); - if (student != null) { - sId = student.getId(); } - coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); -// addPackageStudent(paymentCourseVo.getId(), uid, Integer.valueOf(s), coursePackagePaymentServiceOne.getId()); - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId()); - courseCounsum.setChangeType(1); - courseCounsum.setNum(coursePackagePaymentConfig.getClassHours()); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("续课"); - courseCounsumService.save(courseCounsum); + }else { +// coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()); +// coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice()); +// coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); +// coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()); +// coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()); +// coursePackagePaymentServiceOne.setCode(code); +// +// coursePackagePaymentServiceOne.setAppUserId(null); +// coursePackagePaymentServiceOne.setPayStatus(2); +// coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); +// +// Integer sId = null; +// Student student = studentClient.queryDefaultStudent(uid); +// if (student != null) { +// sId = student.getId(); +// } +// coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); +// +// +// CourseCounsum courseCounsum = new CourseCounsum(); +// courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId()); +// courseCounsum.setChangeType(1); +// courseCounsum.setNum(coursePackagePaymentConfig.getClassHours()); +// courseCounsum.setInsertTime(new Date()); +// courseCounsum.setReason("续课"); +// courseCounsumService.save(courseCounsum); } @@ -1132,6 +1200,68 @@ coursePackagePayment.setOrderNumber(tradeNo); coursePackagePayment.setAppUserId(null); } + + for (String s1 : split) { + TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId())); + if (coursePackagePaymentServiceOne!=null) { + + TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1")); + + Integer hour = 0; + if (discount!=null) { + JSONArray objects = JSONObject.parseArray(discount.getContent()); + JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0))); + hour = parse.getInteger("hour"); + if (hour == null) { + hour = 0; + } + } + + + + coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice()); + coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); + coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePaymentServiceOne.setCode(code); + + coursePackagePaymentServiceOne.setAppUserId(null); + coursePackagePaymentServiceOne.setPayStatus(2); + coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); + + Integer sId = null; + Student student = studentClient.queryDefaultStudent(uid); + if (student != null) { + sId = student.getId(); + } + coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); + + + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(coursePackagePaymentServiceOne.getId()); + courseCounsum.setChangeType(1); + courseCounsum.setNum(coursePackagePaymentConfig.getClassHours()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("续课"); + courseCounsumService.save(courseCounsum); + + + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePaymentServiceOne.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum); + + } + + + } + } + coursePackagePaymentService.updateBatchById(list); System.out.println("===========到达支付"); // 2.0 @@ -1279,6 +1409,8 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId()); + //赠送课时 int weekday = DateUtil.dayOfWeek(new Date()) - 1; @@ -1318,6 +1450,16 @@ coursePackagePayment.setStatus(1); coursePackagePayment.setState(1); coursePackagePayment.setInsertTime(new Date()); + + if (course.getValidDays()!=null) { + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, course.getValidDays()); + date = calendar.getTime(); + coursePackagePayment.setUseTime(date); + } + coursePackagePaymentService.save(coursePackagePayment); Integer sId = null; Student student = studentClient.queryDefaultStudent(appUser.getId()); @@ -1335,9 +1477,23 @@ courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); - }else { + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePayment.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum1); + } + + }else{ coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour); - coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice()); + if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) { + coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice() + paymentCourseVo.getPrice()); + }else { + coursePackagePaymentServiceOne.setOriginalPrice(paymentCourseVo.getPrice()); + } if (coursePackagePaymentServiceOne.getPlayPaiCoin()==null){ coursePackagePaymentServiceOne.setPlayPaiCoin(paymentPrice.intValue()); @@ -1346,6 +1502,18 @@ coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setAppUserId(null); + + + if (course.getValidDays()!=null) { + Date date = coursePackagePaymentServiceOne.getUseTime(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, course.getValidDays()); + date = calendar.getTime(); + coursePackagePaymentServiceOne.setUseTime(date); + } + + coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); // coursePackagePaymentService.save(coursePackagePayment); @@ -1364,6 +1532,16 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("续课"); courseCounsumService.save(courseCounsum); + + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePaymentServiceOne.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum1); + } } @@ -1545,6 +1723,27 @@ } } } + }else if (tCoursePackage.getType()==3){ + + if (price!=null) { + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(paymentId); + courseCounsum.setChangeType(3); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("购买体验课;" + price); + courseCounsum.setAppUserId(userId); + courseCounsumService.save(courseCounsum); + } + + + //生成当天的排课记录 + + //生成学员的上课表 + + + + + } @@ -1862,7 +2061,7 @@ } @Override - public Integer getHours(Integer coursePackageId) { + public List<Integer> getHours(Integer coursePackageId) { return this.baseMapper.getHours(coursePackageId); } -- Gitblit v1.7.1