Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 4 years ago
parent
commit
9b15ac8503

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -437,5 +437,7 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      * @param groupType:
      * @return java.math.BigDecimal
      */
-    BigDecimal countFinishCoursePriceWithMusicGroup(@Param("groupId") String groupId, @Param("groupType") GroupType groupType);
+    BigDecimal countFinishCoursePriceWithMusicGroup(@Param("groupId") String groupId,
+                                                    @Param("groupType") GroupType groupType,
+                                                    @Param("userId") Integer userId);
 }

+ 5 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -3622,7 +3622,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
                 settingsDetail.setCourseType(CourseScheduleType.valueOf(courseType));
                 settingsDetail.setCourseTotalMinuties(Integer.parseInt(jsonObject.get(courseType).toString()) * subNum.intValue());
-                settingsDetail.setCourseCurrentPrice(unitPrice.multiply(new BigDecimal(subNum)).multiply(new BigDecimal(settingsDetail.getCourseTotalMinuties())));
+                settingsDetail.setCourseCurrentPrice(unitPrice.multiply(new BigDecimal(settingsDetail.getCourseTotalMinuties())));
                 settingsDetail.setCourseOriginalPrice(settingsDetail.getCourseCurrentPrice());
                 courseMap.put(courseType,settingsDetail);
             }
@@ -3714,20 +3714,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         checkMergeClassSplitClassAffirmParam(mergeClassSplitClassAffirmDto);
         //如果缴费项目不需要审核,那么生成班级以及课表
         if(status == null || status != AUDITING){
-
-            ClassGroup4MixDto classGroup4MixDto = classGroup4MixDtos.get(0);
-            classGroup4MixDto.setMusicGroupStudentClassAdjustId(musicGroupStudentClassAdjust.getId());
-            //保存课程时长
-            classGroup4MixDto.setClassCourseMinute(musicGroupStudentClassAdjust.getClassCourseMinute());
-            //拷贝课程类型
-            List<CourseTimeDto> courseTimeDtoList = classGroup4MixDto.getCourseTimeDtoList();
-            List<CourseTimeDto> courseTimeDtoListBackup = Arrays.asList(new CourseTimeDto[courseTimeDtoList.size()]);
-            Collections.copy(courseTimeDtoListBackup,courseTimeDtoList);
-            //每种课程类型单独排课
-            for (CourseTimeDto courseTimeDto : courseTimeDtoListBackup) {
-                List<CourseTimeDto> courseTimeDtos = new ArrayList<>();
-                courseTimeDtos.add(courseTimeDto);
-                classGroup4MixDto.setCourseTimeDtoList(courseTimeDtos);
+            //每种课程类型单独进行排课
+            for (ClassGroup4MixDto classGroup4MixDto : classGroup4MixDtos) {
+                classGroup4MixDto.setMusicGroupStudentClassAdjustId(musicGroupStudentClassAdjust.getId());
+                classGroup4MixDto.setClassCourseMinute(musicGroupStudentClassAdjust.getClassCourseMinute());
                 classGroupService.classGroupAdjust2(classGroup4MixDto);
             }
             //排课完成后删除所选课程

+ 13 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -85,7 +85,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         if(Objects.nonNull(degreeRegistration.getSporadicId())&&endLevelNum>0){
             throw new BizException("您已报考过选择的考级项目");
         }
-        if(Objects.nonNull(degreeRegistration.getTheoryLevel())&&endTheoryLevelNum>0){
+        if(StringUtils.isNotBlank(degreeRegistration.getTheoryLevel())&&endTheoryLevelNum>0){
             throw new BizException("您已报考过选择的考级项目");
         }
 
@@ -113,7 +113,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             degreeRegistration.setMoney(BigDecimal.ZERO);
         }
 
-        if(Objects.nonNull(degreeRegistration.getTheoryLevel())){
+        if(StringUtils.isNotBlank(degreeRegistration.getTheoryLevel())){
             degreeRegistration.setOrderNo(orderNo);
             BigDecimal theoryMoney = BigDecimal.ZERO;
             switch (degreeRegistration.getTheoryLevel()) {
@@ -139,7 +139,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             degreeRegistration.setTheoryMoney(BigDecimal.ZERO);
         }
 
-        if(Objects.nonNull(degreeRegistration.getSporadicId())||Objects.nonNull(degreeRegistration.getTheoryLevel())){
+        if(Objects.nonNull(degreeRegistration.getSporadicId())||StringUtils.isNotBlank(degreeRegistration.getTheoryLevel())){
             degreeRegistration.setStatus(1);
             degreeRegistration.setCreateTime(nowDate);
             degreeRegistration.setUpdateTime(nowDate);
@@ -273,16 +273,6 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         studentPaymentOrderService.insert(studentPaymentOrder);
         studentPaymentOrder.setVersion(0);
 
-        if (amount.compareTo(BigDecimal.ZERO) == 0) {
-            Map<String, String> notifyMap = new HashMap<>();
-            notifyMap.put("tradeState", "1");
-            notifyMap.put("merOrderNo", studentPaymentOrder.getOrderNo());
-            notifyMap.put("channelType", channelType);
-            notifyMap.put("orderNo", "");
-            studentPaymentOrderService.updateOrder(notifyMap);
-            return BaseController.failed(HttpStatus.CREATED, "恭喜您,支付成功!");
-        }
-
         if(BigDecimal.ZERO.compareTo(additionCoursePrice)<0){
             StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
             studentPaymentOrderDetail.setType(OrderDetailTypeEnum.DEGREE_REGISTRATION);
@@ -297,6 +287,16 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             studentPaymentOrderDetailDao.insert(studentPaymentOrderDetail);
         }
 
+        if (amount.compareTo(BigDecimal.ZERO) == 0) {
+            Map<String, String> notifyMap = new HashMap<>();
+            notifyMap.put("tradeState", "1");
+            notifyMap.put("merOrderNo", studentPaymentOrder.getOrderNo());
+            notifyMap.put("channelType", channelType);
+            notifyMap.put("orderNo", "");
+            studentPaymentOrderService.updateOrder(notifyMap);
+            return BaseController.failed(HttpStatus.CREATED, "恭喜您,支付成功!");
+        }
+
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 
         String receiver = "kjRegister";

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -414,8 +414,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				// 如果是进行中加学生
 				if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
 					addStudent(musicGroupPaymentCalender, currentMusicGroupPaymentCalenderCourseSettings);
-				}
-				if(StringUtils.isNotEmpty(musicGroupPaymentCalenderDto.getBatchNo())){
+				}else if(StringUtils.isNotEmpty(musicGroupPaymentCalenderDto.getBatchNo())){
 					//缴费项目添加学员
 					int[] ints = Arrays.stream(musicGroupPaymentCalenderDto.getStudentIds().split(",")).mapToInt(Integer::parseInt).toArray();
 					List<Integer> list2 = Arrays.stream(ints).boxed().collect(Collectors.toList());
@@ -647,7 +646,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			}
 			musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
 			musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
-			musicGroupPaymentCalender.setStudentIds(musicGroupPaymentCalenderDto.getStudentIds());
+			if(StringUtils.isNotEmpty(musicGroupPaymentCalenderDto.getStudentIds())){
+				musicGroupPaymentCalender.setStudentIds(musicGroupPaymentCalenderDto.getStudentIds());
+			}
 			musicGroupPaymentCalender.setOperator(sysUser.getId());
 			musicGroupPaymentCalender.setCreateTime(date);
 			musicGroupPaymentCalender.setUpdateTime(date);

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

@@ -1606,7 +1606,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //操作人
             SysUser operator = sysUserFeignService.queryUserInfo();
 
-            BigDecimal price = courseScheduleStudentPaymentDao.countFinishCoursePriceWithMusicGroup(musicGroupId, GroupType.MUSIC);
+            BigDecimal price = courseScheduleStudentPaymentDao.countFinishCoursePriceWithMusicGroup(musicGroupId, GroupType.MUSIC, userId);
             BigDecimal subtractAmount = studentRegistration.getSurplusCourseFee();
             if(Objects.isNull(price)){
                 price = new BigDecimal(0);
@@ -1756,7 +1756,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //操作人
         SysUser operator = sysUserFeignService.queryUserInfo();
 
-        BigDecimal price = courseScheduleStudentPaymentDao.countFinishCoursePriceWithMusicGroup(musicGroupId, GroupType.MUSIC);
+        BigDecimal price = courseScheduleStudentPaymentDao.countFinishCoursePriceWithMusicGroup(musicGroupId, GroupType.MUSIC, userId);
         BigDecimal subtractAmount = studentRegistration.getSurplusCourseFee();
         if(Objects.isNull(price)){
             price = new BigDecimal(0);

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

@@ -672,6 +672,6 @@
 
 	<select id="countFinishCoursePriceWithMusicGroup" resultType="java.math.BigDecimal">
 		SELECT SUM(expect_price_)-SUM(actual_price_) FROM course_schedule_student_payment
-		WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+		WHERE music_group_id_=#{groupId} AND user_id_=#{userId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 	</select>
 </mapper>

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

@@ -31,6 +31,7 @@
         <result column="attribute1_" property="attribute1"/>
         <result column="attribute2_" property="attribute2"/>
         <result column="student_ids_" property="studentIds"/>
+
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->

+ 3 - 3
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -106,12 +106,12 @@ public class DegreeController extends BaseController {
         studentDao.getLocked(degreeRegistration.getUserId());
         List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(), DegreeRegistrationService.ACTIVITY_TAG);
         long levelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())&&d.getStatus().equals(2)).count();
-        long theoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
+        long theoryLevelNum = userLevelDegrees.stream().filter(d -> StringUtils.isNotBlank(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
 
         if(Objects.nonNull(degreeRegistration.getSporadicId())&&levelNum>0){
             return failed(HttpStatus.CREATED, "您已报考过选择的考级项目");
         }
-        if(Objects.nonNull(degreeRegistration.getTheoryLevel())&&theoryLevelNum>0){
+        if(StringUtils.isNotBlank(degreeRegistration.getTheoryLevel())&&theoryLevelNum>0){
             return failed(HttpStatus.CREATED, "您已报考过选择的考级项目");
         }
         return succeed();
@@ -155,7 +155,7 @@ public class DegreeController extends BaseController {
 
         List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(user.getId(), DegreeRegistrationService.ACTIVITY_TAG);
         long levelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())&&d.getStatus().equals(2)).count();
-        long theoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
+        long theoryLevelNum = userLevelDegrees.stream().filter(d -> StringUtils.isNotBlank(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
 
         result.put("levelApplied", levelNum>0?1:0);
         result.put("theoryLevelApplied", theoryLevelNum>0?1:0);