|
@@ -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的订单详情
|