|
@@ -90,27 +90,24 @@ public class PaymentDataService {
|
|
|
*/
|
|
|
public RestResponse regionRank(PaymentDataRequest paymentDataRequest) {
|
|
|
List<RegionPaymentResponse> regionPaymentResponseList = new ArrayList<>();
|
|
|
- //从redis中获取收款数据
|
|
|
List<PaymentDataModel> paymentDataModelList = getPaymentDataListFromRedis(paymentDataRequest);
|
|
|
if (paymentDataModelList != null && paymentDataModelList.size() > 0) {
|
|
|
- //声明一个final类型变量来封装数据
|
|
|
- final List<RegionPaymentResponse> finalRegionPaymentResponseList = new ArrayList<>();
|
|
|
//区域名称对应付款数据
|
|
|
Map<String, List<PaymentDataModel>> regionNameToPaymentData = paymentDataModelList.stream()
|
|
|
- .collect(Collectors.groupingBy(a -> {
|
|
|
- if (StringUtils.isNotBlank(a.getRegionName())) {
|
|
|
- return a.getRegionName();
|
|
|
+ .collect(Collectors.groupingBy(paymentDataModel -> {
|
|
|
+ if (StringUtils.isNotBlank(paymentDataModel.getRegionName())) {
|
|
|
+ return paymentDataModel.getRegionName();
|
|
|
}
|
|
|
return "暂无名称";
|
|
|
}));
|
|
|
regionNameToPaymentData.forEach((key, value) -> {
|
|
|
RegionPaymentResponse regionPaymentResponse = new RegionPaymentResponse();
|
|
|
//计划收款总和
|
|
|
- double planMoney = paymentDataModelList.stream().mapToDouble(
|
|
|
+ double planMoney = value.stream().mapToDouble(
|
|
|
paymentDataModel -> DataStatisticsUtil.getDoubleValue(paymentDataModel.getPlanMoney())
|
|
|
).sum();
|
|
|
//实际收款总和
|
|
|
- double workMoney = paymentDataModelList.stream().mapToDouble(
|
|
|
+ double workMoney = value.stream().mapToDouble(
|
|
|
paymentDataModel -> DataStatisticsUtil.getDoubleValue(paymentDataModel.getWorkMoney())
|
|
|
).sum();
|
|
|
//超期未收总和
|
|
@@ -118,12 +115,12 @@ public class PaymentDataService {
|
|
|
regionPaymentResponse.setRegionName(key);
|
|
|
regionPaymentResponse.setPlanMoney(planMoney);
|
|
|
regionPaymentResponse.setBeyondMoney(beyondMoney);
|
|
|
- finalRegionPaymentResponseList.add(regionPaymentResponse);
|
|
|
+ regionPaymentResponseList.add(regionPaymentResponse);
|
|
|
});
|
|
|
//通过超期款排名,并取前5的数据
|
|
|
- regionPaymentResponseList = finalRegionPaymentResponseList.stream()
|
|
|
- .sorted(Comparator.comparing(RegionPaymentResponse::getBeyondMoney)).limit(5)
|
|
|
- .collect(Collectors.toList());
|
|
|
+// regionPaymentResponseList = finalRegionPaymentResponseList.stream()
|
|
|
+// .sorted(Comparator.comparing(RegionPaymentResponse::getBeyondMoney)).limit(5)
|
|
|
+// .collect(Collectors.toList());
|
|
|
}
|
|
|
return RestResponse.success(regionPaymentResponseList, ApiConstants.RESULT_SUCCESS, "获取统计数据成功");
|
|
|
}
|