From c560f1a14ae1fc468d90e50e6a32d805295875da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 15:35:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
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