yonge 4 years ago
parent
commit
8d3a5eaaa2

+ 40 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -760,9 +760,46 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 musicGroupStudentFee.setRemainNetworkClassTimes(musicGroupStudentFee.getRemainNetworkClassTimes() + 1);
             }*/
             musicGroupStudentFeeDao.insert(musicGroupStudentFee);
-//            musicGroupStudentFeeDao.insert(new MusicGroupStudentFee(musicGroupId,
-//                    userId, studentRegistration.getSubjectId(), studentAddDto.getCourseFee(),
-//                    nextPaymentDate, studentAddDto.getTemporaryCourseFee(), paymentStatus));
+
+            StudentPaymentOrder waitPayOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, studentRegistration.getMusicGroupId(), DealStatusEnum.WAIT_PAY);
+
+            if (waitPayOrder != null) {
+                waitPayOrder.setStatus(DealStatusEnum.CLOSE);
+                studentPaymentOrderService.update(waitPayOrder);
+            }
+            //生成订单
+            StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
+            studentPaymentOrder.setUserId(userId);
+            studentPaymentOrder.setGroupType(GroupType.MUSIC);
+            studentPaymentOrder.setType(OrderTypeEnum.APPLY);
+            studentPaymentOrder.setStatus(DealStatusEnum.WAIT_PAY);
+            studentPaymentOrder.setMusicGroupId(musicGroupId);
+            studentPaymentOrder.setClassGroupId(studentAddDto.getSignClassId());
+            studentPaymentOrder.setOrganId(musicGroup.getOrganId());
+            studentPaymentOrder.setRoutingOrganId(musicGroup.getOrganId());
+
+            //生成订单明细
+            List<StudentPaymentOrderDetail> studentPaymentOrderDetails = studentAddDto.getStudentPaymentOrderDetails();
+            if (studentPaymentOrderDetails == null) {
+                studentPaymentOrderDetails = new ArrayList<>();
+            } else {
+                studentPaymentOrderDetails.forEach(e -> {
+                    if (e.getPrice() == null) {
+                        throw new BizException("请补全订单信息");
+                    }
+                });
+            }
+            //汇总金额
+
+            BigDecimal reduce = studentPaymentOrderDetails.stream().map(StudentPaymentOrderDetail::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            if (reduce.compareTo(BigDecimal.ZERO) == 0) {
+                studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
+                studentPaymentOrder.setActualAmount(reduce);
+                studentPaymentOrder.setPayTime(date);
+            }
+            studentPaymentOrder.setExpectAmount(reduce);
+            studentPaymentOrderService.insert(studentPaymentOrder);
+            
             //当前学员是否以前存在过当前乐团
             if (phoneAndMusicGroupId != null) {
                 studentRegistration.setId(phoneAndMusicGroupId.getId());

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

@@ -45,7 +45,7 @@
     
     <resultMap type="com.ym.mec.biz.dal.dto.StudentMusicGroupDto" id="StudentMusicGroupDto" extends="StudentRegistration">
     	<result column="music_group_quit_status_" property="musicGroupQuit.status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="music_group_status_" property="musicGroup.status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="group_status_" property="musicGroup.status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_name_" property="musicGroup.name"/>
     </resultMap>
 
@@ -718,7 +718,7 @@
     </select>
     
     <select id="queryStudentMusicGroupInfo" resultMap="StudentMusicGroupDto">
-    	select sr.*,s.name_ subject_name_,mg.status_ music_group_status_,mg.name_ music_group_name_,mgq.status_ music_group_quit_status_ 
+    	select sr.*,s.name_ subject_name_,mg.status_ group_status_,mg.name_ music_group_name_,mgq.status_ music_group_quit_status_ 
     	from student_registration sr left join subject s on s.id_ = sr.actual_subject_id_
     	left join music_group mg on sr.music_group_id_ = mg.id_
     	left join (select mgq.* from music_group_quit mgq