|
@@ -199,6 +199,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
vipGroupApplyBaseInfoDto.setCourseStartDate(firstCourseSchedule.getStartClassTime());
|
|
|
//课程结束时间为排课的最后一节课的结束时间
|
|
|
vipGroupApplyBaseInfoDto.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
|
|
|
+ vipGroupDao.insert(vipGroupApplyBaseInfoDto);
|
|
|
|
|
|
//获取vip课类型信息
|
|
|
VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId().intValue());
|
|
@@ -252,9 +253,24 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
|
|
|
courseSchedule.setClassGroupId(classGroup.getId());
|
|
|
});
|
|
|
+ courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false);
|
|
|
vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
|
|
|
- vipGroupDao.insert(vipGroupApplyBaseInfoDto);
|
|
|
+ vipGroupDao.update(vipGroupApplyBaseInfoDto);
|
|
|
|
|
|
+ try {
|
|
|
+ //创建融云班级群
|
|
|
+ ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString())};
|
|
|
+ // 创建群组
|
|
|
+ imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
|
|
|
+
|
|
|
+ //发送推送短信
|
|
|
+ Map<Integer,String> map = new HashMap<>(1);
|
|
|
+ map.put(vipGroupApplyBaseInfoDto.getUserId(),sysUser.getPhone());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
|
|
|
+ map,null,0,"",vipGroupApplyBaseInfoDto.getName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -505,10 +521,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
if(Objects.isNull(vipGroupId)){
|
|
|
throw new BizException("请指定vip课程");
|
|
|
}
|
|
|
- StudentVipGroupDetailDto vipGroupDetail = vipGroupDao.getVipGroupDetail(vipGroupId);
|
|
|
- if(Objects.isNull(vipGroupDetail)){
|
|
|
+ VipGroup vipGroup = vipGroupDao.get(vipGroupId);
|
|
|
+ if(Objects.isNull(vipGroup)){
|
|
|
throw new BizException("未找到指定课程");
|
|
|
}
|
|
|
+ StudentVipGroupDetailDto vipGroupDetail = vipGroupDao.getVipGroupDetail(vipGroupId);
|
|
|
+ if(CollectionUtils.isEmpty(vipGroupDetail.getCourseSchedules())){
|
|
|
+ vipGroupDetail.setCourseSchedules(JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class));
|
|
|
+ }
|
|
|
|
|
|
vipGroupDetail.setNumberOfClasses(vipGroupDao.countTeacherVipGroups(vipGroupDetail.getTeacherId().longValue()));
|
|
|
return vipGroupDetail;
|
|
@@ -731,6 +751,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void createVipGroupCourseScheInfo(Long vipGroupId){
|
|
|
VipGroup vipGroupApplyBaseInfoDto = vipGroupDao.get(vipGroupId);
|
|
|
List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroupApplyBaseInfoDto.getCourseSchedulesJson(),CourseSchedule.class);
|
|
@@ -748,18 +769,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
classGroupTeacherSalary.getOnlineClassesSalary(),
|
|
|
classGroupTeacherSalary.getSalary());
|
|
|
|
|
|
- //不需要审核
|
|
|
- if(vipGroupApplyBaseInfoDto.getAuditStatus() == AuditStatusEnum.PASS){
|
|
|
- //创建融云班级群
|
|
|
- ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString())};
|
|
|
- // 创建群组
|
|
|
- imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
|
|
|
+ List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
|
|
|
|
|
|
- //发送推送短信
|
|
|
- Map<Integer,String> map = new HashMap<>(1);
|
|
|
- map.put(vipGroupApplyBaseInfoDto.getUserId(),sysUser.getPhone());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
|
|
|
- map,null,0,"",vipGroupApplyBaseInfoDto.getName());
|
|
|
+ //生成学生单课缴费信息
|
|
|
+ for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
|
|
|
+ courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,classGroupStudent.getUserId());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -811,6 +825,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
this.updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false);
|
|
|
}
|
|
|
|
|
|
+ List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
|
|
|
+ courseScheduleService.checkNewCourseSchedules(courseSchedules,false);
|
|
|
+
|
|
|
StudentPaymentOrder studentPaymentOrder=new StudentPaymentOrder();
|
|
|
studentPaymentOrder.setUserId(user.getId());
|
|
|
String orderNo=StringUtils.join(new String[]{user.getId().toString(),String.valueOf(System.currentTimeMillis())});
|
|
@@ -827,8 +844,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
Map<String,Object> payMap = payService.getPayMap(
|
|
|
vipGroup.getTotalPrice(),
|
|
|
orderNo,
|
|
|
- "http://mstudev.dayaedu.com/api-student/studentOrder/notify",
|
|
|
- "http://mstudev.dayaedu.com/#/paymentresult?orderNo="+orderNo,
|
|
|
+ "https://dyme.utools.club/api-student/studentOrder/notify",
|
|
|
+ "http://dyme.utools.club/#/paymentresult?orderNo="+orderNo,
|
|
|
"vip课购买",
|
|
|
vipGroup.getName());
|
|
|
studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
|
|
@@ -885,9 +902,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_VIP_BUY, map, null, 0, "2",
|
|
|
vipGroup.getName());
|
|
|
|
|
|
- //生成学生单课缴费信息
|
|
|
- courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,userId);
|
|
|
-
|
|
|
VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroupId);
|
|
|
|
|
|
ClassGroupStudentMapper classGroupStudentMapper=new ClassGroupStudentMapper(vipGroupClassGroupMapper.getClassGroupId(),userId.intValue());
|