| | |
| | | // 获取课包id |
| | | Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); |
| | | List<TCoursePackageDiscount> list = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); |
| | | // 获取当前课包价格配置 |
| | | Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId(); |
| | | TCoursePackage tCoursePackage = coursePackageClient.queryById(coursePackageId1); |
| | | |
| | | Date currentDate = new Date(); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(currentDate); |
| | |
| | | // 判断当前用户是不是会员 |
| | | 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) { |
| | | JSONObject jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()); |
| | | 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()); |
| | | } |
| | | // 获取当前课包价格配置 |
| | | Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId(); |
| | | List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId1); |
| | | 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: |
| | | // 是会员 |
| | |
| | | Double aDouble = new Double(discountMember); |
| | | if (aDouble!=null){ |
| | | String value = String.valueOf(discountMember); |
| | | BigDecimal bigDecimal = new BigDecimal(value); |
| | | tCoursePackagePayment.setCashPayment(bigDecimal); |
| | | // 折扣比例 |
| | | Double aDouble1 = Double.valueOf(value); |
| | | c1 = aDouble1; |
| | | } |
| | | } |
| | | break; |
| | |
| | | // 是会员享受会员续课折扣 |
| | | if (!vipEndTime.before(new Date())){ |
| | | String value = String.valueOf(continuingMember); |
| | | BigDecimal bigDecimal = new BigDecimal(value); |
| | | tCoursePackagePayment.setCashPayment(bigDecimal); |
| | | c2 = Double.valueOf(value); |
| | | }else{ // 否则享受用户续课折扣 |
| | | String value = String.valueOf(continuingUser); |
| | | BigDecimal bigDecimal = new BigDecimal(value); |
| | | tCoursePackagePayment.setCashPayment(bigDecimal); |
| | | c2 = Double.valueOf(value); |
| | | } |
| | | } |
| | | break; |
| | | case 3: |
| | | // 限时折扣判断是否在有效期 |
| | | String timeFrameStart = jsonObject.getString("timeFrameStart"); |
| | | String timeFrameEnd = jsonObject.getString("timeFrameEnd"); |
| | | String timeFrameStart = jsonObject.getString("startDate"); |
| | | String timeFrameEnd = jsonObject.getString("endDate"); |
| | | SimpleDateFormat format = new SimpleDateFormat(timeFrameStart); |
| | | SimpleDateFormat format1 = new SimpleDateFormat(timeFrameEnd); |
| | | try { |
| | | Date parse = format.parse(timeFrameStart); |
| | | Date parse1 = format1.parse(timeFrameEnd); |
| | | if (new Date().after(parse) && new Date().before(parse1)){ |
| | | double continuingMember = jsonObject.getDouble("discountMember"); |
| | | String value = String.valueOf(continuingMember); |
| | | BigDecimal bigDecimal = new BigDecimal(value); |
| | | tCoursePackagePayment.setCashPayment(bigDecimal); |
| | | // 判断当日时间是否能享受到折扣 |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | // 判断三个折扣 谁所需支付金额最少 |
| | | 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); |
| | | } |
| | | coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); |
| | | return ResultUtil.success("添加成功"); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | |
| | | @RequestMapping(value = "/getCoursePackageConfig") |
| | | @ResponseBody |
| | | public List<CoursePackagePaymentConfig> getCoursePackageConfig(Integer id) { |
| | | if (id == null){ |
| | | return null; |
| | | } |
| | | return coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id); |
| | | } |
| | | |