|
@@ -245,7 +245,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
|
|
|
|
|
|
|
|
|
|
for (Map.Entry<IndexDataType, List<IndexBaseMonthData>> typeDateMapEntry : typeDateMap.entrySet()) {
|
|
for (Map.Entry<IndexDataType, List<IndexBaseMonthData>> typeDateMapEntry : typeDateMap.entrySet()) {
|
|
- Set<String> hasMonths = typeDateMapEntry.getValue().stream().map(d -> DateUtil.dateToString(d.getMonth(), "yyyy-MM-dd")).collect(Collectors.toSet());
|
|
|
|
|
|
+ List<IndexBaseMonthData> value = typeDateMapEntry.getValue();
|
|
|
|
+ Set<String> hasMonths = value.stream().map(d -> DateUtil.dateToString(d.getMonth(), "yyyy-MM-dd")).collect(Collectors.toSet());
|
|
LocalDate currentMonthDate = startDate;
|
|
LocalDate currentMonthDate = startDate;
|
|
while (currentMonthDate.compareTo(endDate)<=0){
|
|
while (currentMonthDate.compareTo(endDate)<=0){
|
|
if((IndexDataType.HOMEWORK_CREATE_RATE.equals(typeDateMapEntry.getKey())
|
|
if((IndexDataType.HOMEWORK_CREATE_RATE.equals(typeDateMapEntry.getKey())
|
|
@@ -265,12 +266,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
|
|
indexBaseMonthData.setActivateNum(BigDecimal.ZERO);
|
|
indexBaseMonthData.setActivateNum(BigDecimal.ZERO);
|
|
indexBaseMonthData.setPercent(BigDecimal.ZERO);
|
|
indexBaseMonthData.setPercent(BigDecimal.ZERO);
|
|
indexBaseMonthData.setDataType(typeDateMapEntry.getKey());
|
|
indexBaseMonthData.setDataType(typeDateMapEntry.getKey());
|
|
- typeDateMapEntry.getValue().add(indexBaseMonthData);
|
|
|
|
|
|
+ value.add(indexBaseMonthData);
|
|
currentMonthDate = currentMonthDate.plusDays(1);
|
|
currentMonthDate = currentMonthDate.plusDays(1);
|
|
}
|
|
}
|
|
- typeDateMapEntry.getValue().sort(Comparator.comparing(IndexBaseMonthData::getMonth));
|
|
|
|
|
|
+ value.sort(Comparator.comparing(IndexBaseMonthData::getMonth));
|
|
if(typeDateMapEntry.getKey().getPercent()){
|
|
if(typeDateMapEntry.getKey().getPercent()){
|
|
- for (IndexBaseMonthData indexBaseMonthData : typeDateMapEntry.getValue()) {
|
|
|
|
|
|
+ for (IndexBaseMonthData indexBaseMonthData : value) {
|
|
if(indexBaseMonthData.getTotalNum().compareTo(BigDecimal.ZERO)==0){
|
|
if(indexBaseMonthData.getTotalNum().compareTo(BigDecimal.ZERO)==0){
|
|
indexBaseMonthData.setPercent(BigDecimal.ZERO);
|
|
indexBaseMonthData.setPercent(BigDecimal.ZERO);
|
|
continue;
|
|
continue;
|
|
@@ -279,12 +280,11 @@ 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(value, currentMonth);
|
|
if(OTHER_AMOUNT.equals(typeDateMapEntry.getKey())){
|
|
if(OTHER_AMOUNT.equals(typeDateMapEntry.getKey())){
|
|
- List<IndexBaseMonthData> indexMonthData = indexBaseData.getIndexMonthData();
|
|
|
|
List<IndexBaseMonthData> otherAmountDetails = new ArrayList<>();
|
|
List<IndexBaseMonthData> otherAmountDetails = new ArrayList<>();
|
|
- if(indexMonthData != null && indexMonthData.size() > 0){
|
|
|
|
- Map<String, List<IndexBaseMonthData>> collect = indexMonthData.stream().collect(Collectors.groupingBy(e -> e.getOrderType()));
|
|
|
|
|
|
+ if(value != null && value.size() > 0){
|
|
|
|
+ Map<String, List<IndexBaseMonthData>> collect = value.stream().filter(c->StringUtils.isNotEmpty(c.getOrderType())).collect(Collectors.groupingBy(e -> e.getOrderType()));
|
|
collect.keySet().forEach(e->{
|
|
collect.keySet().forEach(e->{
|
|
IndexBaseMonthData data = new IndexBaseMonthData();
|
|
IndexBaseMonthData data = new IndexBaseMonthData();
|
|
data.setOrderType(e);
|
|
data.setOrderType(e);
|
|
@@ -303,7 +303,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
|
|
VIP_AMOUNT.equals(typeDateMapEntry.getKey()) ||
|
|
VIP_AMOUNT.equals(typeDateMapEntry.getKey()) ||
|
|
PRACTICE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
|
|
PRACTICE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
|
|
OTHER_AMOUNT.equals(typeDateMapEntry.getKey())){
|
|
OTHER_AMOUNT.equals(typeDateMapEntry.getKey())){
|
|
- indexBaseData.setPercent(typeDateMapEntry.getValue().stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
|
|
+ indexBaseData.setPercent(value.stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
}
|
|
}
|
|
if(IndexDataType.VIP_GROUP_COURSE.equals(typeDateMapEntry.getKey()) || VIP_GROUP_ONLINE_COURSE.equals(typeDateMapEntry.getKey()) ||
|
|
if(IndexDataType.VIP_GROUP_COURSE.equals(typeDateMapEntry.getKey()) || VIP_GROUP_ONLINE_COURSE.equals(typeDateMapEntry.getKey()) ||
|
|
IndexDataType.VIP_GROUP_OFFLINE_COURSE.equals(typeDateMapEntry.getKey())){
|
|
IndexDataType.VIP_GROUP_OFFLINE_COURSE.equals(typeDateMapEntry.getKey())){
|