|
@@ -3,6 +3,8 @@ package com.ym.mec.biz.service.impl;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
import com.ym.mec.biz.dal.entity.PracticeGroup;
|
|
|
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
|
|
|
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
|
|
|
import com.ym.mec.biz.dal.enums.GroupStatusEnum;
|
|
|
import com.ym.mec.biz.dal.enums.GroupType;
|
|
|
import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
|
|
@@ -52,6 +54,8 @@ public class GroupClassServiceImpl implements GroupClassService {
|
|
|
private PracticeGroupDao practiceGroupDao;
|
|
|
@Autowired
|
|
|
private SysUserCashAccountService sysUserCashAccountService;
|
|
|
+ @Autowired
|
|
|
+ private StudentPaymentOrderDao studentPaymentOrderDao;
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -116,6 +120,13 @@ public class GroupClassServiceImpl implements GroupClassService {
|
|
|
if(Objects.isNull(practiceGroup)){
|
|
|
throw new BizException("指定的课程组不存在");
|
|
|
}
|
|
|
+ List<StudentPaymentOrder> orders = studentPaymentOrderDao.findOrderByGroup(practiceGroup.getId().toString(), GroupType.PRACTICE, DealStatusEnum.SUCCESS);
|
|
|
+ if(CollectionUtils.isEmpty(orders)){
|
|
|
+ throw new BizException("未获取到订单");
|
|
|
+ }
|
|
|
+ if(refundAmount.compareTo(orders.get(0).getExpectAmount())>0){
|
|
|
+ throw new BizException("退款不可大于购买金额");
|
|
|
+ }
|
|
|
Date now=new Date();
|
|
|
if(!practiceGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)||practiceGroup.getCoursesExpireDate().before(now)){
|
|
|
throw new BizException("当前课程组不可关闭");
|