|
@@ -730,10 +730,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
CloudTeacherOrder cloudTeacherOrder = null;
|
|
CloudTeacherOrder cloudTeacherOrder = null;
|
|
//云教练/云教练+
|
|
//云教练/云教练+
|
|
if (registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus()) {
|
|
if (registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus()) {
|
|
-
|
|
|
|
- BigDecimal cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
|
|
|
|
- //OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
|
- //BigDecimal cloudTeacherPrice = registerPayDto.getBuyCloudTeacher() ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
|
|
|
|
|
|
+ BigDecimal cloudTeacherPrice = BigDecimal.ZERO;
|
|
|
|
+ if (musicGroupRegCalender.getMemberRankSettingId() != null) {
|
|
|
|
+ cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
|
|
|
|
+ } else {
|
|
|
|
+ if (musicGroup.getCloudTeacherType() != null) {
|
|
|
|
+ OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
|
+ cloudTeacherPrice = musicGroup.getCloudTeacherType() == 0 ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
orderAmount = orderAmount.add(cloudTeacherPrice);
|
|
orderAmount = orderAmount.add(cloudTeacherPrice);
|
|
studentRegistration.setHasCloudTeacher(1);
|
|
studentRegistration.setHasCloudTeacher(1);
|
|
@@ -743,12 +748,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
cloudTeacherOrder = new CloudTeacherOrder();
|
|
cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
|
|
|
cloudTeacherOrder.setType(2);//月
|
|
cloudTeacherOrder.setType(2);//月
|
|
- cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate());
|
|
|
|
|
|
+ cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
|
|
|
|
|
|
cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
|
|
cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
|
|
- cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId());
|
|
|
|
- cloudTeacherOrder.setAmount(musicGroupRegCalender.getMemberPaymentAmount());
|
|
|
|
|
|
+ cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId() == null ? 1 : musicGroupRegCalender.getMemberRankSettingId());
|
|
|
|
+ cloudTeacherOrder.setAmount(cloudTeacherPrice);
|
|
cloudTeacherOrder.setStatus(0);
|
|
cloudTeacherOrder.setStatus(0);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -959,9 +964,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
//云教练/云教练+
|
|
//云教练/云教练+
|
|
if (registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus()) {
|
|
if (registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus()) {
|
|
|
|
|
|
- BigDecimal cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
|
|
|
|
- //OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
|
- //BigDecimal cloudTeacherPrice = registerPayDto.getBuyCloudTeacher() ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
|
|
|
|
|
|
+ BigDecimal cloudTeacherPrice = BigDecimal.ZERO;
|
|
|
|
+ if (musicGroupRegCalender.getMemberRankSettingId() != null) {
|
|
|
|
+ cloudTeacherPrice = musicGroupRegCalender.getMemberPaymentAmount();
|
|
|
|
+ } else {
|
|
|
|
+ if (musicGroup.getCloudTeacherType() != null) {
|
|
|
|
+ OrganizationCloudTeacherFee cloudTeacher = organizationCloudTeacherFeeDao.getByOrganId(studentRegistration.getOrganId());
|
|
|
|
+ cloudTeacherPrice = musicGroup.getCloudTeacherType() == 0 ? cloudTeacher.getPrice() : cloudTeacher.getPlusPrice();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
orderAmount = orderAmount.add(cloudTeacherPrice);
|
|
orderAmount = orderAmount.add(cloudTeacherPrice);
|
|
studentRegistration.setHasCloudTeacher(1);
|
|
studentRegistration.setHasCloudTeacher(1);
|
|
@@ -971,12 +982,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
cloudTeacherOrder = new CloudTeacherOrder();
|
|
cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
|
|
|
cloudTeacherOrder.setType(2);//月
|
|
cloudTeacherOrder.setType(2);//月
|
|
- cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate());
|
|
|
|
|
|
+ cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
|
|
|
|
|
|
cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
|
|
cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
|
|
- cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId());
|
|
|
|
- cloudTeacherOrder.setAmount(musicGroupRegCalender.getMemberPaymentAmount());
|
|
|
|
|
|
+ cloudTeacherOrder.setLevel(musicGroupRegCalender.getMemberRankSettingId() == null ? 1 : musicGroupRegCalender.getMemberRankSettingId());
|
|
|
|
+ cloudTeacherOrder.setAmount(musicGroupRegCalender.getMemberPaymentAmount() == null ? cloudTeacherPrice : musicGroupRegCalender.getMemberPaymentAmount());
|
|
cloudTeacherOrder.setStatus(0);
|
|
cloudTeacherOrder.setStatus(0);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1981,6 +1992,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if(isRefundMemberFee){
|
|
|
|
+ //退云教练费用
|
|
|
|
+ if (cloudTeacherAmount != null) {
|
|
|
|
+ Date nowDate = new Date();
|
|
|
|
+ List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
|
+ BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
|
+ if(cloudTeacherOrders.size() > 0){
|
|
|
|
+ List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
|
+ for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
|
+ if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
|
+ DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
|
+ quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
|
+ orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
|
+ }
|
|
|
|
+ if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
|
+ throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
|
+ }
|
|
|
|
+ amount = amount.add(cloudTeacherAmount);
|
|
|
|
+ //清除学员云教练
|
|
|
|
+ studentService.cleanMember(userId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -2051,32 +2088,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if(isRefundMemberFee){
|
|
|
|
- //退云教练费用
|
|
|
|
- if (cloudTeacherAmount != null) {
|
|
|
|
- Date nowDate = new Date();
|
|
|
|
- List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
|
- BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
|
- if(cloudTeacherOrders.size() > 0){
|
|
|
|
- List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
|
- for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
|
- if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
|
- DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
|
- quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
|
- orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
|
- }
|
|
|
|
- if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
|
- throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
|
- }
|
|
|
|
- amount = amount.add(cloudTeacherAmount);
|
|
|
|
- //清除学员云教练
|
|
|
|
- studentService.cleanMember(userId);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (amount.doubleValue() > 0) {
|
|
if (amount.doubleValue() > 0) {
|
|
// 增加交易流水
|
|
// 增加交易流水
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
@@ -2258,6 +2269,31 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
//统计变更学员数
|
|
//统计变更学员数
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
}
|
|
}
|
|
|
|
+ if (isRefundMemberFee){
|
|
|
|
+ //退云教练费用
|
|
|
|
+ if (cloudTeacherAmount != null) {
|
|
|
|
+ Date nowDate = new Date();
|
|
|
|
+ List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
|
+ BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
|
+ if(cloudTeacherOrders.size() > 0){
|
|
|
|
+ List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
|
+ for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
|
+ if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
|
+ DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
|
+ quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
|
+ orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
|
+ }
|
|
|
|
+ if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
|
+ throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
|
+ }
|
|
|
|
+ amount = amount.add(cloudTeacherAmount);
|
|
|
|
+ //清除学员云教练
|
|
|
|
+ studentService.cleanMember(userId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
return true;
|
|
return true;
|
|
@@ -2327,32 +2363,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (isRefundMemberFee){
|
|
|
|
- //退云教练费用
|
|
|
|
- if (cloudTeacherAmount != null) {
|
|
|
|
- Date nowDate = new Date();
|
|
|
|
- List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
|
- BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
|
- if(cloudTeacherOrders.size() > 0){
|
|
|
|
- List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
|
- for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
|
- if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
|
- DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
|
- quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
|
- orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
|
- }
|
|
|
|
- if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
|
- throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
|
- }
|
|
|
|
- amount = amount.add(cloudTeacherAmount);
|
|
|
|
- //清除学员云教练
|
|
|
|
- studentService.cleanMember(userId);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (amount.doubleValue() > 0) {
|
|
if (amount.doubleValue() > 0) {
|
|
// 增加交易流水
|
|
// 增加交易流水
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
@@ -3093,6 +3103,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
musicGroup.setPaymentExpireDate(DateUtil.toDate(expireDate));
|
|
musicGroup.setPaymentExpireDate(DateUtil.toDate(expireDate));
|
|
musicGroup.setStatus(MusicGroupStatusEnum.PAY);
|
|
musicGroup.setStatus(MusicGroupStatusEnum.PAY);
|
|
musicGroupDao.update(musicGroup);
|
|
musicGroupDao.update(musicGroup);
|
|
|
|
+ List<Map<Integer, String>> mapList = studentRegistrationDao.findMapByMusicGroupId(musicGroupId, 0);
|
|
//所有人开启缴费
|
|
//所有人开启缴费
|
|
studentRegistrationDao.musicGroupOpenPay(musicGroupId, PaymentStatusEnum.OPEN);
|
|
studentRegistrationDao.musicGroupOpenPay(musicGroupId, PaymentStatusEnum.OPEN);
|
|
MusicGroupPaymentCalender regCalender = musicGroupPaymentCalenderDao.findByMusicGroupRegCalender(musicGroupId);
|
|
MusicGroupPaymentCalender regCalender = musicGroupPaymentCalenderDao.findByMusicGroupRegCalender(musicGroupId);
|
|
@@ -3105,12 +3116,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
//三方乐团不发送缴费通知
|
|
//三方乐团不发送缴费通知
|
|
if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
|
|
if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
|
|
//获取所有已报名学员列表
|
|
//获取所有已报名学员列表
|
|
- HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId, 0))), HashMap.class);
|
|
|
|
|
|
+ HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(mapList)), HashMap.class);
|
|
if (map != null && map.size() > 0) {
|
|
if (map != null && map.size() > 0) {
|
|
String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
|
|
String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
|
|
- String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
|
|
|
|
|
|
+// String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
|
|
sysMessageService.batchSendMessage(MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_MESSAGE,
|
|
sysMessageService.batchSendMessage(MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_MESSAGE,
|
|
- map, null, 0, "", "", musicGroup.getName(), studentApplyUrl, DateUtil.format(musicGroup.getPaymentExpireDate(), DateUtil.DATE_FORMAT_MIN), serverPhone);
|
|
|
|
|
|
+ map, null, 0, "", "", musicGroup.getName(), studentApplyUrl);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Set<Integer> roleIds = new HashSet<>(1);
|
|
Set<Integer> roleIds = new HashSet<>(1);
|