|
@@ -319,7 +319,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
//获取vip课类型信息
|
|
//获取vip课类型信息
|
|
VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId().intValue());
|
|
VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId().intValue());
|
|
|
|
|
|
- VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), teacher.getTeacherOrganId());
|
|
|
|
|
|
+ VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroup.getVipGroupApplyBaseInfo().getOrganId());
|
|
|
|
|
|
if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
|
|
if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
|
|
vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
|
|
vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
|
|
@@ -647,6 +647,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
if(dataList != null && dataList.size() > 0){
|
|
if(dataList != null && dataList.size() > 0){
|
|
List<String> vipGroupIds = dataList.stream().map(vipGroup -> String.valueOf(vipGroup.getId())).distinct().collect(Collectors.toList());
|
|
List<String> vipGroupIds = dataList.stream().map(vipGroup -> String.valueOf(vipGroup.getId())).distinct().collect(Collectors.toList());
|
|
List<Map<Long, Integer>> vipGroupOverCourses = courseScheduleDao.countGroupOverCourse(vipGroupIds,"VIP");
|
|
List<Map<Long, Integer>> vipGroupOverCourses = courseScheduleDao.countGroupOverCourse(vipGroupIds,"VIP");
|
|
|
|
+ List<Map<String, Integer>> groupStudentNumMaps = classGroupStudentMapperDao.countGroupAllStudentNum(vipGroupIds, GroupType.VIP);
|
|
Map<String,Integer> vipGroupOverCourseMaps = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(vipGroupOverCourses)),HashMap.class);
|
|
Map<String,Integer> vipGroupOverCourseMaps = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(vipGroupOverCourses)),HashMap.class);
|
|
List<Integer> educationalTeacherIds=dataList.stream().filter(data -> Objects.nonNull(data.getEducationalTeacherId())).map(VipGroup::getEducationalTeacherId).collect(Collectors.toList());
|
|
List<Integer> educationalTeacherIds=dataList.stream().filter(data -> Objects.nonNull(data.getEducationalTeacherId())).map(VipGroup::getEducationalTeacherId).collect(Collectors.toList());
|
|
|
|
|
|
@@ -659,6 +660,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
Map<String,Long> totalClassTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.countTotalCourseScheduleNum(vipGroupIds,"VIP"));
|
|
Map<String,Long> totalClassTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.countTotalCourseScheduleNum(vipGroupIds,"VIP"));
|
|
Map<String,Long> currentClassTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.countCourseScheduleNum(vipGroupIds,"VIP"));
|
|
Map<String,Long> currentClassTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.countCourseScheduleNum(vipGroupIds,"VIP"));
|
|
Map<String,String> lastOverTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.findLastOverTime(vipGroupIds));
|
|
Map<String,String> lastOverTimeMap = MapUtil.convertIntegerMap(courseScheduleDao.findLastOverTime(vipGroupIds));
|
|
|
|
+ Map<String,Long> groupStudentNumMap = MapUtil.convertIntegerMap(groupStudentNumMaps);
|
|
|
|
|
|
List<Map<String, BigDecimal>> groupCoursesUnitPriceMaps = courseScheduleStudentPaymentDao.findGroupCoursesUnitPrice(GroupType.VIP, vipGroupIds);
|
|
List<Map<String, BigDecimal>> groupCoursesUnitPriceMaps = courseScheduleStudentPaymentDao.findGroupCoursesUnitPrice(GroupType.VIP, vipGroupIds);
|
|
Map<String,BigDecimal> groupCoursesUnitPrice=new HashMap<>();
|
|
Map<String,BigDecimal> groupCoursesUnitPrice=new HashMap<>();
|
|
@@ -689,7 +691,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
vipGroup.setTotalClassTimes(aLong==null?0:aLong.intValue());
|
|
vipGroup.setTotalClassTimes(aLong==null?0:aLong.intValue());
|
|
Long aLong1 = currentClassTimeMap.get(vipGroup.getId() + "");
|
|
Long aLong1 = currentClassTimeMap.get(vipGroup.getId() + "");
|
|
vipGroup.setCurrentClassTimes(aLong1==null?0:aLong1.intValue());
|
|
vipGroup.setCurrentClassTimes(aLong1==null?0:aLong1.intValue());
|
|
|
|
+
|
|
|
|
+ Long allStudentNum=groupStudentNumMap.get(vipGroup.getId().toString());
|
|
|
|
+ if(Objects.isNull(allStudentNum)){
|
|
|
|
+ allStudentNum=Long.valueOf(0);
|
|
|
|
+ }
|
|
|
|
+
|
|
if((Objects.isNull(aLong)||aLong<=0)
|
|
if((Objects.isNull(aLong)||aLong<=0)
|
|
|
|
+ &&(allStudentNum<=0)
|
|
&&(VipGroupStatusEnum.NOT_START.equals(vipGroup.getStatus())
|
|
&&(VipGroupStatusEnum.NOT_START.equals(vipGroup.getStatus())
|
|
||VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
|
|
||VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
|
|
vipGroup.setEnableDelete(1);
|
|
vipGroup.setEnableDelete(1);
|
|
@@ -2026,6 +2035,19 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
}
|
|
}
|
|
|
|
|
|
result.put("suplusCourseFee", bigDecimal);
|
|
result.put("suplusCourseFee", bigDecimal);
|
|
|
|
+
|
|
|
|
+ if(VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus())){
|
|
|
|
+ StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode());
|
|
|
|
+ if(Objects.nonNull(studentPaymentOrder)){
|
|
|
|
+ result.put("suplusCourseOriginalFee", studentPaymentOrder.getExpectAmount());
|
|
|
|
+ if(vipGroupCategory.getStudentNum()<=1){
|
|
|
|
+ result.put("suplusCourseFee", studentPaymentOrder.getExpectAmount().multiply(new BigDecimal(0.8)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP));
|
|
|
|
+ }else{
|
|
|
|
+ result.put("suplusCourseFee", studentPaymentOrder.getExpectAmount().multiply(new BigDecimal(0.7)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2240,6 +2262,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
// stopVipPush(vipGroup.getId(),vipGroup.getName());
|
|
// stopVipPush(vipGroup.getId(),vipGroup.getName());
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ if(VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus())){
|
|
|
|
+ Integer studentNum = classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId());
|
|
|
|
+ if(studentNum>0){
|
|
|
|
+ throw new BizException("无法停止课程,需要全部学员退学后,才能停止,请先操作学员退学。");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
List<Map<Integer, BigDecimal>> maps = vipGroupDao.countSurplusCourseFee(vipGroupId);
|
|
List<Map<Integer, BigDecimal>> maps = vipGroupDao.countSurplusCourseFee(vipGroupId);
|
|
if(CollectionUtils.isEmpty(maps)||(maps.size()==1&&Objects.isNull(maps.get(0)))){
|
|
if(CollectionUtils.isEmpty(maps)||(maps.size()==1&&Objects.isNull(maps.get(0)))){
|
|
if(courseScheduleIds != null && courseScheduleIds.size() > 0){
|
|
if(courseScheduleIds != null && courseScheduleIds.size() > 0){
|