Parcourir la source

Merge branch 'music_detail' of http://git.dayaedu.com/yonge/mec into music_detail

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
yonge il y a 4 ans
Parent
commit
938c12e9af

+ 14 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPerformance.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.List;
+
 /**
  * 对应数据库表(music_group_performance):
  */
@@ -22,8 +24,10 @@ public class MusicGroupPerformance {
 	private String organName;
 
 	/** 展演曲目名称,逗号分隔 */
+	private List<String> musicScoreNames;
+
 	private String musicScoreName;
-	
+
 	/** 添加人 */
 	private Integer operator;
 
@@ -45,6 +49,15 @@ public class MusicGroupPerformance {
 	/**  */
 	private java.util.Date updateTime;
 
+
+	public List<String> getMusicScoreNames() {
+		return musicScoreNames;
+	}
+
+	public void setMusicScoreNames(List<String> musicScoreNames) {
+		this.musicScoreNames = musicScoreNames;
+	}
+
 	public String getMusicGroupName() {
 		return musicGroupName;
 	}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -28,6 +28,7 @@ import com.ym.mec.biz.dal.page.MusicGroupRecordStudentQueryInfo;
 import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
 import com.ym.mec.biz.dal.page.RegistrationOrPreQueryInfo;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -435,7 +436,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      * @param id
      * @return
      */
-    Boolean addPaidNum(Long id);
+    HttpResponseResult<Boolean> addPaidNum(Long id, boolean isContinue);
 
 
     /**

+ 19 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -24,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
@@ -137,6 +138,7 @@ import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.SysUserCashAccountDetailService;
 import com.ym.mec.biz.service.SysUserCashAccountService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
@@ -621,6 +623,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         boolean firstPaidZeroFlag = false;
 
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        if (musicOneSubjectClassPlan.getPaidStudentNum() >= musicOneSubjectClassPlan.getExpectedStudentNum()) {
+            throw new BizException("乐团该声部人数暂时已满,请稍后再试");
+        }
+        
         int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
         int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
         if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher))
@@ -634,9 +640,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         } else {
             musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
         }
-        if (studentRegistration.getTemporaryCourseFee() == null && musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()) {
-            throw new BizException("乐团该声部人数暂时已满,请稍后再试");
-        }
         int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
         if (count <= 0) {
             throw new BizException("排队人数过多,请重试");
@@ -2017,6 +2020,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (studentRegistration.getNoneNeedCloudTeacher().equals(1)) {
             throw new BizException("该学生已设置");
         }
+        studentRegistration.setPayingStatus(0);
         studentRegistration.setNoneNeedCloudTeacher(1);
         if (studentRegistrationDao.update(studentRegistration) <= 0) {
             throw new BizException("设置失败,请重试");
@@ -2026,7 +2030,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean addPaidNum(Long id) {
+    public HttpResponseResult<Boolean> addPaidNum(Long id, boolean isContinue) {
         StudentRegistration studentRegistration = studentRegistrationDao.get(id);
         if (!studentRegistration.getPayingStatus().equals(2)) {
             throw new BizException("该学生不在审核");
@@ -2034,6 +2038,15 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (!studentRegistration.getPaymentStatus().equals(YES)) {
             throw new BizException("该学生状态已更新,请刷新查看");
         }
+
+        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        
+        if(!isContinue){
+        	if (musicOneSubjectClassPlan.getPaidStudentNum() >= musicOneSubjectClassPlan.getExpectedStudentNum()) {
+                return new HttpResponseResult<Boolean>(true, HttpStatus.CONTINUE, null, "乐团该声部招生人数已满,是否继续操作?");
+            }
+        }
+        
         studentRegistration.setPayingStatus(0);
         studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
         studentRegistrationDao.update(studentRegistration);
@@ -2042,8 +2055,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if(studentPaymentOrderService.update(order)<=0){
             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();
         musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
@@ -2052,7 +2064,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (count <= 0) {
             throw new BizException("缴费人数更新失败,请重试");
         }
-        return true;
+        return new HttpResponseResult<Boolean>(true, HttpStatus.OK, null, null);
     }
 
     @Override

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -811,7 +811,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 					courseSchedules,
 					classGroupTeacherSalary.getOnlineClassesSalary(),
 					classGroupTeacherSalary.getSalary());
-			courseScheduleTeacherSalaryDao.updateEnableChangeSalaryByClassGroup(classGroup.getId().longValue(), false);
 		}
 
 		SysUser sysUser = sysUserFeignService.queryUserById(vipGroupApplyBaseInfoDto.getUserId());

+ 11 - 4
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPerformanceController.java

@@ -13,9 +13,12 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @RequestMapping("musicGroupPerformance")
 @Api(tags = "乐团展演信息")
 @RestController
@@ -29,16 +32,20 @@ public class MusicGroupPerformanceController extends BaseController {
 	@ApiOperation("新增")
 	@PostMapping(value = "add")
 	@PreAuthorize("@pcs.hasPermissions('musicGroupPerformance/add')")
-	public Object add(MusicGroupPerformance musicGroupPerformance) {
+	public Object add(@RequestBody MusicGroupPerformance musicGroupPerformance) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if(sysUser == null){
 			throw new BizException("请登录");
 		}
 		musicGroupPerformance.setOperator(sysUser.getId());
-		if(StringUtils.isNotEmpty(musicGroupPerformance.getMusicScoreName())){
-			if(musicGroupPerformance.getMusicScoreName().contains(",")){
-				throw new BizException("请勿录入特殊字符");
+		List<String> musicScoreNames = musicGroupPerformance.getMusicScoreNames();
+		if(musicScoreNames != null && musicScoreNames.size() > 0){
+			for (String musicScoreName : musicScoreNames) {
+				if(musicScoreName.contains(",")){
+					throw new BizException("请勿录入特殊字符");
+				}
 			}
+			musicGroupPerformance.setMusicGroupName(StringUtils.join(musicScoreNames,","));
 		}
 		return succeed(musicGroupPerformanceService.insert(musicGroupPerformance));
 	}

+ 33 - 16
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -1,16 +1,5 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
-import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
-import com.ym.mec.biz.dal.page.*;
-import com.ym.mec.biz.service.EmployeeService;
-
-import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -18,7 +7,10 @@ import io.swagger.annotations.ApiOperation;
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
 import java.util.stream.Collectors;
 
 import javax.servlet.http.HttpServletResponse;
@@ -27,24 +19,46 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.DelRegisterDto;
+import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
+import com.ym.mec.biz.dal.dto.PageInfoReg;
+import com.ym.mec.biz.dal.dto.RegisterDto;
+import com.ym.mec.biz.dal.dto.StudentAddDto;
+import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
+import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
+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;
+import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
+import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.biz.service.StudentPreRegistrationService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.excel.POIUtil;
 
@@ -425,11 +439,14 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "设置不需要云教练")
     @GetMapping("/setNoneCloudTeacher")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/setNoneCloudTeacher')")
-    public HttpResponseResult<Boolean> setNoneCloudTeacher(Long id) {
+    public HttpResponseResult<Boolean> setNoneCloudTeacher(Long id, Boolean isContinue) {
+    	if(isContinue == null){
+    		isContinue = false;
+    	}
         StudentRegistration studentRegistration = studentRegistrationService.get(id);
         //已付费的增加,已缴费人数、和0元付费人数
         if (studentRegistration.getPaymentStatus().equals(PaymentStatusEnum.YES)) {
-            return succeed(studentRegistrationService.addPaidNum(id));
+            return studentRegistrationService.addPaidNum(id, isContinue);
         } else {
             return succeed(studentRegistrationService.setNoneCloudTeacher(id));
         }