Kaynağa Gözat

Merge remote-tracking branch 'origin/master_saas' into master_saas

zouxuan 2 yıl önce
ebeveyn
işleme
3c402f7b5e

+ 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);

+ 48 - 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
@@ -403,6 +413,16 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                         if (subjectChange.getChangeMusical() == null) {
                             continue;
                         }
+                        if(deliveryStatus != null){
+        					if (deliveryStatus == 0 && StringUtils.isNotBlank(subjectChange.getDeliveryBatchNo())) {
+        						continue;
+        					}
+        					
+        					if (deliveryStatus == 1 && StringUtils.isBlank(subjectChange.getDeliveryBatchNo())) {
+        						continue;
+        					}
+                    	}
+                        
                         if(spod.getType() == OrderDetailTypeEnum.MUSICAL){
                             kitGroupPurchaseType = subjectChange.getKitGroupPurchaseType();
                             musicalId = subjectChange.getChangeMusical() + "";
@@ -427,6 +447,15 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                         if (StringUtils.isBlank(subjectChange.getChangeAccessories()) || isCalculatedOfAccessories == true) {
                             continue;
                         }
+                        if(deliveryStatus != null){
+        					if (deliveryStatus == 0 && StringUtils.isNotBlank(subjectChange.getDeliveryBatchNo())) {
+        						continue;
+        					}
+        					
+        					if (deliveryStatus == 1 && StringUtils.isBlank(subjectChange.getDeliveryBatchNo())) {
+        						continue;
+        					}
+                    	}
                         isCalculatedOfAccessories = true;
                         accessoriesId = accessoriesId.append(subjectChange.getChangeAccessories()).append(",");
                         //accessoriesAmount = accessoriesAmount.add(subjectChange.getChangeAccessoriesPrice());
@@ -452,6 +481,15 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 
             if (orderDetailList.size() == 0) {
                 if (subjectChange != null) {
+                    if(deliveryStatus != null){
+    					if (deliveryStatus == 0 && StringUtils.isNotBlank(subjectChange.getDeliveryBatchNo())) {
+    						continue;
+    					}
+    					
+    					if (deliveryStatus == 1 && StringUtils.isBlank(subjectChange.getDeliveryBatchNo())) {
+    						continue;
+    					}
+                	}
                     if (subjectChange.getChangeMusical() != null) {
                         kitGroupPurchaseType = subjectChange.getKitGroupPurchaseType();
                         musicalId = subjectChange.getChangeMusical() + "";
@@ -466,6 +504,15 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                 }
             } else if (isChangeAccessories == false || isChangeMusical == false) {
                 if (subjectChange != null) {
+                    if(deliveryStatus != null){
+    					if (deliveryStatus == 0 && StringUtils.isNotBlank(subjectChange.getDeliveryBatchNo())) {
+    						continue;
+    					}
+    					
+    					if (deliveryStatus == 1 && StringUtils.isBlank(subjectChange.getDeliveryBatchNo())) {
+    						continue;
+    					}
+                	}
                     if (subjectChange.getChangeMusical() != null && isChangeMusical == false) {
                         kitGroupPurchaseType = subjectChange.getKitGroupPurchaseType();
                         musicalId = subjectChange.getChangeMusical() + "";

+ 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>