Parcourir la source

add 乐团添加报名学员接口

周箭河 il y a 4 ans
Parent
commit
776034c704

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -17,6 +17,7 @@ import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
 import com.ym.mec.biz.dal.entity.ApprovalStatus;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.page.PageInfo;
@@ -316,4 +317,12 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param musicGroupIds
 	 */
 //	void musicGroupStudentFeePatch(List<String> musicGroupIds);
+
+	/**
+	 * 给乐团添加报名学生
+	 * @param musicGroupId
+	 * @param registerIds
+	 * @return
+	 */
+	List<StudentRegistration> addMusicGroupRegs(String musicGroupId,List<Long> registerIds);
 }

+ 107 - 103
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -18,6 +18,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -30,38 +32,6 @@ import com.alibaba.fastjson.TypeReference;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
-import com.ym.mec.biz.dal.dao.ChargeTypeDao;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
-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.MusicGroupPaymentCalenderDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentEntitiesDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
-import com.ym.mec.biz.dal.dao.MusicGroupQuitDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectGoodsGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SchoolDao;
-import com.ym.mec.biz.dal.dao.SporadicChargeInfoDao;
-import com.ym.mec.biz.dal.dao.StudentDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
-import com.ym.mec.biz.dal.dao.StudentVisitDao;
-import com.ym.mec.biz.dal.dao.SubjectChangeDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.CourseFormDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
@@ -72,34 +42,7 @@ import com.ym.mec.biz.dal.dto.SporadicPayDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
 import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
-import com.ym.mec.biz.dal.entity.ChargeType;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
-import com.ym.mec.biz.dal.entity.MusicGroupPurchaseList;
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.Organization;
-import com.ym.mec.biz.dal.entity.School;
-import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
-import com.ym.mec.biz.dal.entity.Student;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.SubjectChange;
-import com.ym.mec.biz.dal.entity.SysUserCashAccount;
-import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GoodsType;
@@ -271,6 +214,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private SubjectChangeDao subjectChangeDao;
     @Autowired
     private StudentVisitDao studentVisitDao;
+    @Autowired
+    private SubjectDao subjectDao;
 
     private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
 
@@ -390,7 +335,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         || musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().equals("{}"))) {
                     throw new BizException(musicGroupSubjectGoodsGroup.getName() + " 请选择提供方式");
                 }
-                if(musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee() == null){
+                if (musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee() == null) {
                     musicGroupSubjectGoodsGroup.setGroupRemissionCourseFee(0);
                 }
             }
@@ -611,8 +556,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     }
                     if (!kitGroupPurchaseType.equals("GROUP")) {
                         goodsGroup.setPrice(kitGroupPurchaseType.equals("FREE") ? new BigDecimal(0) : goodsGroup.getDepositFee());
-                    }else{
-                        remitCourseRFeeFlag  = goodsGroup.getGroupRemissionCourseFee().equals(1);
+                    } else {
+                        remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
                     remitFee = groupType.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : groupType.get(kitGroupPurchaseType);
@@ -666,7 +611,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
             newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
             for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
-                if(remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()){
+                if (remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()) {
                     courseRemitFee = courseRemitFee.add(calenderCourseSetting.getCourseCurrentPrice());
                     continue;
                 }
@@ -831,7 +776,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     }
                     if (!kitGroupPurchaseType.equals("GROUP")) {
                         goodsGroup.setPrice(kitGroupPurchaseType.equals("FREE") ? new BigDecimal(0) : goodsGroup.getDepositFee());
-                    }else {
+                    } else {
                         remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
@@ -886,7 +831,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
             newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
             for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
-                if(remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()){
+                if (remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()) {
                     courseRemitFee = courseRemitFee.add(calenderCourseSetting.getCourseCurrentPrice());
                     continue;
                 }
@@ -1020,7 +965,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                             || musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().equals("{}"))) {
                         throw new BizException(musicGroupSubjectGoodsGroup.getName() + " 请选择提供方式");
                     }
-                    if(musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee()==null){
+                    if (musicGroupSubjectGoodsGroup.getGroupRemissionCourseFee() == null) {
                         musicGroupSubjectGoodsGroup.setGroupRemissionCourseFee(0);
                     }
                 }
@@ -1561,23 +1506,23 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
-        
-        if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
-        	throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
+
+        if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
+            throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
         }
         Integer userId = sysUser.getId();
-        
+
         StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
         if (studentRegistration == null) {
             throw new BizException("用户注册信息不存在");
         }
-        
+
         MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
-    	if(musicGroupQuit != null){
-    		if(musicGroupQuit.getStatus() == ApprovalStatus.PROCESSING){
-    			throw new BizException("申请失败,存在[申请中]的记录");
-    		}
-    	}
+        if (musicGroupQuit != null) {
+            if (musicGroupQuit.getStatus() == ApprovalStatus.PROCESSING) {
+                throw new BizException("申请失败,存在[申请中]的记录");
+            }
+        }
 
         musicGroupQuit = new MusicGroupQuit();
         musicGroupQuit.setCreateTime(new Date());
@@ -1597,18 +1542,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
                 MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo), sysUser.getUsername());
         Map<Integer, String> receivers = new HashMap<>(1);
-        receivers.put(musicGroup.getEducationalTeacherId(),musicGroup.getEducationalTeacherId().toString());
-        sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY,
-                receivers,null,0,null,"SYSTEM",musicGroup.getName(),sysUser.getUsername());
+        receivers.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
+        sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDENT_COMMIT_QUIT_MUSIC_APPLY,
+                receivers, null, 0, null, "SYSTEM", musicGroup.getName(), sysUser.getUsername());
         return true;
     }
 
     @Override
-	public boolean cancelQuitMusicGroup(Integer userId, String musicGroupId, String reason) {
-    	MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
-    	if(musicGroupQuit == null){
-    		throw new BizException("操作失败,没有查询到退团记录");
-    	}
+    public boolean cancelQuitMusicGroup(Integer userId, String musicGroupId, String reason) {
+        MusicGroupQuit musicGroupQuit = musicGroupQuitDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+        if (musicGroupQuit == null) {
+            throw new BizException("操作失败,没有查询到退团记录");
+        }
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
@@ -1617,19 +1562,19 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
-    	musicGroupQuit.setStatus(ApprovalStatus.CANCELED);
+        musicGroupQuit.setStatus(ApprovalStatus.CANCELED);
         musicGroupQuit.setReason(reason);
         musicGroupQuit.setQuitDate(new Date());
         musicGroupQuitDao.update(musicGroupQuit);
 
         Map<Integer, String> receivers = new HashMap<>(1);
-        receivers.put(musicGroup.getEducationalTeacherId(),musicGroup.getEducationalTeacherId().toString());
-        sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_REVOKE_QUIT_MUSIC_APPLY,
-                receivers,null,0,null,"SYSTEM",musicGroup.getName(),sysUser.getUsername());
-    	return true;
-	}
+        receivers.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
+        sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.PUSH_STUDENT_REVOKE_QUIT_MUSIC_APPLY,
+                receivers, null, 0, null, "SYSTEM", musicGroup.getName(), sysUser.getUsername());
+        return true;
+    }
 
-	@Override
+    @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
                                          boolean isRefundTeachingAssistantsFee) {
@@ -1641,14 +1586,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         String musicGroupId = musicGroupQuit.getMusicGroupId();
         Integer userId = musicGroupQuit.getUserId();
-        
+
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
-        
-        if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
-        	throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
+
+        if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
+            throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
         }
 
         musicGroupQuit.setStatus(status);
@@ -1739,7 +1684,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
             if (isRefundCourseFee) {
                 // 退课程费用
-            	amount = amount.add(studentRegistration.getSurplusCourseFee());
+                amount = amount.add(studentRegistration.getSurplusCourseFee());
             }
 
             SubjectChange studentLastChange = null;
@@ -1796,9 +1741,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
-        
-        if(musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE){
-        	throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
+
+        if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
+            throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
         }
 
         // 判断乐器是否是租赁
@@ -1806,7 +1751,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (studentRegistration == null) {
             throw new BizException("用户注册信息不存在");
         }
-        
+
         Date date = new Date();
 
         MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
@@ -1895,7 +1840,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         if (isRefundCourseFee) {
             // 退课程费用
-        	amount = amount.add(studentRegistration.getSurplusCourseFee());
+            amount = amount.add(studentRegistration.getSurplusCourseFee());
         }
 
         SubjectChange studentLastChange = null;
@@ -1935,7 +1880,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
                     PlatformCashAccountDetailTypeEnum.REFUNDS, null, SUCCESS, "退出乐团", null);
         }
-        
+
         return true;
     }
 
@@ -2084,7 +2029,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //当前乐团报名是否赠送乐团网管课
             MusicGroupPaymentCalenderDetail calenderDetail = musicGroupPaymentCalenderDetailDao.findByOrderId(studentPaymentOrder.getId());
             MusicGroupStudentFee musicGroupStudentFee = musicGroupPaymentCalenderService.updateCalender(calenderDetail.getId(), studentRegistration.getUserId());
-            if(musicGroupStudentFee != null){
+            if (musicGroupStudentFee != null) {
                 musicGroupStudentFee.setUpdateTime(date);
                 musicGroupStudentFee.setLatestPaidTime(date);
                 musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
@@ -2628,4 +2573,63 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.SECTION_MANAGER);
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public List<StudentRegistration> addMusicGroupRegs(String musicGroupId, List<Long> registerIds) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null || sysUser.getId() == null) {
+            throw new BizException("获取用户信息失败");
+        }
+        List<StudentRegistration> studentRegistrations = studentRegistrationDao.findStudentListByIdList(registerIds);
+        List<Integer> subjectIds = studentRegistrations.stream().map(StudentRegistration::getActualSubjectId).collect(Collectors.toList());
+        List<Subject> subjects = subjectDao.findBySubjectIds(subjectIds);
+        Map<Integer, List<Subject>> subjectMap = subjects.stream().collect(Collectors.groupingBy(Subject::getId));
+        List<MusicGroupSubjectPlan> musicSubjectClassPlans = musicGroupSubjectPlanDao.getMusicSubjectClassPlan(musicGroupId);
+
+        Map<Integer, List<StudentRegistration>> regsMap = studentRegistrations.stream().collect(Collectors.groupingBy(StudentRegistration::getActualSubjectId));
+        List<StudentRegistration> studentRegistrationList = new ArrayList<>();
+        regsMap.forEach((subjectId, regs) -> {
+            boolean hasSubject = false;
+            MusicGroupSubjectPlan subjectPlan = null;
+            for (MusicGroupSubjectPlan musicGroupSubjectPlan : musicSubjectClassPlans) {
+                if (!subjectId.equals(musicGroupSubjectPlan.getSubjectId())) continue;
+                hasSubject = true;
+                musicGroupSubjectPlan.setApplyStudentNum(regs.size());
+                subjectPlan = musicGroupSubjectPlan;
+            }
+            if (!hasSubject) {
+                String name = subjectMap.get(subjectId).get(0).getName();
+                throw new BizException("当前乐团没有学员包含的声部(" + name + ")");
+            }
+            //更新乐团声部计划信息
+            musicGroupSubjectPlanDao.update(subjectPlan);
+
+            for (StudentRegistration studentRegistration : regs) {
+                studentRegistration.setId(null);
+                studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.APPLY);
+                studentRegistration.setPaymentStatus(PaymentStatusEnum.NO);
+                studentRegistration.setMusicGroupId(musicGroupId);
+                studentRegistration.setSubjectId(subjectId);
+                studentRegistration.setActualSubjectId(subjectId);
+                studentRegistration.setTemporaryCourseFee(null);
+            }
+            studentRegistrationList.addAll(regs);
+        });
+
+        //添加的学生
+        if (studentRegistrationList.size() > 0) {
+            studentRegistrationDao.batchInsert(studentRegistrationList);
+        }
+
+        //修改乐团信息
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        musicGroup.setIsExtraClass(YesOrNoEnum.YES);
+        musicGroupDao.update(musicGroup);
+
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "添加报名学员", sysUser.getId(), ""));
+
+        return studentRegistrationList;
+    }
+
 }

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -1,5 +1,7 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -276,4 +278,15 @@ public class MusicGroupController extends BaseController {
 		return succeed(musicGroupService.queryOrganMusicInfos(organId));
 	}
 
+
+	@ApiOperation(value = "乐团添加报名学员")
+	@PostMapping("/addMusicGroupRegs")
+	@PreAuthorize("@pcs.hasPermissions('musicGroup/addMusicGroupRegs')")
+	public HttpResponseResult<List<StudentRegistration>> addMusicGroupRegs(String musicGroupId, List<Long> registerIds) throws Exception {
+		if(registerIds.size() <=0){
+			return failed("请选择要添加的学员");
+		}
+		return succeed(musicGroupService.addMusicGroupRegs(musicGroupId,registerIds));
+	}
+
 }