zouxuan 3 سال پیش
والد
کامیت
5f7179f69f
1فایلهای تغییر یافته به همراه34 افزوده شده و 20 حذف شده
  1. 34 20
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

+ 34 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -2293,8 +2293,11 @@ public class ExportServiceImpl implements ExportService {
         Map<Integer, String> userLastMusicIdMap = new HashMap<>();
         Map<Integer, String> userLastMusicNameMap = new HashMap<>();
         Map<Integer, String> studentNameMap = new HashMap<>();
+        Map<Integer, String> userFirstPracticeMap = new HashMap<>();
         if(studentPaymentOrderExportDtos.stream().anyMatch(e->e.getUserId() != null)){
             List<Integer> studentIds = studentPaymentOrderExportDtos.stream().filter(e->e.getUserId() != null).map(e -> e.getUserId()).distinct().collect(Collectors.toList());
+            //获取学员第一个网管课课程组编号
+            userFirstPracticeMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.findUserFirstVipMap("PRACTICE",studentIds));
             //获取学员第一个课程组编号
             userFirstVipMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.findUserFirstVipMap("VIP",studentIds));
             //获取学员最近加入的一个乐团编号
@@ -2339,26 +2342,8 @@ public class ExportServiceImpl implements ExportService {
             }
             //根据订单类型初始化业务数据
             Optional.ofNullable(groupTypeConsumerMap1.get(basicOrder.getGroupType())).ifPresent(consumer -> consumer.accept(basicOrder));
-            if(basicOrder.getRouteAmount().compareTo(BigDecimal.ZERO) == 0){
-                continue;
-            }
-            if(basicOrder.getTypeDesc() == null){
-                if(basicOrder.getGroupType() == GroupType.VIP){
-                    //学员没有历史VIP课程则导出为【VIP课新增】
-                    //学员有历史VIP课程到导出为【VIP课续费]
-                    if(Objects.equals(userFirstVipMap.get(basicOrder.getUserId()),basicOrder.getMusicGroupId())){
-                        basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_VIP);
-                    }else {
-                        basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.RENEW_VIP);
-                    }
-                }else if(basicOrder.getGroupType().equals(GroupType.SUBJECT_CHANGE)){
-                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_MUSIC);
-                }else if(basicOrder.getGroupType().equals(GroupType.REPAIR)){
-                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.REPAIR);
-                }else {
-                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.OTHER);
-                }
-            }
+            this.setSubTypeDesc(basicOrder,userFirstVipMap,userFirstPracticeMap);
+
             String paymentChannel = "";
             if (basicOrder.getPaymentChannel() == null) {
             } else if (basicOrder.getPaymentChannel().equals("YQPAY")) {
@@ -2369,6 +2354,9 @@ public class ExportServiceImpl implements ExportService {
                 paymentChannel = "余额";
             }
             basicOrder.setPaymentChannel(paymentChannel);
+            if(basicOrder.getRouteAmount().compareTo(BigDecimal.ZERO) == 0){
+                continue;
+            }
             //如果有订单详情
             List<StudentPaymentOrderDetail> detailList = orderDetailMap.get(basicOrder.getId());
             if (!CollectionUtils.isEmpty(detailList)) {
@@ -2394,6 +2382,32 @@ public class ExportServiceImpl implements ExportService {
         exportManagerDownload(workbook,managerDownload);
     }
 
+    public void setSubTypeDesc(StudentPaymentOrderExportDto basicOrder,Map<Integer,String> userFirstVipMap,Map<Integer,String> userFirstPracticeMap){
+        if(basicOrder.getTypeDesc() == null){
+            if(basicOrder.getGroupType() == GroupType.VIP){
+                //学员没有历史VIP课程则导出为【VIP课新增】
+                //学员有历史VIP课程到导出为【VIP课续费]
+                if(Objects.equals(userFirstVipMap.get(basicOrder.getUserId()),basicOrder.getMusicGroupId())){
+                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_VIP);
+                }else {
+                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.RENEW_VIP);
+                }
+            }else if(basicOrder.getGroupType() == GroupType.PRACTICE){
+                if(Objects.equals(userFirstPracticeMap.get(basicOrder.getUserId()),basicOrder.getMusicGroupId())){
+                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_PRACTICE);
+                }else {
+                    basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.RENEW_PRACTICE);
+                }
+            }else if(basicOrder.getGroupType().equals(GroupType.SUBJECT_CHANGE)){
+                basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.NEW_MUSIC);
+            }else if(basicOrder.getGroupType().equals(GroupType.REPAIR)){
+                basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.REPAIR);
+            }else {
+                basicOrder.setTypeDesc(StudentPaymentOrderExportDto.TypeDesc.OTHER);
+            }
+        }
+    }
+
     //按订单详情计算
     public void calcOrderDetail(StudentPaymentOrderExportDto basicOrder,List<StudentPaymentOrderDetail> detailList,Map<Integer, String> userFirstVipMap){
         //排除金额为0的订单详情