yonge 2 år sedan
förälder
incheckning
11ed009784

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java

@@ -174,4 +174,6 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
     List<StudentPaymentOrderDetail> findByOrderId(Long paymentOrderId);
 
     List<StudentPaymentOrderDetail> findByCalenderId(Long calenderId);
+    
+    List<StudentPaymentOrderDetail> queryByMusicGroupIdAndOrderType(@Param("musicGroupId") String musicGroupId, @Param("orderType") OrderTypeEnum orderType);
 }

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

@@ -90,7 +90,7 @@ public interface StudentPaymentOrderDetailService extends BaseService<Long, Stud
      * @param musicGroupId
      * @return
      */
-    List<MusicalListDetailDto> getMusicalListDetail(String musicGroupId, Integer studentId);
+    List<MusicalListDetailDto> getMusicalListDetail(String musicGroupId, Integer deliveryStatus);
 
     /**
      * 获取订单的乐器信息

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

@@ -3860,7 +3860,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         String deliveryBatchNo = idGeneratorService.generatorId("delivery") + "";
         
         //更新订单的发货状态(包括声部更换)
-        List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailDao.findApplyOrderSuccess(musicGroupId, DealStatusEnum.SUCCESS, 0);
+        List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailDao.queryByMusicGroupIdAndOrderType(musicGroupId, OrderTypeEnum.SUBJECT_CHANGE);
+        if(studentPaymentOrderDetailList == null){
+        	studentPaymentOrderDetailList = new ArrayList<StudentPaymentOrderDetail>();
+        }
+        
+        List<StudentPaymentOrderDetail> studentPaymentOrderDetailList1 = studentPaymentOrderDetailDao.findApplyOrderSuccess(musicGroupId, DealStatusEnum.SUCCESS, 0);
+        if(studentPaymentOrderDetailList1 != null && studentPaymentOrderDetailList1.size() > 0){
+        	studentPaymentOrderDetailList.addAll(studentPaymentOrderDetailList1);
+        }
         studentPaymentOrderDetailList.forEach(t -> {
         	t.setDeliveryBatchNo(deliveryBatchNo);
         	t.setUpdateTime(date);

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -320,7 +320,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     }
 
     @Override
-    public List<MusicalListDetailDto> getMusicalListDetail(String musicGroupId, Integer studentId) {
+    public List<MusicalListDetailDto> getMusicalListDetail(String musicGroupId, Integer deliveryStatus) {
 
         List<MusicalListDetailDto> musicalListDetailDtos = new ArrayList<MusicalListDetailDto>();
 
@@ -388,6 +388,16 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
             boolean isChangeAccessories = false;
 
             for (StudentPaymentOrderDetail spod : orderDetailList) {
+            	
+            	if(deliveryStatus != null){
+					if (deliveryStatus == 0 && StringUtils.isNotBlank(spod.getDeliveryBatchNo())) {
+						continue;
+					}
+					
+					if (deliveryStatus == 1 && StringUtils.isBlank(spod.getDeliveryBatchNo())) {
+						continue;
+					}
+            	}
 
                 if (spod.getType() == OrderDetailTypeEnum.COURSE || spod.getType() == OrderDetailTypeEnum.HIGH_ONLINE_COURSE
                         || spod.getType() == OrderDetailTypeEnum.SINGLE || spod.getType() == OrderDetailTypeEnum.VIP

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

@@ -420,4 +420,11 @@
         UNION
         SELECT id_ FROM student_payment_order WHERE calender_id_ = #{calenderId} AND status_ = 'SUCCESS')c) AND spod.id_ IS NOT NULL
     </select>
+    
+    <select id="queryByMusicGroupIdAndOrderType" resultMap="StudentPaymentOrderDetail">
+        SELECT spod.*,spo.user_id_ FROM student_payment_order_detail spod
+        LEFT JOIN  student_payment_order spo ON spo.id_ = spod.payment_order_id_
+        WHERE spo.music_group_id_ = #{musicGroupId}
+        AND spo.type_ = #{orderType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and spo.status_ = 'SUCCESS'
+    </select>
 </mapper>