|
@@ -341,7 +341,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
List<Long> orderIdList = studentPaymentOrderList.stream().map(t -> t.getId()).collect(Collectors.toList());
|
|
|
|
|
|
- List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailService.getOrderDetail(orderIdList);
|
|
|
+ List<StudentPaymentOrderDetail> studentPaymentOrderDetailList =new ArrayList<StudentPaymentOrderDetail>();
|
|
|
+ if(orderIdList != null && orderIdList.size() > 0){
|
|
|
+ studentPaymentOrderDetailList = studentPaymentOrderDetailService.getOrderDetail(orderIdList);
|
|
|
+ }
|
|
|
|
|
|
SubjectChange studentLastChange = subjectChangeDao.getStudentLastChange(studentId, musicGroupId);
|
|
|
|
|
@@ -376,7 +379,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
if (goods != null && goods.size() > 0) {
|
|
|
detail.setName(goods.stream().map(t -> t.getName()).collect(Collectors.joining(",")));
|
|
|
}
|
|
|
- detail.setPaymentOrderId((long) studentLastChange.getOriginalOrderId());
|
|
|
+ if(studentLastChange.getOriginalOrderId() != null){
|
|
|
+ detail.setPaymentOrderId((long) studentLastChange.getOriginalOrderId());
|
|
|
+ }
|
|
|
detail.setPrice(studentLastChange.getChangeMusicalPrice());
|
|
|
detail.setType(OrderDetailTypeEnum.MUSICAL);
|
|
|
detail.setCreateTime(studentLastChange.getCreateTime());
|
|
@@ -640,31 +645,35 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
|
|
|
|
|
|
- //判断之前是否已有订单
|
|
|
- List<StudentPaymentOrder> oldStudentPaymentOrderList = studentPaymentOrderService.queryByCondition(GroupType.MUSIC, studentRegistration.getMusicGroupId(), studentRegistration.getUserId(),DealStatusEnum.SUCCESS , OrderTypeEnum.APPLY);
|
|
|
-
|
|
|
- int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
- int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
|
|
|
- if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher))
|
|
|
- {
|
|
|
- paidZeroFlag = true;
|
|
|
- if (studentRegistration.getNoneNeedCloudTeacher().equals(1) && (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0)) {
|
|
|
- musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
|
|
|
- musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0) {
|
|
|
- musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
+ if (studentRegistration.getMusicGroupStatus() != StudentMusicGroupStatusEnum.NORMAL) {
|
|
|
+ // 判断之前是否已有订单
|
|
|
+ List<StudentPaymentOrder> oldStudentPaymentOrderList = studentPaymentOrderService.queryByCondition(GroupType.MUSIC,
|
|
|
+ studentRegistration.getMusicGroupId(), studentRegistration.getUserId(), DealStatusEnum.SUCCESS, OrderTypeEnum.APPLY);
|
|
|
+
|
|
|
+ int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
+ int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
|
|
|
+ if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher && StringUtils.isBlank(maintenanceGoodsId))) {
|
|
|
+ if (studentRegistration.getPaymentStatus() != YES) {
|
|
|
+ paidZeroFlag = true;
|
|
|
+ }
|
|
|
+ if (studentRegistration.getNoneNeedCloudTeacher().equals(1) && (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0)) {
|
|
|
+ musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
|
|
|
+ musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0) {
|
|
|
+ musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- if (musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()) {
|
|
|
- throw new BizException("乐团该声部人数暂时已满,请稍后再试");
|
|
|
- }
|
|
|
-
|
|
|
- int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
|
|
|
- if (count <= 0) {
|
|
|
- throw new BizException("排队人数过多,请重试");
|
|
|
- }
|
|
|
+ if (musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()) {
|
|
|
+ throw new BizException("乐团该声部人数暂时已满,请稍后再试");
|
|
|
+ }
|
|
|
+
|
|
|
+ int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
|
|
|
+ if (count <= 0) {
|
|
|
+ throw new BizException("排队人数过多,请重试");
|
|
|
+ }
|
|
|
+ }
|
|
|
if (paidZeroFlag) {
|
|
|
studentPaymentOrder.setVersion(0);
|
|
|
String code = studentRegistration.getNoneNeedCloudTeacher().equals(1) ? "200" : "205";
|
|
@@ -1180,11 +1189,13 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
|
}
|
|
|
|
|
|
- if (orderTypeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER)
|
|
|
- || orderTypeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER_PLUS)) {
|
|
|
+ if (orderTypeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER) || orderTypeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER_PLUS)
|
|
|
+ || orderTypeList.contains(OrderDetailTypeEnum.MUSICAL)) {
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
|
- studentRegistration.setNoneNeedCloudTeacher(1);
|
|
|
- studentRegistration.setHasCloudTeacher(1);
|
|
|
+ //studentRegistration.setNoneNeedCloudTeacher(1);
|
|
|
+ if (orderTypeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER) || orderTypeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER_PLUS)) {
|
|
|
+ studentRegistration.setHasCloudTeacher(1);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
@@ -1681,14 +1692,25 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
for (int i = 0; i < 10; i++) {
|
|
|
MusicGroupSubjectPlan originalSubjectPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(musicGroupId, originalSubjectId);
|
|
|
int originalPaidNum = originalSubjectPlan.getPaidStudentNum() == null ? 0 : originalSubjectPlan.getPaidStudentNum();
|
|
|
+ int originalZeroPaidNum = originalSubjectPlan.getPaidZeroNum() == null ? 0 : originalSubjectPlan.getPaidZeroNum();
|
|
|
int originalPaidCount = 1;
|
|
|
if (originalPaidNum > 0) {
|
|
|
originalSubjectPlan.setPaidStudentNum(originalPaidNum - 1);
|
|
|
+ //是否是0元入团
|
|
|
+ if(studentRegistration.getNoneNeedCloudTeacher() != null && studentRegistration.getNoneNeedCloudTeacher() == 1){
|
|
|
+ originalSubjectPlan.setPaidZeroNum(originalZeroPaidNum - 1);
|
|
|
+ }
|
|
|
originalPaidCount = musicGroupSubjectPlanService.update(originalSubjectPlan);
|
|
|
}
|
|
|
MusicGroupSubjectPlan changeSubjectPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(musicGroupId, changeSubjectId);
|
|
|
int changelPaidNum = changeSubjectPlan.getPaidStudentNum() == null ? 0 : changeSubjectPlan.getPaidStudentNum();
|
|
|
changeSubjectPlan.setPaidStudentNum(changelPaidNum + 1);
|
|
|
+ if(studentRegistration.getNoneNeedCloudTeacher() != null && studentRegistration.getNoneNeedCloudTeacher() == 1){
|
|
|
+ if(changeSubjectPlan.getPaidZeroNum() != null && changeSubjectPlan.getPaidZeroNum() > 0){
|
|
|
+ throw new BizException("声部更换失败,当前用户是0元入团,且当前声部已有0元入团学生");
|
|
|
+ }
|
|
|
+ changeSubjectPlan.setPaidZeroNum(1);
|
|
|
+ }
|
|
|
int changePaidCount = musicGroupSubjectPlanService.update(changeSubjectPlan);
|
|
|
if (originalPaidCount > 0 && changePaidCount > 0) {
|
|
|
updateFlag = true;
|
|
@@ -1962,6 +1984,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
}
|
|
|
studentRegistration.setPayingStatus(0);
|
|
|
studentRegistration.setNoneNeedCloudTeacher(1);
|
|
|
+ studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
|
if (studentRegistrationDao.update(studentRegistration) <= 0) {
|
|
|
throw new BizException("设置失败,请重试");
|
|
|
}
|
|
@@ -1971,16 +1994,23 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResponseResult<Boolean> addPaidNum(Long id, boolean isContinue) {
|
|
|
- StudentRegistration studentRegistration = studentRegistrationDao.get(id);
|
|
|
+ StudentRegistration studentRegistration = studentRegistrationDao.lock(id);
|
|
|
if (!studentRegistration.getPayingStatus().equals(2)) {
|
|
|
throw new BizException("该学生不在审核");
|
|
|
}
|
|
|
- if (!studentRegistration.getPaymentStatus().equals(YES)) {
|
|
|
- throw new BizException("该学生状态已更新,请刷新查看");
|
|
|
+ if (studentRegistration.getNoneNeedCloudTeacher().equals(1)) {
|
|
|
+ throw new BizException("该学生已设置");
|
|
|
}
|
|
|
|
|
|
MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
|
|
|
|
|
|
+ int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
+ int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
|
|
|
+
|
|
|
+ if(paidZeroNum > 0){
|
|
|
+ throw new BizException("每个声部只能有一个免费入团名额");
|
|
|
+ }
|
|
|
+
|
|
|
if(!isContinue){
|
|
|
if (musicOneSubjectClassPlan.getPaidStudentNum() >= musicOneSubjectClassPlan.getExpectedStudentNum()) {
|
|
|
return new HttpResponseResult<Boolean>(true, HttpStatus.CONTINUE, null, "乐团该声部招生人数已满,是否继续操作?");
|
|
@@ -1989,16 +2019,35 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
studentRegistration.setPayingStatus(0);
|
|
|
studentRegistration.setNoneNeedCloudTeacher(1);
|
|
|
+ studentRegistration.setPaymentStatus(YES);
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
|
studentRegistrationDao.update(studentRegistration);
|
|
|
- StudentPaymentOrder order = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(studentRegistration.getUserId(), studentRegistration.getMusicGroupId(), DealStatusEnum.SUCCESS);
|
|
|
- order.setPaymentAccountNo("200");
|
|
|
- if(studentPaymentOrderService.update(order)<=0){
|
|
|
- throw new BizException("订单处理失败,请重试");
|
|
|
- }
|
|
|
+ /*StudentPaymentOrder order = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(studentRegistration.getUserId(), studentRegistration.getMusicGroupId(), DealStatusEnum.SUCCESS);
|
|
|
+ if (order != null) {
|
|
|
+ order.setPaymentAccountNo("200");
|
|
|
+ if (studentPaymentOrderService.update(order) <= 0) {
|
|
|
+ throw new BizException("订单处理失败,请重试");
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+
|
|
|
+ List<StudentPaymentOrder> studentPaymentOrderList = studentPaymentOrderService.queryByCondition(GroupType.MUSIC, studentRegistration.getMusicGroupId(), studentRegistration.getUserId(), DealStatusEnum.ING, OrderTypeEnum.APPLY);
|
|
|
+
|
|
|
+ List<StudentPaymentOrder> updateList = new ArrayList<StudentPaymentOrder>();
|
|
|
+
|
|
|
+ if(studentPaymentOrderList != null && studentPaymentOrderList.size() > 0){
|
|
|
+ for(StudentPaymentOrder studentPaymentOrder : studentPaymentOrderList){
|
|
|
+ if(StringUtils.equals("205", studentPaymentOrder.getPaymentAccountNo())){
|
|
|
+ studentPaymentOrder.setStatus(DealStatusEnum.CLOSE);
|
|
|
+ studentPaymentOrder.setMemo("用户未支付");
|
|
|
+ updateList.add(studentPaymentOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(updateList.size() > 0){
|
|
|
+ studentPaymentOrderService.batchUpdate(updateList);
|
|
|
+ }
|
|
|
|
|
|
- int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
|
|
|
- int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
|
|
|
musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
|
|
|
musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
|
|
|
int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
|