Browse Source

订单详情订单金额分摊方式调整

zouxuan 3 years ago
parent
commit
228811c3f5

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/IndexBaseDto.java

@@ -25,6 +25,16 @@ public class IndexBaseDto {
 
 
     private List<IndexBaseMonthData> indexMonthData;
     private List<IndexBaseMonthData> indexMonthData;
 
 
+    private List<IndexBaseMonthData> indexMonthDataDetail;
+
+    public List<IndexBaseMonthData> getIndexMonthDataDetail() {
+        return indexMonthDataDetail;
+    }
+
+    public void setIndexMonthDataDetail(List<IndexBaseMonthData> indexMonthDataDetail) {
+        this.indexMonthDataDetail = indexMonthDataDetail;
+    }
+
     public IndexBaseDto() {
     public IndexBaseDto() {
     }
     }
 
 

+ 14 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -163,18 +163,6 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			typeDateMap.put(PRACTICE_AMOUNT,practiceAmount);
 			typeDateMap.put(PRACTICE_AMOUNT,practiceAmount);
 			List<IndexBaseMonthData> otherAmount = indexBaseMonthDataDao.getOtherAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 			List<IndexBaseMonthData> otherAmount = indexBaseMonthDataDao.getOtherAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 			typeDateMap.put(OTHER_AMOUNT,otherAmount);
 			typeDateMap.put(OTHER_AMOUNT,otherAmount);
-			List<IndexBaseMonthData> otherAmountDetails = new ArrayList<>();
-			if(otherAmount != null && otherAmount.size() > 0){
-				Map<String, List<IndexBaseMonthData>> collect = otherAmount.stream().collect(Collectors.groupingBy(e -> e.getOrderType()));
-				collect.keySet().forEach(e->{
-					IndexBaseMonthData data = new IndexBaseMonthData();
-					data.setOrderType(e);
-					BigDecimal reduce = collect.get(e).stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add);
-					data.setPercent(reduce);data.setActivateNum(reduce);data.setTotalNum(reduce);
-					otherAmountDetails.add(data);
-				});
-			}
-			typeDateMap.put(OTHER_AMOUNT_DETAIL,otherAmountDetails);
 		}
 		}
 
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(MUSIC_GROUP_COURSE.getCode())||dataTypes.contains(VIP_GROUP_COURSE.getCode())
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(MUSIC_GROUP_COURSE.getCode())||dataTypes.contains(VIP_GROUP_COURSE.getCode())
@@ -292,6 +280,20 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			}
 			}
 			IndexBaseDto indexBaseData = new IndexBaseDto(typeDateMapEntry.getKey(),typeDateMapEntry.getKey().getMsg());
 			IndexBaseDto indexBaseData = new IndexBaseDto(typeDateMapEntry.getKey(),typeDateMapEntry.getKey().getMsg());
 			indexBaseData.setIndexMonthData(typeDateMapEntry.getValue(), currentMonth);
 			indexBaseData.setIndexMonthData(typeDateMapEntry.getValue(), currentMonth);
+			List<IndexBaseMonthData> indexMonthData = indexBaseData.getIndexMonthData();
+			List<IndexBaseMonthData> otherAmountDetails = new ArrayList<>();
+			if(indexMonthData != null && indexMonthData.size() > 0){
+				Map<String, List<IndexBaseMonthData>> collect = indexMonthData.stream().collect(Collectors.groupingBy(e -> e.getOrderType()));
+				collect.keySet().forEach(e->{
+					IndexBaseMonthData data = new IndexBaseMonthData();
+					data.setOrderType(e);
+					BigDecimal reduce = collect.get(e).stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add);
+					data.setPercent(reduce);data.setActivateNum(reduce);data.setTotalNum(reduce);
+					otherAmountDetails.add(data);
+				});
+			}
+			indexBaseData.setIndexMonthDataDetail(otherAmountDetails);
+			typeDateMap.put(OTHER_AMOUNT_DETAIL,otherAmountDetails);
 			if(FINANCE_PAY.equals(typeDateMapEntry.getKey()) || FINANCE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 			if(FINANCE_PAY.equals(typeDateMapEntry.getKey()) || FINANCE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 				FINANCE_BALANCE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 				FINANCE_BALANCE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 					TOTAL_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 					TOTAL_AMOUNT.equals(typeDateMapEntry.getKey()) ||