Browse Source

Merge branch 'musicgroup_0806'

yonge 3 năm trước cách đây
mục cha
commit
e9aa74b6c1

+ 28 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -645,9 +645,11 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         
         int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
         int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
-        if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher))
+        if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher && StringUtils.isBlank(maintenanceGoodsId)))
         {
-            paidZeroFlag = true;
+        	if(studentRegistration.getPaymentStatus() != YES){
+        		paidZeroFlag = true;
+        	}
             if (studentRegistration.getNoneNeedCloudTeacher().equals(1) && (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0)) {
                 musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
                 musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
@@ -1180,11 +1182,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);
@@ -1962,6 +1966,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 +1976,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 +2001,17 @@ 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("订单处理失败,请重试");
-        }
+		if (order != null) {
+			order.setPaymentAccountNo("200");
+			if (studentPaymentOrderService.update(order) <= 0) {
+				throw new BizException("订单处理失败,请重试");
+			}
+		}
         
-        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);

+ 1 - 8
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -46,7 +46,6 @@ import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
-import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
 import com.ym.mec.biz.dal.page.RegistrationOrPreQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPreRegistrationQueryInfo;
@@ -443,13 +442,7 @@ public class StudentRegistrationController extends BaseController {
     	if(isContinue == null){
     		isContinue = false;
     	}
-        StudentRegistration studentRegistration = studentRegistrationService.get(id);
-        //已付费的增加,已缴费人数、和0元付费人数
-        if (studentRegistration.getPaymentStatus().equals(PaymentStatusEnum.YES)) {
-            return studentRegistrationService.addPaidNum(id, isContinue);
-        } else {
-            return succeed(studentRegistrationService.setNoneCloudTeacher(id));
-        }
+    	return studentRegistrationService.addPaidNum(id, isContinue);
     }