From f6ba3e15355e22767e69f8fc14ae22523f8db8dc Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 22 十一月 2023 19:33:58 +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/service/impl/TCoursePackageServiceImpl.java | 224 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 190 insertions(+), 34 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 4d0de4b..ecd2b5c 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 @@ -298,12 +298,14 @@ 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); +// 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); + + + // } // else{ // List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) @@ -318,6 +320,20 @@ // coursePackageListVo.setPaymentPrice(vipPrice); // coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); // } + + if (coursePackageListVo.getPaymentPrice()<coursePackageListVo.getVipPrice()){ + coursePackageListVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); +// coursePackageListVo.setVipPrice(null); + } + + if(appUser.getIsVip() == 1) { + if (coursePackageListVo.getVipPrice() < coursePackageListVo.getPaymentPrice()) { + coursePackageListVo.setPaymentPrice(coursePackageListVo.getVipPrice()); + } + }else { + coursePackageListVo.setVipPrice(null); + } + Map<String, Double> distance = GeodesyUtil.getDistance(coursePackageList.getLon() + "," + coursePackageList.getLat(), store.getLon() + "," + store.getLat()); coursePackageListVo.setDistance(distance.get("WGS84") / 1000); @@ -637,7 +653,7 @@ // coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType()); //会员显示原价和支付价(会员价)。非会员显示会员价和支付价(最低) - 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)); Double vipPrice = coursePackagePaymentConfig.getCashPayment(); @@ -726,25 +742,52 @@ } coursePackagePaymentConfigVo.setPaymentPrice(paymentPrice); - if (coursePackagePaymentConfigVo.getPaymentPrice()<coursePackagePaymentConfigVo.getVipPrice()){ + + +// 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(appUser.getIsVip() == 1) { + if (coursePackagePaymentConfigVo.getVipPrice()<coursePackagePaymentConfigVo.getPaymentPrice()){ + coursePackagePaymentConfigVo.setPaymentPrice(coursePackagePaymentConfigVo.getVipPrice()); + } + + } + + 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(); - for (TCoursePackageDiscount coursePackageDiscount : list2) { - Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember"); - if(vipPrice.compareTo(num1) > 0){ - vipPrice = num1; - } - } - coursePackagePaymentConfigVo.setPaymentPrice(vipPrice); - coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); - } + + + +// } +// else{ +// List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) +// .eq("type", 1).eq("auditStatus", 2)); +// Double vipPrice = coursePackagePaymentConfig.getCashPayment(); +// for (TCoursePackageDiscount coursePackageDiscount : list2) { +// Double num1 = JSON.parseObject(coursePackageDiscount.getContent()).getDouble("discountMember"); +// if(vipPrice.compareTo(num1) > 0){ +// vipPrice = num1; +// } +// } +// coursePackagePaymentConfigVo.setPaymentPrice(vipPrice); +// coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); +// } list.add(coursePackagePaymentConfigVo); }); coursePackageInfo.setList(list); @@ -853,6 +896,9 @@ } price = new BigDecimal(price).subtract(new BigDecimal(num1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); } + userCoupon.setStatus(2); + userCouponClient.edit(userCoupon); + } if(paymentCourseVo.getPayType() == 1){//微信支付 @@ -1035,6 +1081,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); @@ -1042,11 +1103,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); @@ -1073,17 +1134,32 @@ courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + 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); + + } + + + }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.setCode(code); // -// coursePackagePaymentServiceOne.setAppUserId(null); + coursePackagePaymentServiceOne.setPayStatus(2); + coursePackagePaymentServiceOne.setSalesName("续课"); + coursePackagePaymentServiceOne.setAppUserId(null); // coursePackagePaymentServiceOne.setPayStatus(2); -// coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); + coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); // // Integer sId = null; // Student student = studentClient.queryDefaultStudent(uid); @@ -1118,6 +1194,8 @@ @Override public void run() { try { + Thread.sleep(1000); + int num = 1; int wait = 0; while (num <= 10){ @@ -1126,10 +1204,11 @@ Thread.sleep(wait); List<TCoursePackagePayment> list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("state", 1).eq("code", code).eq("payType", 2)); TCoursePackagePayment one = list.get(0); + AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code); if(one.getPayStatus() == 2){ break; } - AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code); + if( one.getPayStatus() == 1){ /** * WAIT_BUYER_PAY(交易创建,等待买家付款)、 @@ -1141,7 +1220,13 @@ String tradeNo = alipayTradeQueryResponse.getTradeNo(); if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){ - for (TCoursePackagePayment coursePackagePayment : list) { + for (TCoursePackagePayment coursePackagePayment : list) { + if (coursePackagePayment.getStudentName()!=null){ + if (coursePackagePayment.getStudentName().equals("续课")){ + coursePackagePayment.setPayStatus(2); + } + } + coursePackagePayment.setStatus(3); } coursePackagePaymentService.updateBatchById(list); @@ -1157,11 +1242,26 @@ for (String s1 : split) { TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId())); if (coursePackagePaymentServiceOne!=null) { - coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()); + + 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()); - coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()); + coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setCode(code); coursePackagePaymentServiceOne.setAppUserId(null); @@ -1183,6 +1283,18 @@ 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); + + } } @@ -1335,6 +1447,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; @@ -1374,6 +1488,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()); @@ -1391,6 +1515,16 @@ courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + 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); if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) { @@ -1406,6 +1540,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); @@ -1424,6 +1570,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); + } } @@ -1514,7 +1670,7 @@ if (count == can) { break; } - int wei = DateUtil.dayOfWeek(date); + int wei = DateUtil.dayOfWeek(date)-1; if (week.contains(wei)) { for (int i1 = 0; i1 < split.length; i1++) { if (count == can) { -- Gitblit v1.7.1