|
@@ -2802,157 +2802,168 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
ClassGroup classGroup = classGroupDao.get(order.getClassGroupId());
|
|
|
if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){
|
|
|
VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
- //活动赠送
|
|
|
- Integer activityUserMapperId = studentPaymentOrderService.activityGive(vipGroup.getVipGroupActivityId(),studentPaymentOrder,
|
|
|
- vipGroup.getId(),null,vipGroup.getUserId());
|
|
|
-
|
|
|
- //生成班级学员关联
|
|
|
- ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
|
|
|
- classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
- classGroupStudentMapper.setClassGroupId(classGroup.getId());
|
|
|
- classGroupStudentMapper.setUserId(userId);
|
|
|
- classGroupStudentMapper.setCreateTime(date);
|
|
|
- classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
|
|
|
- classGroupStudentMapper.setGroupType(GroupType.VIP);
|
|
|
- classGroupStudentMapperDao.insert(classGroupStudentMapper);
|
|
|
+ if(vipGroup.getStatus() == VipGroupStatusEnum.DELETE ||
|
|
|
+ vipGroup.getStatus() == VipGroupStatusEnum.CANCEL ||
|
|
|
+ vipGroup.getStatus() == VipGroupStatusEnum.PAUSE){
|
|
|
+ //增加用户余额
|
|
|
+ sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount(),
|
|
|
+ PlatformCashAccountDetailTypeEnum.REFUNDS, "课程组关闭退还课程余额,订单号:" + order.getOrderNo());
|
|
|
+
|
|
|
+ //退还优惠券
|
|
|
+ sysCouponCodeService.quit(order.getCouponCodeId());
|
|
|
+ }else {
|
|
|
+ //活动赠送
|
|
|
+ Integer activityUserMapperId = studentPaymentOrderService.activityGive(vipGroup.getVipGroupActivityId(),studentPaymentOrder,
|
|
|
+ vipGroup.getId(),null,vipGroup.getUserId());
|
|
|
|
|
|
- //获取班级实际人数
|
|
|
- Integer studentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(VIP, classGroup.getMusicGroupId());
|
|
|
- //课程组人数已满,变更状态
|
|
|
- if(studentNum.equals(classGroup.getExpectStudentNum())){
|
|
|
- vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
|
|
|
- classGroup.setDelFlag(0);
|
|
|
- VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(), vipGroup.getOrganId());
|
|
|
+ //生成班级学员关联
|
|
|
+ ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
|
|
|
+ classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
|
|
|
+ classGroupStudentMapper.setClassGroupId(classGroup.getId());
|
|
|
+ classGroupStudentMapper.setUserId(userId);
|
|
|
+ classGroupStudentMapper.setCreateTime(date);
|
|
|
+ classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
|
|
|
+ classGroupStudentMapper.setGroupType(GroupType.VIP);
|
|
|
+ classGroupStudentMapperDao.insert(classGroupStudentMapper);
|
|
|
+
|
|
|
+ //获取班级实际人数
|
|
|
+ Integer studentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(VIP, classGroup.getMusicGroupId());
|
|
|
+ //课程组人数已满,变更状态
|
|
|
+ if(studentNum.equals(classGroup.getExpectStudentNum())){
|
|
|
+ vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
|
|
|
+ classGroup.setDelFlag(0);
|
|
|
+ VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(), vipGroup.getOrganId());
|
|
|
+
|
|
|
+ //生成课表
|
|
|
+ List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
|
|
|
+ classGroup.setTotalClassTimes(courseSchedules.size());
|
|
|
+
|
|
|
+ courseScheduleService.batchAddCourseSchedule(courseSchedules);
|
|
|
+
|
|
|
+ //考勤信息
|
|
|
+ List<TeacherAttendance> teacherAttendances = new ArrayList<>();
|
|
|
+ //创建课酬信息
|
|
|
+ List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
|
|
|
+ Map<String, BigDecimal> stringBigDecimalMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
|
|
|
+ for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
+ //创建教师课程薪水记录
|
|
|
+ CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
+ courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
|
|
|
+ courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
+ courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
|
|
|
+ courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(stringBigDecimalMap.get("offlineTeacherSalary"));
|
|
|
+ courseScheduleTeacherSalary.setActualSalary(null);
|
|
|
+ courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
+
|
|
|
+ TeacherAttendance teacherAttendance = new TeacherAttendance();
|
|
|
+ teacherAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
+ teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
|
|
|
+ teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ teacherAttendances.add(teacherAttendance);
|
|
|
+ }
|
|
|
+ courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
|
|
|
+ teacherAttendanceDao.batchInsert(teacherAttendances);
|
|
|
|
|
|
- //生成课表
|
|
|
- List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
|
|
|
- classGroup.setTotalClassTimes(courseSchedules.size());
|
|
|
+ //群聊数据
|
|
|
+ Map<Integer,String> userRoleMap = new HashMap<Integer, String>(5);
|
|
|
+ if(Objects.nonNull(vipGroup.getEducationalTeacherId())){
|
|
|
+ userRoleMap.put(vipGroup.getEducationalTeacherId(),"乐团主管");
|
|
|
+ }
|
|
|
+ userRoleMap.put(vipGroup.getUserId(),"指导老师");
|
|
|
+ //生成课程学员关联
|
|
|
+ List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
+ List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
|
|
|
+
|
|
|
+ List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
+ for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
|
|
|
+ StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
|
|
|
+ //实际支付金额,去除优惠券
|
|
|
+ BigDecimal actualPrice = successOrder.getExpectAmount();
|
|
|
+ BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
|
|
|
+ BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
|
|
|
+ for (int i = 0; i < courseSchedules.size(); i++) {
|
|
|
+ CourseSchedule courseSchedule = courseSchedules.get(i);
|
|
|
+ CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
+ courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
|
|
|
+ courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
|
|
|
+ courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ if (i == 0) {
|
|
|
+ courseScheduleStudentPayment.setExpectPrice(firstAmount);
|
|
|
+ }else{
|
|
|
+ courseScheduleStudentPayment.setExpectPrice(divide);
|
|
|
+ }
|
|
|
+ courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(courseSchedule.getTeachMode())?vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice():vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
|
|
|
+ courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
+ courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
+ }
|
|
|
+ userRoleMap.put(classGroupStudent.getUserId(),null);
|
|
|
+ }
|
|
|
+ studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
|
|
|
|
|
|
- courseScheduleService.batchAddCourseSchedule(courseSchedules);
|
|
|
+ courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
|
+// courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
|
|
|
|
|
|
- //考勤信息
|
|
|
- List<TeacherAttendance> teacherAttendances = new ArrayList<>();
|
|
|
- //创建课酬信息
|
|
|
- List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
|
|
|
- Map<String, BigDecimal> stringBigDecimalMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
|
|
|
- for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
- //创建教师课程薪水记录
|
|
|
- CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
|
|
|
- courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
|
|
|
- courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
|
|
|
- courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
|
|
|
- courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
|
|
|
- courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(stringBigDecimalMap.get("offlineTeacherSalary"));
|
|
|
- courseScheduleTeacherSalary.setActualSalary(null);
|
|
|
- courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
|
|
|
-
|
|
|
- TeacherAttendance teacherAttendance = new TeacherAttendance();
|
|
|
- teacherAttendance.setGroupType(courseSchedule.getGroupType());
|
|
|
- teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
- teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
|
|
|
- teacherAttendance.setCourseScheduleId(courseSchedule.getId());
|
|
|
- teacherAttendances.add(teacherAttendance);
|
|
|
+ imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
|
|
|
+ imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
|
|
|
+ imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
|
|
|
}
|
|
|
- courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
|
|
|
- teacherAttendanceDao.batchInsert(teacherAttendances);
|
|
|
-
|
|
|
- //群聊数据
|
|
|
- Map<Integer,String> userRoleMap = new HashMap<Integer, String>(5);
|
|
|
- if(Objects.nonNull(vipGroup.getEducationalTeacherId())){
|
|
|
- userRoleMap.put(vipGroup.getEducationalTeacherId(),"乐团主管");
|
|
|
+ SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
|
|
|
+ //插入缴费明细
|
|
|
+ //收入
|
|
|
+ SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
+ sysUserIncomeCashAccountDetail.setUserId(userId);
|
|
|
+ sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
|
|
|
+ sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
+ sysUserIncomeCashAccountDetail.setAmount(order.getActualAmount());
|
|
|
+ sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getActualAmount()));
|
|
|
+ sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
+ sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
+ sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
|
|
|
+ sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
|
+
|
|
|
+ //支出
|
|
|
+ SysUserCashAccountDetail sysUserExpendCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
+ sysUserExpendCashAccountDetail.setUserId(userId);
|
|
|
+ sysUserExpendCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
|
|
|
+ sysUserExpendCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
+ sysUserExpendCashAccountDetail.setAmount(order.getActualAmount().negate());
|
|
|
+ sysUserExpendCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
|
|
|
+ sysUserExpendCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
+ sysUserExpendCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
+ if(studentPaymentOrder.getComAmount() != null){
|
|
|
+ sysUserExpendCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
|
|
|
}
|
|
|
- userRoleMap.put(vipGroup.getUserId(),"指导老师");
|
|
|
- //生成课程学员关联
|
|
|
- List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
- List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
|
|
|
-
|
|
|
- List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
- for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
|
|
|
- StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
|
|
|
- //实际支付金额,去除优惠券
|
|
|
- BigDecimal actualPrice = successOrder.getExpectAmount();
|
|
|
- BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
|
|
|
- BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
|
|
|
- for (int i = 0; i < courseSchedules.size(); i++) {
|
|
|
- CourseSchedule courseSchedule = courseSchedules.get(i);
|
|
|
- CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
- courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
|
|
|
- courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
|
|
|
- courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
- courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
- if (i == 0) {
|
|
|
- courseScheduleStudentPayment.setExpectPrice(firstAmount);
|
|
|
- }else{
|
|
|
- courseScheduleStudentPayment.setExpectPrice(divide);
|
|
|
- }
|
|
|
- courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(courseSchedule.getTeachMode())?vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice():vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
|
|
|
- courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
- courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
- }
|
|
|
- userRoleMap.put(classGroupStudent.getUserId(),null);
|
|
|
+ if(studentPaymentOrder.getPerAmount() != null){
|
|
|
+ sysUserExpendCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
|
|
|
}
|
|
|
- studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
|
|
|
|
|
|
- courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
|
-// courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
|
|
|
+ sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
|
|
|
+ sysUserCashAccountDetailService.insert(sysUserExpendCashAccountDetail);
|
|
|
|
|
|
- imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
|
|
|
- imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
|
|
|
- imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
|
|
|
- }
|
|
|
- SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
|
|
|
- //插入缴费明细
|
|
|
- //收入
|
|
|
- SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
- sysUserIncomeCashAccountDetail.setUserId(userId);
|
|
|
- sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
|
|
|
- sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- sysUserIncomeCashAccountDetail.setAmount(order.getActualAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getActualAmount()));
|
|
|
- sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
- sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
|
-
|
|
|
- //支出
|
|
|
- SysUserCashAccountDetail sysUserExpendCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
- sysUserExpendCashAccountDetail.setUserId(userId);
|
|
|
- sysUserExpendCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
|
|
|
- sysUserExpendCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- sysUserExpendCashAccountDetail.setAmount(order.getActualAmount().negate());
|
|
|
- sysUserExpendCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
|
|
|
- sysUserExpendCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
- sysUserExpendCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- if(studentPaymentOrder.getComAmount() != null){
|
|
|
- sysUserExpendCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
|
|
|
- }
|
|
|
- if(studentPaymentOrder.getPerAmount() != null){
|
|
|
- sysUserExpendCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
|
|
|
- }
|
|
|
-
|
|
|
- sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
|
|
|
- sysUserCashAccountDetailService.insert(sysUserExpendCashAccountDetail);
|
|
|
+ Map<Integer,String> map = new HashMap<>(1);
|
|
|
+ map.put(userId,userId.toString());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_VIP_BUY, map, null, 0, "2","STUDENT",
|
|
|
+ vipGroup.getName());
|
|
|
|
|
|
- Map<Integer,String> map = new HashMap<>(1);
|
|
|
- map.put(userId,userId.toString());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_VIP_BUY, map, null, 0, "2","STUDENT",
|
|
|
- vipGroup.getName());
|
|
|
-
|
|
|
- //更新所属分部列表
|
|
|
- List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(classGroup.getId().longValue());
|
|
|
- organIds.add(vipGroup.getOrganId());
|
|
|
- HashSet<Integer> hashSet = new HashSet<>(organIds);
|
|
|
- String organIdsString = StringUtils.join(hashSet, ",");
|
|
|
- vipGroup.setOrganIdList(organIdsString);
|
|
|
- vipGroupDao.update(vipGroup);
|
|
|
- try {
|
|
|
- contractService.transferVipGroupCoursesContract(userId,vipGroup.getId());
|
|
|
- } catch (Exception e) {
|
|
|
- LOGGER.error(MessageFormatter.arrayFormat("小课[{}]购买协议错误:{}", vipGroup.getId(), e.getMessage()), e);
|
|
|
+ //更新所属分部列表
|
|
|
+ List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(classGroup.getId().longValue());
|
|
|
+ organIds.add(vipGroup.getOrganId());
|
|
|
+ HashSet<Integer> hashSet = new HashSet<>(organIds);
|
|
|
+ String organIdsString = StringUtils.join(hashSet, ",");
|
|
|
+ vipGroup.setOrganIdList(organIdsString);
|
|
|
+ vipGroupDao.update(vipGroup);
|
|
|
+ try {
|
|
|
+ contractService.transferVipGroupCoursesContract(userId,vipGroup.getId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ LOGGER.error(MessageFormatter.arrayFormat("小课[{}]购买协议错误:{}", vipGroup.getId(), e.getMessage()), e);
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
classGroup.setStudentNum(classGroup.getStudentNum() - 1);
|