|
@@ -236,6 +236,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
@Autowired
|
|
|
private StudentInstrumentDao studentInstrumentDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
|
+
|
|
|
private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
private SimpleDateFormat sdf_hms = new SimpleDateFormat("HH:mm:ss");
|
|
@@ -702,7 +705,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//云教练
|
|
|
MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
|
|
|
studentRegistration.setOrganId(musicGroup.getOrganId());
|
|
|
- if(registerPayDto.getBuyCloudTeacher()){
|
|
|
+ if (registerPayDto.getBuyCloudTeacher()) {
|
|
|
OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
BigDecimal cloudTeacherPrice = cloudTeacher.getPrice();
|
|
|
orderAmount = orderAmount.add(cloudTeacherPrice);
|
|
@@ -859,7 +862,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
|
|
|
//云教练
|
|
|
- if(registerPayDto.getBuyCloudTeacher()){
|
|
|
+ if (registerPayDto.getBuyCloudTeacher()) {
|
|
|
OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
BigDecimal cloudTeacherPrice = cloudTeacher.getPrice();
|
|
|
orderAmount = orderAmount.add(cloudTeacherPrice);
|
|
@@ -1872,7 +1875,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
@Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
public boolean directQuitMusicGroup(String musicGroupId, Integer userId, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
|
|
|
- boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee) {
|
|
|
+ boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
|
|
|
|
|
|
SysUser sysUser = sysUserFeignService.queryUserById(userId);
|
|
|
if (sysUser == null) {
|
|
@@ -2065,6 +2068,25 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //退云教练费用
|
|
|
+ if (cloudTeacherAmount != null) {
|
|
|
+ Date nowDate = new Date();
|
|
|
+ CloudTeacherOrder studentCloudTeacherOrder = cloudTeacherOrderDao.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
+ if (cloudTeacherAmount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ if (studentCloudTeacherOrder == null || studentCloudTeacherOrder.getEndTime().compareTo(nowDate) <= 0) {
|
|
|
+ throw new BizException("学生云教练已过有效期,不能退费");
|
|
|
+ }
|
|
|
+ if (cloudTeacherAmount.compareTo(studentCloudTeacherOrder.getAmount()) > 0) {
|
|
|
+ throw new BizException("退费金额不能大于原始订单金额");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ amount = amount.add(cloudTeacherAmount);
|
|
|
+ if (studentCloudTeacherOrder != null) {
|
|
|
+// studentMaintenance.setDelFlag(1);
|
|
|
+// studentInstrumentDao.update(studentMaintenance);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (amount.doubleValue() > 0) {
|
|
|
// 增加交易流水
|
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|