From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 五月 2025 09:21:57 +0800 Subject: [PATCH] bug修改 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java | 185 +++++---------------------------------------- 1 files changed, 22 insertions(+), 163 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java index 9b70316..1e60180 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java @@ -13,9 +13,11 @@ import com.dsh.course.feignClient.other.SiteClient; import com.dsh.course.feignClient.other.StoreClient; import com.dsh.course.feignClient.other.model.Banner; +import com.dsh.course.util.UUIDUtil; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.modular.system.model.*; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.guns.modular.system.model.TCoursePackagePayment; import com.dsh.guns.modular.system.model.dto.CoursePackage; import com.dsh.guns.modular.system.service.ICityService; @@ -105,8 +107,8 @@ * 添加购课记录 */ @ResponseBody - @PostMapping(value = "/addCoursePackagePayment/{id}") - public Object addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) { + @PostMapping(value = "/addCoursePackagePayment") + public Object addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment) { Integer objectId = UserExt.getUser().getObjectId(); Integer objectType = UserExt.getUser().getObjectType(); String name = UserExt.getUser().getName(); @@ -120,174 +122,23 @@ calendar.add(Calendar.DAY_OF_MONTH, 20); Date updatedDate = calendar.getTime(); tCoursePackagePayment.setOriginalPrice(tCoursePackagePayment.getCashPayment().doubleValue()); - tCoursePackagePayment.setUseTime(updatedDate); - // 查询当前课包有没有课包折扣 - List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); - // 判断当前用户是不是会员 - Integer appUserId = tCoursePackagePayment.getAppUserId(); - Date vipEndTime = appUserClient.queryAppUser1(appUserId).getVipEndTime(); - // 会员折扣 - double c1 = 0.00; - // 续课优惠 - double c2 = 0.00; - // 显示折扣 - double c3 = 0.00; - for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) { - char c = tCoursePackageDiscount.getContent().charAt(0); - String value1 = String.valueOf(c); - - JSONObject jsonObject ; - if (value1.equals("[")){ - jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent() - .substring(1,tCoursePackageDiscount.getContent().length() - 1)); - }else{ - jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()); - } - // 获取所选课时的课包价格配置 + // 获取所选课时的课包价格配置 + if (tCoursePackagePayment.getCoursePackageConfigId()!=null) { List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList1 (tCoursePackagePayment.getCoursePackageConfigId()); - if (coursePackagePaymentConfigs.size()!=0){ + if (coursePackagePaymentConfigs.size() != 0) { CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0); tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); - tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); } - // 原价 - Double originalPrice = tCoursePackagePayment.getOriginalPrice(); - - BigDecimal d1 = new BigDecimal(Double.toString(originalPrice)); - - // 计算课包折扣 - switch (tCoursePackageDiscount.getType()){ - case 1: - // 是会员 - if (!vipEndTime.before(new Date())){ - // 会员折扣金额 - double discountMember = jsonObject.getDouble("discountMember"); - Double aDouble = new Double(discountMember); - if (aDouble!=null){ - String value = String.valueOf(discountMember); - // 折扣比例 - Double aDouble1 = Double.valueOf(value); - c1 = aDouble1; - } - } - break; - case 2: - // 判断当前用户是否已经购买过当前课包 - List<CoursePackageOrderStudent> result= - coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(), - tCoursePackagePayment.getCoursePackageId()); - // 已经购买了 - if (result.size()!=0){ - // 会员续课折扣 - double continuingMember = jsonObject.getDouble("continuingMember"); - // 用户续课折扣 - double continuingUser = jsonObject.getDouble("continuingUser"); - // 是会员享受会员续课折扣 - if (!vipEndTime.before(new Date())){ - String value = String.valueOf(continuingMember); - c2 = Double.valueOf(value); - }else{ // 否则享受用户续课折扣 - String value = String.valueOf(continuingUser); - c2 = Double.valueOf(value); - } - } - break; - case 3: - // 限时折扣判断是否在有效期 - String timeFrameStart = jsonObject.getString("startDate"); - String timeFrameEnd = jsonObject.getString("endDate"); - try { - // 判断当日时间是否能享受到折扣 - String startTime = jsonObject.getString("startTime"); - String endTime = jsonObject.getString("endTime"); - // 获取当前时间 - Date currentTime = new Date(); - // 定义时间格式 - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); - // 解析开始时间和结束时间为Date对象 - Date startTime1 = sdf.parse(startTime); - Date endTime1 = sdf.parse(endTime); - Date date1 = new Date(); - date1.setHours(startTime1.getHours()); - date1.setMinutes(startTime1.getMinutes()); - date1.setSeconds(startTime1.getSeconds()); - Date date2 = new Date(); - date2.setHours(endTime1.getHours()); - date2.setMinutes(endTime1.getMinutes()); - date2.setSeconds(endTime1.getSeconds()); - // 检查当前时间是否在开始时间和结束时间之间 - if (currentTime.after(date1) && currentTime.before(date2)) { - System.out.println("当前时间在开始时间和结束时间之间。"); - String cashPayment = jsonObject.getString("cashPayment"); - c3 = Double.valueOf(cashPayment); - } else { - System.out.println("当前时间不在开始时间和结束时间之间。"); - } - } catch (ParseException e) { - e.printStackTrace(); - } - break; - case 4: - // 赠送课时 判断当前课包有没有赠送课时 - String weeks = jsonObject.getString("weeks"); - // 判断当前周几 是否满足折扣规则 - Calendar calendar9 = Calendar.getInstance(); - int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); - if (weeks.contains(String.valueOf(dayOfWeek))){ - // 限时折扣判断是否在有效期 - String timeFrameStart1 = jsonObject.getString("startDate"); - String timeFrameEnd1 = jsonObject.getString("endDate"); - try { - // 判断当日时间是否能享受到折扣 - String startTime = jsonObject.getString("startTime"); - String endTime = jsonObject.getString("endTime"); - // 获取当前时间 - Date currentTime = new Date(); - // 定义时间格式 - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); - // 解析开始时间和结束时间为Date对象 - Date startTime1 = sdf.parse(startTime); - Date endTime1 = sdf.parse(endTime); - Date date1 = new Date(); - date1.setHours(startTime1.getHours()); - date1.setMinutes(startTime1.getMinutes()); - date1.setSeconds(startTime1.getSeconds()); - Date date2 = new Date(); - date2.setHours(endTime1.getHours()); - date2.setMinutes(endTime1.getMinutes()); - date2.setSeconds(endTime1.getSeconds()); - // 检查当前时间是否在开始时间和结束时间之间 - if (currentTime.after(date1) && currentTime.before(date2)) { - System.out.println("当前时间在开始时间和结束时间之间。"); - String hour = jsonObject.getString("hour"); - tCoursePackagePayment.setGiftClassHours(Integer.valueOf(hour)); - } else { - System.out.println("当前时间不在开始时间和结束时间之间。"); - } - } catch (ParseException e) { - e.printStackTrace(); - } - } - break; - } - + }else { + List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId); + CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0); + tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); } - // 判断三个折扣 谁所需支付金额最少 - double minValue = 0.00; - if (c1 != 0.00 && (c2 == 0.00 || c1 < c2) && (c3 == 0.00 || c1 < c3)) { - minValue = c1; - } else if (c2 != 0.00 && (c3 == 0.00 || c2 < c3)) { - minValue = c2; - } else if (c3 != 0.00) { - minValue = c3; - } - if (minValue!=0.00){ - BigDecimal bigDecimal = new BigDecimal(minValue); - tCoursePackagePayment.setCashPayment(bigDecimal); - } - + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + tCoursePackagePayment.setCode(code); return coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); } @@ -365,6 +216,14 @@ return coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id); } + + @RequestMapping(value = "/getCoursePackageType") + @ResponseBody + public Integer getCoursePackageType(Integer id) { + TCoursePackage coursePackage = coursePackageClient.queryById(id); + return coursePackage.getType(); + } + } -- Gitblit v1.7.1