From 91cabe852620e6a2f67344aa74363226152906c4 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 26 十月 2023 08:54:42 +0800 Subject: [PATCH] 运营商权限 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java | 82 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 72 insertions(+), 10 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 f5e6940..fbd60e7 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 @@ -17,16 +17,20 @@ import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.modular.system.model.*; 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; import com.dsh.guns.modular.system.service.ICoursePackageService; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.util.ResultUtil; +import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -93,8 +97,6 @@ if(UserExt.getUser().getObjectType()==3){ List<TStore> list1 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getId, UserExt.getUser().getObjectId())); model.addAttribute("stores",list1); - }else { - model.addAttribute("stores",new ArrayList<>()); } model.addAttribute("coursePackageType",tCoursePackageTypes); return PREFIX + "cpPayment_add.html"; @@ -112,23 +114,83 @@ // 获取课包id Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); List<TCoursePackageDiscount> list = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); - // 获取当前课包价格配置 - CoursePackagePaymentConfig coursePackagePaymentConfigs = coursePackagePaymentConfigClient.getById(id); Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId(); TCoursePackage tCoursePackage = coursePackageClient.queryById(coursePackageId1); - Double cashPayment = coursePackagePaymentConfigs.getCashPayment(); - String c1 = Double.toString(cashPayment); - BigDecimal bigDecimal = new BigDecimal(c1); - tCoursePackagePayment.setCashPayment(bigDecimal); Date currentDate = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(currentDate); calendar.add(Calendar.DAY_OF_MONTH, 20); Date updatedDate = calendar.getTime(); - tCoursePackagePayment.setOriginalPrice(cashPayment); + tCoursePackagePayment.setOriginalPrice(tCoursePackagePayment.getCashPayment().doubleValue()); tCoursePackagePayment.setUseTime(updatedDate); - tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfigs.getPlayPaiCoin()); + // 查询当前课包有没有课包折扣 + List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); + // 判断当前用户是不是会员 + Integer appUserId = tCoursePackagePayment.getAppUserId(); + Date vipEndTime = appUserClient.queryAppUser1(appUserId).getVipEndTime(); + for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) { + JSONObject jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()); + 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); + BigDecimal bigDecimal = new BigDecimal(value); + tCoursePackagePayment.setCashPayment(bigDecimal); + } + } + break; + case 2: + // 判断当前用户是否已经购买过当前课包 + List<com.dsh.course.feignClient.course.model.TCoursePackagePayment> 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); + BigDecimal bigDecimal = new BigDecimal(value); + tCoursePackagePayment.setCashPayment(bigDecimal); + }else{ // 否则享受用户续课折扣 + String value = String.valueOf(continuingUser); + BigDecimal bigDecimal = new BigDecimal(value); + tCoursePackagePayment.setCashPayment(bigDecimal); + } + } + break; + case 3: + // 限时折扣判断是否在有效期 + String timeFrameStart = jsonObject.getString("timeFrameStart"); + String timeFrameEnd = jsonObject.getString("timeFrameEnd"); + 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); + } + } catch (ParseException e) { + e.printStackTrace(); + } + break; + case 4: + // 赠送课时 + + break; + } + } coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); return ResultUtil.success("添加成功"); } -- Gitblit v1.7.1