|
@@ -192,12 +192,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public StudentRegistration addStudent(StudentRegistration studentRegistration) throws IOException {
|
|
|
- String key = "_student_registration";
|
|
|
- long threadId = Thread.currentThread().getId();
|
|
|
- if(!redisCache.getLocked(key, threadId, 10)){
|
|
|
- throw new BizException("系统繁忙,请稍后再试");
|
|
|
- }
|
|
|
+ public StudentRegistration addStudent(StudentRegistration studentRegistration) throws Exception {
|
|
|
+ String key = "_student_registration";
|
|
|
+ long threadId = Thread.currentThread().getId();
|
|
|
+ if (!redisCache.getLocked(key, threadId, 10)) {
|
|
|
+ throw new BizException("系统繁忙,请稍后再试");
|
|
|
+ }
|
|
|
Date date = new Date();
|
|
|
Integer userId = 0;
|
|
|
SysUser sysUser = studentRegistrationDao.getSysUserByPhone(studentRegistration.getParentsPhone());
|
|
@@ -248,7 +248,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "",
|
|
|
studentRegistration.getParentsName(), subject.getName(), HttpUtil.getSortUrl(studentApplyUrl),
|
|
|
DateUtil.format(musicGroup.getApplyExpireDate(), DateUtil.DATE_FORMAT_MIN), serverPhone);
|
|
|
-
|
|
|
+
|
|
|
redisCache.releaseLocked(key, threadId);
|
|
|
return studentRegistration;
|
|
|
}
|
|
@@ -335,16 +335,24 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
|
|
|
|
|
|
//增加缴费学生数
|
|
|
- MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
|
|
|
- int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
- musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
- if (studentRegistration.getTemporaryCourseFee() == null && musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()) {
|
|
|
- throw new BizException("乐团人数已满");
|
|
|
+ boolean updateFlag = false;
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
|
|
|
+ int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
+ musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
+ if (studentRegistration.getTemporaryCourseFee() == null && musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()) {
|
|
|
+ throw new BizException("乐团人数已满");
|
|
|
+ }
|
|
|
+ int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
|
|
|
+ if (count >= 1) {
|
|
|
+ updateFlag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
|
|
|
- if (count <= 0) {
|
|
|
- throw new BizException("系统繁忙请重新");
|
|
|
+ if (!updateFlag) {
|
|
|
+ throw new BizException("系统繁忙,更新缴费人数失败");
|
|
|
}
|
|
|
+
|
|
|
return studentPaymentOrder;
|
|
|
}
|
|
|
|
|
@@ -788,7 +796,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
if (studentPaymentOrder.getStatus().equals(DealStatusEnum.FAILED)) {
|
|
|
musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
|
|
|
int updateCount = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
|
|
|
- if(updateCount <= 0){
|
|
|
+ if (updateCount <= 0) {
|
|
|
throw new BizException("减去缴费人数失败");
|
|
|
}
|
|
|
//发送缴费成功通知(短信 + push)
|