|
@@ -25,11 +25,7 @@ import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.dal.dto.*;
|
|
|
import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
-import com.ym.mec.common.page.QueryInfo;
|
|
|
-import com.ym.mec.im.WebFeignService;
|
|
|
-import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.apache.poi.ss.formula.functions.T;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -149,6 +145,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
private EmployeeDao employeeDao;
|
|
|
@Autowired
|
|
|
private StudentInstrumentDao studentInstrumentDao;
|
|
|
+ @Autowired
|
|
|
+ private OrganizationCloudTeacherFeeDao organizationCloudTeacherFeeDao;
|
|
|
+ @Autowired
|
|
|
+ private CloudTeacherOrderService cloudTeacherOrderService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentRegistration> getDAO() {
|
|
@@ -378,7 +378,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel,
|
|
|
- BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, BigDecimal remitFee, BigDecimal courseRemitFee, List<MusicGroupPaymentCalenderCourseSettings> newCourses, Boolean buyMaintenance) throws Exception {
|
|
|
+ BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, BigDecimal remitFee, BigDecimal courseRemitFee, List<MusicGroupPaymentCalenderCourseSettings> newCourses, Boolean buyMaintenance, Boolean buyCloudTeacher) throws Exception {
|
|
|
Date date = new Date();
|
|
|
StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
|
|
|
studentPaymentOrder.setUserId(studentRegistration.getUserId());
|
|
@@ -464,6 +464,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
maintenanceOrderDetail.setIsRenew(0);
|
|
|
studentPaymentOrderDetailList.add(maintenanceOrderDetail);
|
|
|
}
|
|
|
+ //云教练
|
|
|
+ if (buyCloudTeacher) {
|
|
|
+ OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
+ BigDecimal cloudTeacherPrice = cloudTeacher.getPrice();
|
|
|
+ StudentPaymentOrderDetail cloudTeacherOrderDetail = new StudentPaymentOrderDetail();
|
|
|
+ cloudTeacherOrderDetail.setType(OrderDetailTypeEnum.CLOUD_TEACHER);
|
|
|
+ cloudTeacherOrderDetail.setPrice(cloudTeacherPrice);
|
|
|
+ cloudTeacherOrderDetail.setRemitFee(BigDecimal.ZERO);
|
|
|
+ cloudTeacherOrderDetail.setCreateTime(date);
|
|
|
+ cloudTeacherOrderDetail.setUpdateTime(date);
|
|
|
+ cloudTeacherOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
+ cloudTeacherOrderDetail.setIsRenew(0);
|
|
|
+ studentPaymentOrderDetailList.add(cloudTeacherOrderDetail);
|
|
|
+ }
|
|
|
studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
|
|
|
|
|
|
MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
|
|
@@ -471,7 +485,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
//增加缴费学生数
|
|
|
boolean updateFlag = false;
|
|
|
for (int i = 0; i < 10; i++) {
|
|
|
- if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.AMR) && amount.compareTo(BigDecimal.ZERO) <= 0) { //0元订单不增加报名人数
|
|
|
+ if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.CLOUD_TEACHER) && amount.compareTo(BigDecimal.ZERO) <= 0) { //0元订单不增加报名人数
|
|
|
updateFlag = true;
|
|
|
break;
|
|
|
}
|
|
@@ -499,8 +513,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
public StudentPaymentOrder reAddOrder(Integer userId, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee,
|
|
|
List<MusicGroupSubjectGoodsGroup> goodsGroups, String musicGroupId, StudentPaymentOrder oldOrder,
|
|
|
BigDecimal remitFee, BigDecimal courseRemitFee, List<MusicGroupPaymentCalenderCourseSettings> newCourses,
|
|
|
- Boolean buyMaintenance
|
|
|
- ) {
|
|
|
+ Boolean buyMaintenance,
|
|
|
+ Boolean buyCloudTeacher) {
|
|
|
//关闭老订单
|
|
|
oldOrder.setStatus(DealStatusEnum.CLOSE);
|
|
|
studentPaymentOrderService.update(oldOrder);
|
|
@@ -592,6 +606,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
maintenanceOrderDetail.setIsRenew(0);
|
|
|
studentPaymentOrderDetailList.add(maintenanceOrderDetail);
|
|
|
}
|
|
|
+ //云教练
|
|
|
+ if (buyCloudTeacher) {
|
|
|
+ OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(oldOrder.getOrganId());
|
|
|
+ BigDecimal cloudTeacherPrice = cloudTeacher.getPrice();
|
|
|
+ StudentPaymentOrderDetail cloudTeacherOrderDetail = new StudentPaymentOrderDetail();
|
|
|
+ cloudTeacherOrderDetail.setType(OrderDetailTypeEnum.CLOUD_TEACHER);
|
|
|
+ cloudTeacherOrderDetail.setPrice(cloudTeacherPrice);
|
|
|
+ cloudTeacherOrderDetail.setRemitFee(BigDecimal.ZERO);
|
|
|
+ cloudTeacherOrderDetail.setCreateTime(date);
|
|
|
+ cloudTeacherOrderDetail.setUpdateTime(date);
|
|
|
+ cloudTeacherOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
+ cloudTeacherOrderDetail.setIsRenew(0);
|
|
|
+ studentPaymentOrderDetailList.add(cloudTeacherOrderDetail);
|
|
|
+ }
|
|
|
studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
|
|
|
|
|
|
return studentPaymentOrder;
|
|
@@ -1042,6 +1070,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
BigDecimal courseFee = allDetails.stream().filter(o -> !o.getType().getCode().equals("MUSICAL"))
|
|
|
.filter(o -> !o.getType().getCode().equals("ACCESSORIES"))
|
|
|
.filter(o -> !o.getType().getCode().equals("MAINTENANCE"))
|
|
|
+ .filter(o -> !o.getType().getCode().equals("CLOUD_TEACHER"))
|
|
|
.map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
@@ -1118,6 +1147,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
//学生乐器与月保处理
|
|
|
studentInstrumentService.addOrderDetail2Instrument(studentPaymentOrder);
|
|
|
|
|
|
+ //学生云教练处理
|
|
|
+ cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder);
|
|
|
+
|
|
|
//合并学员处理
|
|
|
if (studentRegistration.getIsMerge().equals(1) && studentPaymentOrder.getExpectAmount().compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
return studentPaymentOrder;
|