소스 검색

Merge remote-tracking branch 'origin/master'

Joburgess 5 년 전
부모
커밋
99fe6d2342

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

@@ -144,7 +144,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         //乐团计划及收费信息
         MusicGroupSubjectPlan musicOneSubjectClassPlan = this.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
         musicOneSubjectClassPlan.setFee(studentRegistration.getTemporaryCourseFee());
-        
+
         //乐团乐器及辅件信息
         List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
 
@@ -160,6 +160,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
                 musicGroupSubjectGoodsGroup.setType(GoodsType.ACCESSORIES);
             }
             musicGroupSubjectGoodsGroup.setId(orderDetail.getId());
+            musicGroupSubjectGoodsGroup.setGoodsIdList(orderDetail.getGoodsIdList());
             musicGroupSubjectGoodsGroup.setMusicGroupId(musicGroupId);
             musicGroupSubjectGoodsGroup.setPrice(orderDetail.getPrice());
             List<Goods> goodies = goodsService.findGoodsByIds(orderDetail.getGoodsIdList());

+ 23 - 34
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -12,6 +12,7 @@ import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.biz.service.StudentAttendanceService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -56,7 +57,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
-	private TeacherDao teacherDao;
+	private SysConfigDao sysConfigDao;
 
 	@Override
 	public BaseDAO<Long, StudentAttendance> getDAO() {
@@ -338,42 +339,30 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	public void addStudentAttendanceRecord(Integer courseScheduleId, Integer userId, StudentAttendanceStatusEnum statusEnum) {
 		StudentAttendance studentAttendance = studentAttendanceDao.findByStatusAndCourseScheduleId(userId,courseScheduleId);
 		if(studentAttendance == null){
-			studentAttendance = new StudentAttendance();
-			ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId);
+			//判断是否在签到时间段内(课程开始前20~结束前)
 			CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
-			Date date = new Date();
+			ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId);
 			if(classGroup != null && courseSchedule != null){
-				studentAttendance.setClassGroupId(classGroup.getId());
-				studentAttendance.setCourseScheduleId(courseScheduleId.longValue());
-				studentAttendance.setCurrentClassTimes(classGroup.getCurrentClassTimes());
-				studentAttendance.setMusicGroupId(classGroup.getMusicGroupId());
-				studentAttendance.setStatus(statusEnum);
-				studentAttendance.setUserId(userId);
-				studentAttendance.setTeacherId(courseSchedule.getActualTeacherId());
-//				studentAttendance.setRemark(statusEnum==StudentAttendanceStatusEnum.NORMAL?"":"课程结束后学生未到");
-				studentAttendanceDao.insert(studentAttendance);
-				//点名完成推送
-//				Map<Integer, String> receivers = new HashMap<Integer, String>(1);
-//				receivers.put(userId, userId.toString());
-//				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_NAMES_ACHIEVE, receivers, null, 0, "2",
-//						DateUtil.format(date,DateUtil.DATE_FORMAT_MIN));
-				//修改课程状态(如果是学生签到,并且课程未开始)
-				/*if(StudentAttendanceStatusEnum.NORMAL == statusEnum && courseSchedule.getStatus() == CourseStatusEnum.NOT_START){
-					courseSchedule.setStatus(CourseStatusEnum.UNDERWAY);
-					courseSchedule.setUpdateTime(date);
-					courseScheduleDao.update(courseSchedule);
+				int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
+				Date date = new Date();
+				String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
+				String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+				String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+				//上课时间
+				Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+				Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+				Date addMinutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
+				if(DateUtil.minutesBetween(addMinutes,date) >= 0 && DateUtil.minutesBetween(date,classEndDateTime) > 0){
+					studentAttendance = new StudentAttendance();
+					studentAttendance.setClassGroupId(classGroup.getId());
+					studentAttendance.setCourseScheduleId(courseScheduleId.longValue());
+					studentAttendance.setCurrentClassTimes(classGroup.getCurrentClassTimes());
+					studentAttendance.setMusicGroupId(classGroup.getMusicGroupId());
+					studentAttendance.setStatus(statusEnum);
+					studentAttendance.setUserId(userId);
+					studentAttendance.setTeacherId(courseSchedule.getActualTeacherId());
+					studentAttendanceDao.insert(studentAttendance);
 				}
-				if(StudentAttendanceStatusEnum.TRUANT == statusEnum && courseSchedule.getStatus() == CourseStatusEnum.UNDERWAY){
-					String classDate = DateUtil.getDate(courseSchedule.getClassDate());
-					String classTime = DateUtil.getTime(courseSchedule.getEndClassTime());
-					Date stringToDate = DateUtil.stringToDate(classDate + " " + classTime);
-					//当前课程已结束
-					if(DateUtil.minutesBetween(stringToDate,date) > 0){
-						courseSchedule.setStatus(CourseStatusEnum.OVER);
-						courseSchedule.setUpdateTime(date);
-						courseScheduleDao.update(courseSchedule);
-					}
-				}*/
 			}else {
 				throw new BizException("学员班级或课程信息异常");
 			}

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -250,7 +250,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
         studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
         //乐器及打包辅件
-        if (goodsGroups != null) {
+        if (goodsGroups != null &&goodsGroups.size() >0) {
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 StudentPaymentOrderDetail studentPaymentOrderDetail4goodsGroup = new StudentPaymentOrderDetail();
                 OrderDetailTypeEnum type = null;
@@ -339,7 +339,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
         studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
         //乐器及打包辅件
-        if (goodsGroups != null) {
+        if (goodsGroups != null &&goodsGroups.size() >0) {
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 StudentPaymentOrderDetail studentPaymentOrderDetail4goodsGroup = new StudentPaymentOrderDetail();
                 OrderDetailTypeEnum type = null;
@@ -421,6 +421,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             if (sysUser == null) {
                 //新增user
                 sysUser = new SysUser();
+                sysUser.setPhone(studentRegistration.getParentsPhone());
                 sysUser.setRealName(studentRegistration.getName());
                 sysUser.setUsername(studentRegistration.getName());
                 sysUser.setGender(studentRegistration.getGender());
@@ -431,7 +432,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 //添加用户现金账户
                 sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
                 //添加用户电子签章账户
-                contractService.register(userId, sysUser.getRealName(), sysUser.getIdCardNo(), sysUser.getPhone());
+//                contractService.register(userId, sysUser.getRealName(), sysUser.getIdCardNo(), sysUser.getPhone());
                 //注册到融云
                 if (StringUtils.isEmpty(sysUser.getAvatar())) {
                     sysUser.setAvatar(sysConfigDao.findConfigValue(SysConfigService.USER_DEFAULT_HEAD_URL));
@@ -501,7 +502,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
                 studentPaymentOrder.setUserId(userId);
                 studentPaymentOrder.setType(OrderTypeEnum.APPLY);
-                studentPaymentOrder.setStatus(DealStatusEnum.ING);
+                studentPaymentOrder.setStatus(DealStatusEnum.WAIT_PAY);
                 studentPaymentOrder.setMusicGroupId(musicGroupId);
                 studentPaymentOrder.setClassGroupId(classGroupId);
                 studentPaymentOrderService.insert(studentPaymentOrder);

+ 54 - 52
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -178,59 +178,73 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(),courseScheduleId.longValue());
 		ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId);
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
-		boolean isAttendance=false;
-		Date now=new Date();
-
-		SysConfig byParamName = sysConfigService.findByParamName(SysConfigService.ADVANCE_SIGN_IN_MINUTES);
-		Integer advanceSignInMinutes=Integer.parseInt(byParamName.getParanValue());
 
 		if(Objects.isNull(teacherAttendance)){
 			teacherAttendance=new TeacherAttendance();
 			teacherAttendance.setCourseScheduleId(courseScheduleId.longValue());
-		}else{
-			isAttendance=true;
+			teacherAttendance.setCurrentClassTimes(classGroup.getCurrentClassTimes());
+			teacherAttendance.setTeacherId(userId);
+			teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
+			teacherAttendance.setClassGroupId(classGroup.getId());
+			teacherAttendance.setClassGroupId(courseScheduleId);
+			teacherAttendance.setTeacherId(userId);
+			teacherAttendanceDao.insert(teacherAttendance);
+		}else if(teacherAttendance.getSignInTime() != null && teacherAttendance.getSignOutTime() != null){
+			return;
 		}
 		teacherAttendance.setTeacherId(userId);
 		teacherAttendance.setClassGroupId(classGroup.getId());
 		teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
-
-		int timeGap = DateUtil.minutesBetween(now, courseSchedule.getStartClassTime());
-
-		YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
-				userId.longValue(),
-				false,
-				null);
-
-
-		switch (signStatus){
-			case SIGN_IN:
-				if (courseSchedule.getEndClassTime().after(now)){
-					teacherAttendance.setSignInTime(now);
-					if(yesOrNoEnum.equals(YesOrNoEnum.YES)||advanceSignInMinutes<=timeGap&&timeGap<=60){
-						teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
-					}else{
-						teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
+		int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
+		Date date = new Date();
+		String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
+		String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+		String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+		//上课时间
+		Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+		Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+		Date addMinutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
+		//签到
+		if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
+			//是否连堂课
+			YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
+					userId.longValue(),
+					false,
+					null);
+			teacherAttendance.setSignInTime(date);
+			teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
+			boolean isSign = false;
+			if(yesOrNoEnum == YesOrNoEnum.YES){
+				isSign = true;
+			}else if(DateUtil.minutesBetween(addMinutes,date) >= 0 && DateUtil.minutesBetween(date,classStartDateTime) > 0){
+				//正常签到范围(开始前20分钟  ~  开始之前)
+				isSign = true;
+			}else if(DateUtil.minutesBetween(classStartDateTime,date) > 0 && DateUtil.minutesBetween(date,classEndDateTime) > 0){
+				//异常签到范围(开始之后  ~  结束之前)
+				isSign = true;
+				teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
+			}
+			if(isSign){
+				teacherAttendanceDao.update(teacherAttendance);
+				if(courseSchedule.getTeachMode() == TeachModeEnum.ONLINE){
+					//获取所有当前课程的学生列表
+					Map<Integer,String> userMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(courseScheduleDao.findStudentMap(courseScheduleId))),HashMap.class);
+					if(userMap != null && userMap.size() > 0){
+						String name = subjectDao.findNames(classGroup.getSubjectIdList());
+						sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.STUDENT_PUSH_ONLINE_COURSE_ACTION,userMap,
+								null,0,"6?sealClassId=" + courseScheduleId + "&subjectName=" + name ,courseSchedule.getName());
 					}
 				}
-				int currentClassTimes = teacherAttendanceDao.countClassTime(classGroup.getId().longValue());
-				classGroup.setCurrentClassTimes(currentClassTimes);
-				if(updateCourseScheduleStatus&&courseSchedule.getStatus().equals(CourseStatusEnum.NOT_START)){
-					courseScheduleDao.updateCourscheduleStatus(courseScheduleId,CourseStatusEnum.UNDERWAY.getCode());
-				}
-				break;
-			case SIGN_OUT:
-				teacherAttendance.setSignOutTime(now);
-				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
-				break;
-			default:
-
-				break;
+			}
 		}
-		if(isAttendance){
-			if(SignStatusEnum.SIGN_OUT.equals(signStatus)){
+		//签退
+		if(teacherAttendance.getSignOutTime() == null && SignStatusEnum.SIGN_OUT.equals(signStatus)){
+			//正常签退范围(课程结束后)
+			if(DateUtil.minutesBetween(classEndDateTime,date) > 0){
+				teacherAttendance.setSignOutTime(date);
+				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
 				teacherAttendanceDao.update(teacherAttendance);
 				//教师签退后,给未签到学员添加旷课记录
-				//封装未签到学员签到列表
 				List<StudentAttendance> studentAttendances = studentAttendanceDao.queryNoSignStudentRecord(courseScheduleId);
 				if(studentAttendances != null && studentAttendances.size() > 0){
 					studentAttendances.forEach(e->{
@@ -241,18 +255,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					studentAttendanceDao.addStudentAttendances(studentAttendances);
 				}
 			}
-		}else{
-			teacherAttendanceDao.insert(teacherAttendance);
-			//教师到课推送
-			if(courseSchedule.getTeachMode() == TeachModeEnum.ONLINE){
-				//获取所有当前课程的学生列表
-				Map<Integer,String> userMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(courseScheduleDao.findStudentMap(courseScheduleId))),HashMap.class);
-				if(userMap != null && userMap.size() > 0){
-					String name = subjectDao.findNames(classGroup.getSubjectIdList());
-					sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.STUDENT_PUSH_ONLINE_COURSE_ACTION,userMap,
-							null,0,"6?sealClassId=" + courseScheduleId + "&subjectName=" + name ,courseSchedule.getName());
-				}
-			}
 		}
 	}
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -86,7 +86,7 @@
         (id_,type_,goods_id_list_,price_,create_time_,update_time_,payment_order_id_)
         VALUES
         <foreach collection="studentPaymentOrderDetailList" item="orderDetail" separator=",">
-            (#{orderDetail.id},#{orderDetail.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{orderDetail.goodsIdList},#{orderDetail.price},#{orderDetail.createTime},#{orderDetail.updateTime},#{orderDetail.paymentOrderId})
+            (#{orderDetail.id},#{orderDetail.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{orderDetail.goodsIdList},#{orderDetail.price},now(),now(),#{orderDetail.paymentOrderId})
         </foreach>
     </insert>
 

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -424,10 +424,10 @@
     <insert id="insertBasic" parameterType="com.ym.mec.biz.dal.entity.StudentRegistration">
         INSERT INTO student_registration
         (parents_phone_,user_id_,name_,music_group_id_,current_grade_,current_class_,subject_id_,
-        create_time_,update_time_,parents_name_,payment_status_,actual_subject_id_,music_group_status_)
+        create_time_,update_time_,parents_name_,payment_status_,actual_subject_id_,music_group_status_,temporary_course_fee_)
         VALUES (#{parentsPhone},#{userId},#{name},#{musicGroupId},#{currentGrade},#{currentClass},#{subjectId},
             now(),now(),#{parentsName},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subjectId},
-            #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+            #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}#{temporaryCourseFee})
     </insert>
 
     <!-- 查询乐团userIdList的学生 -->

+ 30 - 25
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -28,10 +28,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 @RequestMapping("musicGroup")
 @Api(tags = "乐团服务")
@@ -224,24 +221,29 @@ public class MusicGroupController extends BaseController {
         //获取课程价格
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
         BigDecimal courseFee = musicOneSubjectClassPlan.getFee();
-        if(studentRegistration.getTemporaryCourseFee() != null){
+        if (studentRegistration.getTemporaryCourseFee() != null) {
             courseFee = studentRegistration.getTemporaryCourseFee();
         }
         orderAmount = orderAmount.add(courseFee);
 
 
         //乐器及打包辅件
-        List<MusicGroupSubjectGoodsGroup> goodsGroups = null;
-        if (registerPayDto.getGoodsGroupIds() != null && !registerPayDto.getGoodsGroupIds().equals("")) GROUP: {
-            if(studentRegistration.getTemporaryCourseFee() != null){
-                List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.findUserApplyOrder(studentRegistration.getUserId(), DealStatusEnum.WAIT_PAY);
-                for (StudentPaymentOrderDetail orderDetail : orderDetails) {
-                    orderAmount = orderAmount.add(orderDetail.getPrice());
-                    continue;
-                }
-                break GROUP;
-            }
+        List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
+
+        if (studentRegistration.getTemporaryCourseFee() != null) {
+            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.findUserApplyOrder(studentRegistration.getUserId(), DealStatusEnum.WAIT_PAY);
+            for (StudentPaymentOrderDetail orderDetail : orderDetails) {
+                MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup = new MusicGroupSubjectGoodsGroup();
+                GoodsType goodsType = orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) ? GoodsType.INSTRUMENT : GoodsType.ACCESSORIES;
+                musicGroupSubjectGoodsGroup.setType(goodsType);
+                musicGroupSubjectGoodsGroup.setGoodsIdList(orderDetail.getGoodsIdList());
+                musicGroupSubjectGoodsGroup.setPrice(orderDetail.getPrice());
 
+                goodsGroups.add(musicGroupSubjectGoodsGroup);
+
+                orderAmount = orderAmount.add(orderDetail.getPrice());
+            }
+        } else if (registerPayDto.getGoodsGroupIds() != null && !registerPayDto.getGoodsGroupIds().equals("")) {
             goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(registerPayDto.getGoodsGroupIds());
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
@@ -324,23 +326,26 @@ public class MusicGroupController extends BaseController {
         //获取课程价格
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
         BigDecimal courseFee = musicOneSubjectClassPlan.getFee();
-        if(studentRegistration.getTemporaryCourseFee() != null){
+        if (studentRegistration.getTemporaryCourseFee() != null) {
             courseFee = studentRegistration.getTemporaryCourseFee();
         }
         orderAmount = orderAmount.add(courseFee);
 
 
         //乐器及打包辅件
-        List<MusicGroupSubjectGoodsGroup> goodsGroups = null;
-        if (registerPayDto.getGoodsGroupIds() != null && !registerPayDto.getGoodsGroupIds().equals("")) GROUP: {
-            if(studentRegistration.getTemporaryCourseFee() != null){
-                List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.findUserApplyOrder(studentRegistration.getUserId(), DealStatusEnum.WAIT_PAY);
-                for (StudentPaymentOrderDetail orderDetail : orderDetails) {
-                    orderAmount = orderAmount.add(orderDetail.getPrice());
-                    continue;
-                }
-                break GROUP;
+        List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
+        if (studentRegistration.getTemporaryCourseFee() != null) {
+            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.findUserApplyOrder(studentRegistration.getUserId(), DealStatusEnum.WAIT_PAY);
+            for (StudentPaymentOrderDetail orderDetail : orderDetails) {
+                MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup = new MusicGroupSubjectGoodsGroup();
+                GoodsType goodsType = orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) ? GoodsType.INSTRUMENT : GoodsType.ACCESSORIES;
+                musicGroupSubjectGoodsGroup.setType(goodsType);
+                musicGroupSubjectGoodsGroup.setGoodsIdList(orderDetail.getGoodsIdList());
+                musicGroupSubjectGoodsGroup.setPrice(orderDetail.getPrice());
+                goodsGroups.add(musicGroupSubjectGoodsGroup);
+                orderAmount = orderAmount.add(orderDetail.getPrice());
             }
+        } else if (registerPayDto.getGoodsGroupIds() != null && !registerPayDto.getGoodsGroupIds().equals("")) {
             goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(registerPayDto.getGoodsGroupIds());
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {

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

@@ -32,7 +32,7 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "乐团添加学员")
     @PostMapping("/insertStudent")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/insertStudent')")
-    public Object add(StudentAddDto studentAddDto) throws Exception {
+    public Object add(@RequestBody StudentAddDto studentAddDto) throws Exception {
         return succeed(studentRegistrationService.insertStudent(studentAddDto));
     }