From e0cfe53794b2c90d9f42e5ec821dd5775758d737 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期一, 09 十月 2023 12:00:53 +0800
Subject: [PATCH] update
---
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java | 276 +++++++++++++++++++++++--------------------------------
1 files changed, 116 insertions(+), 160 deletions(-)
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
index 218bcba..1017f20 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
@@ -21,7 +21,6 @@
import com.dsh.course.service.TCoursePackageDiscountService;
import com.dsh.course.util.DateTimeHelper;
import com.dsh.course.util.LocalDateTimeUtils;
-import com.dsh.course.util.ResultUtil;
import com.dsh.course.util.StrUtils;
import org.springframework.stereotype.Service;
@@ -83,16 +82,6 @@
if (integer >= maxSubscribeNumber){
continue;
}
- /**
- * [{
- * "startDate": "2023-01-01 00:00:00",
- * "endDate": "2023-12-31 23:59:59",
- * "startTime": "02:00:00",
- * "endTime": "23:00:00",
- * "weeks": [1, 2, 7],
- * "cashPayment": 100
- * }]
- */
try {
JSONArray jsonArray = JSON.parseArray(tCoursePackageDiscount.getContent());
JSONObject jsonObject = jsonArray.getJSONObject(0);
@@ -140,7 +129,8 @@
distanceVo.setLatitude(lat);
distanceVo.setLongitude(lon);
distanceVo.setStoreId(coursePackage.getStoreId());
- resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
+ String s = sreClient.calculateDistance(distanceVo);
+ resde.setStoreDistance(s);
list.add(resde);
}
}
@@ -184,123 +174,116 @@
e.printStackTrace();
}
}
- } else {
- tCoursePackageDiscountQueryWrapper.eq("type", 4);
- tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper);
- if (tCoursePackageDiscounts.size() > 0) {
- for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
- TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
+ }
+ }else {
+ tCoursePackageDiscountQueryWrapper.eq("type", 4);
+ tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper);
+ if (tCoursePackageDiscounts.size() > 0) {
+ for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
+ TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
// 判断预约人数是否已满
- Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
- Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId",appUserId )
- .eq("status",1));
- if (integer >= maxSubscribeNumber){
- continue;
- }
-// [{
-// "startDate": "2023-01-01 00:00:00",
-// "endDate": "2023-12-31 23:59:59",
-// "startTime": "02:00:00",
-// "endTime": "23:00:00",
-// "weeks": [1, 2, 7],
-// "hour": 10
-// }]
+ Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
+ Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
+ .eq("appUserId",appUserId )
+ .eq("status",1));
+ if (integer >= maxSubscribeNumber){
+ continue;
+ }
+ try {
+ JSONArray jsonArray = JSON.parseArray(tCoursePackageDiscount.getContent());
+ JSONObject jsonObject = jsonArray.getJSONObject(0);
+ Date parse1 = null;
+ Date parse2 = null;
+ String startDate = jsonObject.getString("startDate");
+ String endDate = jsonObject.getString("endDate");
try {
- JSONArray jsonArray = JSON.parseArray(tCoursePackageDiscount.getContent());
- JSONObject jsonObject = jsonArray.getJSONObject(0);
- Date parse1 = null;
- Date parse2 = null;
- String startDate = jsonObject.getString("startDate");
- String endDate = jsonObject.getString("endDate");
- try {
- parse1 = simpleDateFormat.parse(startDate);
- parse2 = simpleDateFormat.parse(endDate);
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- List<Integer> weeks = jsonObject.getJSONArray("weeks").toJavaList(Integer.class);
- Integer cashPayment = jsonObject.getInteger("hour");
-
- Date tomorrowDate = null;
- if (weekStr != 7) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(localTime);
- calendar.add(Calendar.DAY_OF_WEEK, 1);
- tomorrowDate = calendar.getTime();
- }
-
- boolean isWithinRange = false;
- if (weeks.contains(weekStr)) {
- isWithinRange = true;
- }
-
- if (isWithinRange) {
- // 判断当前日期是否在开始时间和结束时间范围内
- if (isDateWithinRange(localTime, parse1, parse2)) {
- Details resde = new Details();
-
- resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
- resde.setImage(coursePackage.getCoverDrawing());
- resde.setCoursePackageName(coursePackage.getName());
- CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
- resde.setCourseHours(paymentConfig.getClassHours());
- resde.setDonateHours(cashPayment);
- resde.setDataTime("今日");
- resde.setDate(localTime);
- resde.setOriginalPrice(paymentConfig.getCashPayment());
- resde.setStatus(1);
- GetDistanceVo distanceVo = new GetDistanceVo();
- distanceVo.setLatitude(lat);
- distanceVo.setLongitude(lon);
- distanceVo.setStoreId(coursePackage.getStoreId());
- resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
- list.add(resde);
- }
- }
- Calendar tempCalendar = Calendar.getInstance();
- tempCalendar.setTime(localTime);
- tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
-
- while (tempCalendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
- Date tempDate = tempCalendar.getTime();
- int weekNumOfDate = DateTimeHelper.getWeekNumOfDate(tempDate);
- if (isDateWithinRange(tempDate, parse1, parse2) && weeks.contains(weekNumOfDate)) {
- Details resde = new Details();
-
- resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
- resde.setImage(coursePackage.getCoverDrawing());
- resde.setCoursePackageName(coursePackage.getName());
- CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
- resde.setCourseHours(paymentConfig.getClassHours());
- resde.setDonateHours(cashPayment);
- String weekOfDate = "";
- if (weekStr != 7 && tempDate.equals(tomorrowDate)) {
- weekOfDate = "明日";
- } else {
- weekOfDate = DateTimeHelper.getWeekOfDate(tempDate);
- }
- resde.setDataTime(weekOfDate);
- resde.setDate(tempDate);
- resde.setOriginalPrice(paymentConfig.getCashPayment());
- resde.setStatus(2);
- GetDistanceVo distanceVo = new GetDistanceVo();
- distanceVo.setLatitude(lat);
- distanceVo.setLongitude(lon);
- distanceVo.setStoreId(coursePackage.getStoreId());
- resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
- list.add(resde);
- }
- tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
+ parse1 = simpleDateFormat.parse(startDate);
+ parse2 = simpleDateFormat.parse(endDate);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
}
+ List<Integer> weeks = jsonObject.getJSONArray("weeks").toJavaList(Integer.class);
+ Integer cashPayment = jsonObject.getInteger("hour");
+
+ Date tomorrowDate = null;
+ if (weekStr != 7) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(localTime);
+ calendar.add(Calendar.DAY_OF_WEEK, 1);
+ tomorrowDate = calendar.getTime();
+ }
+
+ boolean isWithinRange = false;
+ if (weeks.contains(weekStr)) {
+ isWithinRange = true;
+ }
+
+ if (isWithinRange) {
+ // 判断当前日期是否在开始时间和结束时间范围内
+ if (isDateWithinRange(localTime, parse1, parse2)) {
+ Details resde = new Details();
+
+ resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
+ resde.setImage(coursePackage.getCoverDrawing());
+ resde.setCoursePackageName(coursePackage.getName());
+ CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
+ resde.setCourseHours(paymentConfig.getClassHours());
+ resde.setDonateHours(cashPayment);
+ resde.setDataTime("今日");
+ resde.setDate(localTime);
+ resde.setOriginalPrice(paymentConfig.getCashPayment());
+ resde.setStatus(1);
+ GetDistanceVo distanceVo = new GetDistanceVo();
+ distanceVo.setLatitude(lat);
+ distanceVo.setLongitude(lon);
+ distanceVo.setStoreId(coursePackage.getStoreId());
+ resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
+ list.add(resde);
+ }
+ }
+ Calendar tempCalendar = Calendar.getInstance();
+ tempCalendar.setTime(localTime);
+ tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
+
+ while (tempCalendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
+ Date tempDate = tempCalendar.getTime();
+ int weekNumOfDate = DateTimeHelper.getWeekNumOfDate(tempDate);
+ if (isDateWithinRange(tempDate, parse1, parse2) && weeks.contains(weekNumOfDate)) {
+ Details resde = new Details();
+
+ resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
+ resde.setImage(coursePackage.getCoverDrawing());
+ resde.setCoursePackageName(coursePackage.getName());
+ CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
+ resde.setCourseHours(paymentConfig.getClassHours());
+ resde.setDonateHours(cashPayment);
+ String weekOfDate = "";
+ if (weekStr != 7 && tempDate.equals(tomorrowDate)) {
+ weekOfDate = "明日";
+ } else {
+ weekOfDate = DateTimeHelper.getWeekOfDate(tempDate);
+ }
+ resde.setDataTime(weekOfDate);
+ resde.setDate(tempDate);
+ resde.setOriginalPrice(paymentConfig.getCashPayment());
+ resde.setStatus(2);
+ GetDistanceVo distanceVo = new GetDistanceVo();
+ distanceVo.setLatitude(lat);
+ distanceVo.setLongitude(lon);
+ distanceVo.setStoreId(coursePackage.getStoreId());
+ resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
+ list.add(resde);
+ }
+ tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
}
}
+ System.out.println("list"+list);
return list;
}
@@ -308,8 +291,8 @@
public ExchangeCoursePackageResponse getWeekFreeCourseDetails(Integer coursePackageDiscountId,String lat,String lon) {
ExchangeCoursePackageResponse packageResponse = new ExchangeCoursePackageResponse();
TCoursePackageDiscount coursePackageDiscount = this.baseMapper.selectById(coursePackageDiscountId);
- packageResponse.setCoursePackageDiscountId(coursePackageDiscount.getCoursePackageId());
Integer coursePackageId = coursePackageDiscount.getCoursePackageId();
+ packageResponse.setCoursePackageDiscountId(coursePackageId);
TCoursePackage coursePackage = tcpMapper.selectById(coursePackageId);
@@ -324,9 +307,11 @@
distanceVo.setLatitude(lat);
distanceVo.setLongitude(lon);
distanceVo.setStoreId(coursePackage.getStoreId());
- long l = sreClient.calculateDistance(distanceVo);
- packageResponse.setDistance(l);
-
+ String s = sreClient.calculateDistance(distanceVo);
+ packageResponse.setDistance(Double.valueOf(s));
+ if (coursePackageDiscount.getType() == 1 || coursePackageDiscount.getType() == 2){
+ return packageResponse;
+ }
JSONArray jsonArray = JSON.parseArray(coursePackageDiscount.getContent());
JSONObject jsonObject = jsonArray.getJSONObject(0);
CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(coursePackageDiscount.getCoursePackagePaymentConfigId());
@@ -351,37 +336,13 @@
packageResponse.setDiscountPrice(vipPrice);
packageResponse.setWanpaiGold(paymentConfig.getPlayPaiCoin());
}
- List<Integer> weeks = StrUtils.dealStrToList(coursePackage.getClassWeeks());
- if (weeks.size() > 0){
+ String[] split = coursePackage.getClassWeeks().split(";");
+ if (split.length > 0){
StringBuilder courWeeks = new StringBuilder("每");
- for (Integer integer : weeks) {
- switch (integer){
- case 1:
- courWeeks.append("周一、");
- break;
- case 2:
- courWeeks.append("周二、");
- break;
- case 3:
- courWeeks.append("周三、");
- break;
- case 4:
- courWeeks.append("周四、");
- break;
- case 5:
- courWeeks.append("周五、");
- break;
- case 6:
- courWeeks.append("周六、");
- break;
- case 7:
- courWeeks.append("周末、");
- break;
- default:
- break;
- }
+ for (String integer : split) {
+ courWeeks.append(integer).append("、");
}
- if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == ','){
+ if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){
courWeeks.deleteCharAt(courWeeks.length() - 1);
}
packageResponse.setWeekTime(courWeeks.toString());
@@ -391,11 +352,6 @@
return packageResponse;
}
- @Override
- public ResultUtil paymentDiscountCoursePack(Integer coursePackageDiscountId, Integer appuserId) {
- // TODO: 2023/7/13 折扣课包支付
- return null;
- }
private static boolean isDateWithinRange(Date date, Date startTime, Date endTime) {
--
Gitblit v1.7.1