|
@@ -212,7 +212,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
int recordNum = practiceLessonApplyDao.checkUserIsApply(userId);
|
|
|
LocalDateTime now=LocalDateTime.now();
|
|
|
if(recordNum>0){
|
|
|
- LocalDateTime applyExpireDateTime=LocalDateTime.parse("2020-03-01 00:00:00", DateUtil.dateTimeFormatter);
|
|
|
+ LocalDateTime applyExpireDateTime=LocalDateTime.parse("2020-02-29 00:00:00", DateUtil.dateTimeFormatter);
|
|
|
result.put("canApply", now.compareTo(applyExpireDateTime)<=0?1:0);
|
|
|
}else{
|
|
|
LocalDateTime applyExpireDateTime=LocalDateTime.parse("2020-02-22 20:00:00", DateUtil.dateTimeFormatter);
|
|
@@ -1628,25 +1628,25 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
if (practiceGroup.getFirstCourseTime().before(activityStartDate)
|
|
|
|| practiceGroup.getFirstCourseTime().after(activityEndDate)) {
|
|
|
result.put("status", "APPLY_DATE_OVERFLOW");
|
|
|
- result.put("info", "预约失败,陪练课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
+ result.put("info", "预约失败,网管课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
return result;
|
|
|
}
|
|
|
if (practiceGroup.getSecondCourseTime().before(activityStartDate)
|
|
|
|| practiceGroup.getSecondCourseTime().after(activityEndDate)) {
|
|
|
result.put("status", "APPLY_DATE_OVERFLOW");
|
|
|
- result.put("info", "预约失败,陪练课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
+ result.put("info", "预约失败,网管课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
return result;
|
|
|
}
|
|
|
if (DateUtil.isSameDay(practiceGroup.getFirstCourseTime(), practiceGroup.getSecondCourseTime())) {
|
|
|
result.put("status", "TWO_DATE_ON_ONE_DAY");
|
|
|
- result.put("info", "预约失败,陪练课选择时间重复,请重试。");
|
|
|
+ result.put("info", "预约失败,网管课选择时间重复,请重试。");
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
int recordNum = practiceLessonApplyDao.checkUserIsApply(practiceGroup.getStudentId());
|
|
|
if(recordNum>0){
|
|
|
LocalDateTime nowDateTime=LocalDateTime.now();
|
|
|
- LocalDateTime applyExpireDateTime=LocalDateTime.parse("2020-03-01 00:00:00", DateUtil.dateTimeFormatter);
|
|
|
+ LocalDateTime applyExpireDateTime=LocalDateTime.parse("2020-02-29 00:00:00", DateUtil.dateTimeFormatter);
|
|
|
if(nowDateTime.compareTo(applyExpireDateTime)>0){
|
|
|
result.put("status", "APPLY_DATE_OVERFLOW");
|
|
|
result.put("info", "预约失败,超出可预约时间范围。");
|
|
@@ -1680,13 +1680,13 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
if (allCourseDates.get(2).before(activityStartDate)
|
|
|
|| allCourseDates.get(2).after(courseExpireDate)) {
|
|
|
result.put("status", "APPLY_DATE_OVERFLOW");
|
|
|
- result.put("info", "预约失败,陪练课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
+ result.put("info", "预约失败,网管课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
return result;
|
|
|
}
|
|
|
if (allCourseDates.get(3).before(activityStartDate)
|
|
|
|| allCourseDates.get(3).after(courseExpireDate)) {
|
|
|
result.put("status", "APPLY_DATE_OVERFLOW");
|
|
|
- result.put("info", "预约失败,陪练课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
+ result.put("info", "预约失败,网管课的时间超出活动时间范围(2020-3-31之前),请重试。");
|
|
|
return result;
|
|
|
}
|
|
|
allCourseDates.sort(Comparator.comparing(Date::getTime));
|
|
@@ -1698,7 +1698,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
if (applyTimes >= 1) {
|
|
|
result.put("status", "IS_APPLIED");
|
|
|
- result.put("info", "您已经完成陪练课预约,请勿重复预约。");
|
|
|
+ result.put("info", "您已经完成网管课预约,请勿重复预约。");
|
|
|
return result;
|
|
|
}
|
|
|
applyTimes += 1;
|
|
@@ -2094,7 +2094,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
public Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo) {
|
|
|
PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
if (Objects.isNull(queryInfo.getPracticeId())) {
|
|
|
- throw new BizException("请指定陪练课课程");
|
|
|
+ throw new BizException("请指定网管课课程");
|
|
|
}
|
|
|
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
@@ -2102,7 +2102,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(queryInfo.getPracticeId());
|
|
|
if (Objects.isNull(practiceGroup)) {
|
|
|
- throw new BizException("指定的陪练课不存在");
|
|
|
+ throw new BizException("指定的网管课不存在");
|
|
|
}
|
|
|
List<CourseSchedule> dataList = courseScheduleDao.findGroupCourseSchedules(practiceGroup.getId(), GroupType.PRACTICE.getCode());
|
|
|
int count = dataList.size();
|
|
@@ -2384,6 +2384,10 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
ZoneId zoneId = ZoneId.systemDefault();
|
|
|
|
|
|
LocalDate now = LocalDate.now();
|
|
|
+ LocalDate tempCourseDate=LocalDate.parse("2020-03-01", DateUtil.dateFormatter);
|
|
|
+ if(now.isBefore(tempCourseDate)){
|
|
|
+ now = tempCourseDate;
|
|
|
+ }
|
|
|
if(renew){
|
|
|
PracticeGroup userLatestPracticeGroup = practiceGroupDao.findUserPracticeGroup(userId,groupId);
|
|
|
if(Objects.nonNull(userLatestPracticeGroup)){
|
|
@@ -2641,13 +2645,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
Date now=new Date();
|
|
|
LocalDate courseStartDay=LocalDate.now();
|
|
|
+ LocalDate tempCourseLocalDate=LocalDate.parse("2020-03-01", DateUtil.dateFormatter);
|
|
|
+ if(courseStartDay.isBefore(tempCourseLocalDate)){
|
|
|
+ courseStartDay = tempCourseLocalDate;
|
|
|
+ }
|
|
|
if(practiceGroupBuyParams.isRenew()){
|
|
|
if(Objects.isNull(practiceGroupBuyParams.getGroupId())){
|
|
|
return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "请选择需要续费的课程");
|
|
|
}
|
|
|
PracticeGroup userLatestPracticeGroup = practiceGroupDao.findUserPracticeGroup(practiceGroupBuyParams.getStudentId(),practiceGroupBuyParams.getGroupId());
|
|
|
if(Objects.nonNull(userLatestPracticeGroup)){
|
|
|
- if(userLatestPracticeGroup.getCoursesExpireDate().before(now)){
|
|
|
+ if(userLatestPracticeGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)&&userLatestPracticeGroup.getCoursesExpireDate().before(now)){
|
|
|
throw new BizException("当前课程组已经无法续费,请选择购买");
|
|
|
}
|
|
|
LocalDate lastExpiredDay=LocalDateTime.ofInstant(userLatestPracticeGroup.getCoursesExpireDate().toInstant(),DateUtil.zoneId).toLocalDate();
|
|
@@ -2889,7 +2897,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
studentPaymentOrder.setUpdateTime(now);
|
|
|
studentPaymentOrder.setOrganId(practiceGroupBuyParams.getOrganId());
|
|
|
|
|
|
- sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), studentPaymentOrder.getExpectAmount().negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"陪练课购买");
|
|
|
+ sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), studentPaymentOrder.getExpectAmount().negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"网管课购买");
|
|
|
|
|
|
this.orderCallback(studentPaymentOrder);
|
|
|
|
|
@@ -2899,7 +2907,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
return BaseController.succeed(result);
|
|
|
}else{
|
|
|
if (userCashAccount.getBalance().doubleValue() > 0) {
|
|
|
- sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "陪练课购买");
|
|
|
+ sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "网管课购买");
|
|
|
amount = studentPaymentOrder.getExpectAmount().subtract(userCashAccount.getBalance());
|
|
|
studentPaymentOrder.setActualAmount(amount);
|
|
|
studentPaymentOrder.setBalancePaymentAmount(userCashAccount.getBalance());
|
|
@@ -2921,7 +2929,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
orderNo,
|
|
|
baseApiUrl+"/api-student/studentOrder/notify",
|
|
|
baseApiUrl+"/api-student/studentOrder/paymentResult?orderNo=" + orderNo,
|
|
|
- "陪练课购买",
|
|
|
+ "网管课购买",
|
|
|
practiceGroupBuyParams.getName(),
|
|
|
practiceGroupBuyParams.getStudentId(),
|
|
|
classFee,
|
|
@@ -2989,14 +2997,23 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ Long ingOrderNum=statusOrderNumMap.get(DealStatusEnum.ING);
|
|
|
+ if(Objects.nonNull(ingOrderNum)&&ingOrderNum>1&&order.getStatus().equals(DealStatusEnum.FAILED)){
|
|
|
+ studentPaymentOrderDao.update(order);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if(order.getStatus().equals(DealStatusEnum.SUCCESS)){
|
|
|
courseScheduleDao.updateGroupCourseLock(order.getMusicGroupId(),GroupType.PRACTICE,0);
|
|
|
}else{
|
|
|
if(Objects.nonNull(order.getBalancePaymentAmount())){
|
|
|
- sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "陪练课购买失败");
|
|
|
+ sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课购买失败");
|
|
|
}
|
|
|
studentPaymentOrderDao.update(order);
|
|
|
- groupService.deleteGroupInfo(order.getMusicGroupId(),GroupType.PRACTICE);
|
|
|
+ PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
|
|
|
+ practiceGroup.setGroupStatus(GroupStatusEnum.CANCEL);
|
|
|
+ practiceGroupDao.update(practiceGroup);
|
|
|
+ groupService.deleteGroupOtherInfo(order.getMusicGroupId(),GroupType.PRACTICE);
|
|
|
return;
|
|
|
}
|
|
|
studentPaymentOrderDao.update(order);
|
|
@@ -3160,16 +3177,19 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
PracticeGroup practiceGroup = practiceGroupDao.lockPracticeGroup(practiceGroupId);
|
|
|
if(Objects.isNull(practiceGroup)){
|
|
|
- return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "此课程组已过期,请重新购买");
|
|
|
+ return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
|
|
|
+ }
|
|
|
+ if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)){
|
|
|
+ return BaseController.failed(HttpStatus.CREATED, "该订单已经支付成功");
|
|
|
}
|
|
|
- if(!practiceGroup.getGroupStatus().equals(GroupStatusEnum.LOCK)){
|
|
|
- return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "此课程组订单正在支付中");
|
|
|
+ if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.CANCEL)){
|
|
|
+ return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
|
|
|
}
|
|
|
List<StudentPaymentOrder> userGroupOrders = studentPaymentOrderDao.findUserGroupOrders(userId, practiceGroupId.toString(), GroupType.PRACTICE,null);
|
|
|
Map<DealStatusEnum, List<StudentPaymentOrder>> statusOrderMap = userGroupOrders.stream().collect(Collectors.groupingBy(StudentPaymentOrder::getStatus));
|
|
|
List<StudentPaymentOrder> successOrders=statusOrderMap.get(DealStatusEnum.SUCCESS);
|
|
|
if(!CollectionUtils.isEmpty(successOrders)&&successOrders.size()>0){
|
|
|
- return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "该订单已经支付成功,请勿重复购买");
|
|
|
+ return BaseController.failed(HttpStatus.CREATED, "该订单已经支付成功");
|
|
|
}
|
|
|
|
|
|
StudentPaymentOrder latestOrder=userGroupOrders.stream().max(Comparator.comparing(StudentPaymentOrder::getId)).get();
|
|
@@ -3179,14 +3199,15 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
List<StudentPaymentOrder> ingOrders = statusOrderMap.get(DealStatusEnum.ING);
|
|
|
if(CollectionUtils.isEmpty(ingOrders)||ingOrders.size()<=0){
|
|
|
- return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "该订单支付失败,请重新购买");
|
|
|
- }else{
|
|
|
- for (StudentPaymentOrder ingOrder : ingOrders) {
|
|
|
- ingOrder.setStatus(DealStatusEnum.CLOSE);
|
|
|
- ingOrder.setMemo("用户重新支付");
|
|
|
- studentPaymentOrderDao.update(ingOrder);
|
|
|
- }
|
|
|
+ return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
|
|
|
}
|
|
|
+// else{
|
|
|
+// for (StudentPaymentOrder ingOrder : ingOrders) {
|
|
|
+// ingOrder.setStatus(DealStatusEnum.CLOSE);
|
|
|
+// ingOrder.setMemo("用户重新支付");
|
|
|
+// studentPaymentOrderDao.update(ingOrder);
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
String orderNo=idGeneratorService.generatorId("payment") + "";
|
|
|
String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
@@ -3201,7 +3222,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
orderNo,
|
|
|
baseApiUrl+"/api-student/studentOrder/notify",
|
|
|
baseApiUrl+"/api-student/studentOrder/paymentResult?orderNo=" + orderNo,
|
|
|
- "陪练课购买",
|
|
|
+ "网管课购买",
|
|
|
practiceGroup.getName(),
|
|
|
practiceGroup.getStudentId(),
|
|
|
classFee,
|