|
@@ -456,8 +456,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
// 学生购买价格,老师课薪设置校验
|
|
// 学生购买价格,老师课薪设置校验
|
|
VipGroupApplyBaseInfoDto vipGroupApplyBaseInfoDto = vipGroup.getVipGroupApplyBaseInfo();
|
|
VipGroupApplyBaseInfoDto vipGroupApplyBaseInfoDto = vipGroup.getVipGroupApplyBaseInfo();
|
|
|
|
|
|
- if (Objects.isNull(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice())
|
|
|
|
- && Objects.isNull(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice())) {
|
|
|
|
|
|
+ if (Objects.isNull(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice()) && Objects.isNull(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice())) {
|
|
throw new BizException("请设置课程单价");
|
|
throw new BizException("请设置课程单价");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -508,25 +507,20 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
// VIP课参数校验
|
|
// VIP课参数校验
|
|
if (CourseSchedule.CourseScheduleType.VIP.getCode().equals(groupType)) {
|
|
if (CourseSchedule.CourseScheduleType.VIP.getCode().equals(groupType)) {
|
|
-
|
|
|
|
// 校验VIP课参数
|
|
// 校验VIP课参数
|
|
vipGroupRequestParamValid(vipGroup, vipGroupApplyBaseInfoDto, totalClassTimes, firstCourseSchedule, latestCourseSchedule);
|
|
vipGroupRequestParamValid(vipGroup, vipGroupApplyBaseInfoDto, totalClassTimes, firstCourseSchedule, latestCourseSchedule);
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// LIVE课参数校验
|
|
// LIVE课参数校验
|
|
if (CourseSchedule.CourseScheduleType.LIVE.getCode().equals(groupType)) {
|
|
if (CourseSchedule.CourseScheduleType.LIVE.getCode().equals(groupType)) {
|
|
-
|
|
|
|
ImLiveBroadcastRoomDto liveRoom = vipGroup.getLiveBroadcastRoom();
|
|
ImLiveBroadcastRoomDto liveRoom = vipGroup.getLiveBroadcastRoom();
|
|
if (Objects.isNull(liveRoom) || Objects.isNull(liveRoom.getRoomConfig())) {
|
|
if (Objects.isNull(liveRoom) || Objects.isNull(liveRoom.getRoomConfig())) {
|
|
throw new BizException("直播间参数错误");
|
|
throw new BizException("直播间参数错误");
|
|
}
|
|
}
|
|
-
|
|
|
|
if (StringUtils.isAnyBlank(liveRoom.getRoomTitle(), liveRoom.getLiveRemark(), liveRoom.getOs())
|
|
if (StringUtils.isAnyBlank(liveRoom.getRoomTitle(), liveRoom.getLiveRemark(), liveRoom.getOs())
|
|
|| Objects.isNull(liveRoom.getUseScene())) {
|
|
|| Objects.isNull(liveRoom.getUseScene())) {
|
|
throw new BizException("直播间参数错误");
|
|
throw new BizException("直播间参数错误");
|
|
}
|
|
}
|
|
-
|
|
|
|
// 直播间默认方案
|
|
// 直播间默认方案
|
|
String liveClient = sysConfigDao.findConfigValue("live_client");
|
|
String liveClient = sysConfigDao.findConfigValue("live_client");
|
|
liveRoom.setServiceProvider(liveClient);
|
|
liveRoom.setServiceProvider(liveClient);
|
|
@@ -566,19 +560,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
costInfo = countVipGroupPredictFee1(vipGroupApplyBaseInfoDto, vipGroupApplyBaseInfoDto.getUserId(), null);
|
|
costInfo = countVipGroupPredictFee1(vipGroupApplyBaseInfoDto, vipGroupApplyBaseInfoDto.getUserId(), null);
|
|
}
|
|
}
|
|
if (CourseSchedule.CourseScheduleType.LIVE.getCode().equals(groupType)) {
|
|
if (CourseSchedule.CourseScheduleType.LIVE.getCode().equals(groupType)) {
|
|
- costInfo.put("totalPrice",
|
|
|
|
- vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice().multiply(new BigDecimal(vipGroupApplyBaseInfoDto.getOnlineClassesNum())));
|
|
|
|
|
|
+ costInfo.put("totalPrice",vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice().multiply(new BigDecimal(vipGroupApplyBaseInfoDto.getOnlineClassesNum())));
|
|
|
|
+ costInfo.put("originalTotalPrice",vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice().multiply(new BigDecimal(vipGroupApplyBaseInfoDto.getOnlineClassesNum())));
|
|
}
|
|
}
|
|
|
|
|
|
vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
|
|
vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
|
|
-
|
|
|
|
vipGroupApplyBaseInfoDto.setStatus(VipGroupStatusEnum.APPLYING);
|
|
vipGroupApplyBaseInfoDto.setStatus(VipGroupStatusEnum.APPLYING);
|
|
- //如果默认课酬与实际课酬不匹配则需要审批
|
|
|
|
-// if(costInfo.get("offlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary()) < 0){
|
|
|
|
-// vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
|
|
|
|
-// }
|
|
|
|
|
|
|
|
vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.getOrDefault("totalPrice", ZERO));
|
|
vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.getOrDefault("totalPrice", ZERO));
|
|
|
|
+ vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.getOrDefault("originalTotalPrice", ZERO));
|
|
if (CollectionUtils.isEmpty(vscps)) {
|
|
if (CollectionUtils.isEmpty(vscps)) {
|
|
vscps = new ArrayList<>();
|
|
vscps = new ArrayList<>();
|
|
for (Integer canBuyStudentId : canBuyStudentIds) {
|
|
for (Integer canBuyStudentId : canBuyStudentIds) {
|
|
@@ -2228,6 +2218,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
VipGroupSalarySettlementTypeDto giveVipOfflineSalarySettlement = null;
|
|
VipGroupSalarySettlementTypeDto giveVipOfflineSalarySettlement = null;
|
|
BigDecimal discount = new BigDecimal(100);
|
|
BigDecimal discount = new BigDecimal(100);
|
|
BigDecimal totalPrice = null;
|
|
BigDecimal totalPrice = null;
|
|
|
|
+ BigDecimal originalTotalPrice = null;
|
|
if (vipGroup.getVipGroupActivityId() != null) {
|
|
if (vipGroup.getVipGroupActivityId() != null) {
|
|
VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId());
|
|
VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId());
|
|
discount = vipGroupActivity.getDiscount();
|
|
discount = vipGroupActivity.getDiscount();
|
|
@@ -2239,7 +2230,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
giveVipOfflineSalarySettlement = vipGroupSalarySettlementDto.getGiveVipOfflineSalarySettlement();
|
|
giveVipOfflineSalarySettlement = vipGroupSalarySettlementDto.getGiveVipOfflineSalarySettlement();
|
|
if(vipGroupActivity.getFixedCourseNumFlag()){
|
|
if(vipGroupActivity.getFixedCourseNumFlag()){
|
|
totalPrice = vipGroupActivity.getMarketPrice();
|
|
totalPrice = vipGroupActivity.getMarketPrice();
|
|
|
|
+ originalTotalPrice = vipGroupActivity.getOriginalPrice();
|
|
vipGroup.setTotalPrice(totalPrice);
|
|
vipGroup.setTotalPrice(totalPrice);
|
|
|
|
+ vipGroup.setOriginalTotalPrice(originalTotalPrice);
|
|
}
|
|
}
|
|
//是否是赠送课程
|
|
//是否是赠送课程
|
|
ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroup.getId(), "VIP", null);
|
|
ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroup.getId(), "VIP", null);
|
|
@@ -2268,11 +2261,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
//课程购买费用计算
|
|
//课程购买费用计算
|
|
totalPrice = onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
totalPrice = onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
|
+ originalTotalPrice = totalPrice;
|
|
totalPrice = totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
totalPrice = totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
|
|
|
vipGroup.setTotalPrice(totalPrice.setScale(0, BigDecimal.ROUND_CEILING));
|
|
vipGroup.setTotalPrice(totalPrice.setScale(0, BigDecimal.ROUND_CEILING));
|
|
|
|
+ vipGroup.setOriginalTotalPrice(originalTotalPrice);
|
|
}
|
|
}
|
|
results.put("totalPrice", vipGroup.getTotalPrice());
|
|
results.put("totalPrice", vipGroup.getTotalPrice());
|
|
|
|
+ results.put("originalTotalPrice", vipGroup.getOriginalTotalPrice());
|
|
|
|
|
|
int normalStudentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(VIP, vipGroup.getId().toString());
|
|
int normalStudentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(VIP, vipGroup.getId().toString());
|
|
|
|
|
|
@@ -2856,8 +2852,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
String organIdsString = StringUtils.join(hashSet, ",");
|
|
String organIdsString = StringUtils.join(hashSet, ",");
|
|
vipGroup.setOrganIdList(organIdsString);
|
|
vipGroup.setOrganIdList(organIdsString);
|
|
vipGroupDao.update(vipGroup);
|
|
vipGroupDao.update(vipGroup);
|
|
- }else {
|
|
|
|
- vipGroupDao.updateStudentIdList(vipGroup.getId(),userId);
|
|
|
|
}
|
|
}
|
|
SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
|
|
SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
|
|
//插入缴费明细
|
|
//插入缴费明细
|
|
@@ -4690,6 +4684,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
throw new BizException("未找到此课程");
|
|
throw new BizException("未找到此课程");
|
|
}
|
|
}
|
|
VipGroupPayInfoDto vipGroupPayInfo = new VipGroupPayInfoDto();
|
|
VipGroupPayInfoDto vipGroupPayInfo = new VipGroupPayInfoDto();
|
|
|
|
+ if("LIVE".equals(vipGroup.getGroupType())){
|
|
|
|
+ ImLiveBroadcastRoomDto roomDto = JSON.parseObject(vipGroup.getLiveConfigJson(), ImLiveBroadcastRoomDto.class);
|
|
|
|
+ String subjectId = roomDto.getSubjectId();
|
|
|
|
+ Subject subject = subjectDao.get(Integer.parseInt(subjectId));
|
|
|
|
+ //乐理不提醒
|
|
|
|
+ if(!subject.getParentSubjectId().equals(30)){
|
|
|
|
+ Student student = studentDao.get(userId);
|
|
|
|
+ if(!student.getSubjectIdList().equals(subjectId)){
|
|
|
|
+ vipGroupPayInfo.setAlertSubjectFlag(true);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
vipGroupPayInfo.setTenantId(vipGroup.getTenantId());
|
|
vipGroupPayInfo.setTenantId(vipGroup.getTenantId());
|
|
vipGroupPayInfo.setVipGroupId(vipGroup.getId().intValue());
|
|
vipGroupPayInfo.setVipGroupId(vipGroup.getId().intValue());
|
|
vipGroupPayInfo.setViipGroupName(vipGroup.getName());
|
|
vipGroupPayInfo.setViipGroupName(vipGroup.getName());
|
|
@@ -4730,7 +4736,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
queryInfo.setExpireFlag(true);
|
|
queryInfo.setExpireFlag(true);
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
MapUtil.populateMap(params, queryInfo);
|
|
MapUtil.populateMap(params, queryInfo);
|
|
- // VIP小课、直播课
|
|
|
|
|
|
+ // VIP小课
|
|
List<StudentVipGroupShowListDto> vipGroups = vipGroupDao.findVipGroups(params);
|
|
List<StudentVipGroupShowListDto> vipGroups = vipGroupDao.findVipGroups(params);
|
|
// 直播课
|
|
// 直播课
|
|
vipGroups.addAll(vipGroupDao.findLiveGroups(params));
|
|
vipGroups.addAll(vipGroupDao.findLiveGroups(params));
|