Commit ce24187c authored by libin's avatar libin

会员与租车订单统计

parent d861e6f5
package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 租车订单统计
......
......@@ -6,6 +6,7 @@ import com.xxfc.platform.order.contant.enumerate.StatisticsStatusEnum;
import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics;
import com.xxfc.platform.order.mapper.OrderRentVehicleReceivedStatisticsMapper;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import com.xxfc.platform.order.pojo.dto.OrderDTO;
import com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
......@@ -61,11 +62,19 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
String orderKey = orderEntry.getKey();
List<OrderDTO> orderDTOS = orderEntry.getValue();
OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, orderKey, new OrderRentVehicleReceivedStatistics());
BigDecimal totalAmount = BigDecimal.ZERO;
BigDecimal refundAmount = BigDecimal.ZERO;
for (OrderDTO orderDTO : orderDTOS) {
List<OrderAccountDTO> orderAccountDTOS = orderAccountMap.get(orderDTO.getId());
for (OrderAccountDTO orderAccountDTO : orderAccountDTOS) {
OrderAccountDetail accountDetailEntity = orderAccountDTO.getAccountDetailEntity();
totalAmount.add(accountDetailEntity.getOriginOrderAmount()).add(accountDetailEntity.getOriginDepositAmount());
refundAmount.add(accountDetailEntity.getOrderAmount()).add(accountDetailEntity.getDepositAmount());
}
}
orderRentVehicleReceivedStatistics.setTotalAmount(totalAmount);
orderRentVehicleReceivedStatistics.setRealAmount(totalAmount.subtract(refundAmount));
orderRentVehicleReceivedStatistics.setTotalQuantity(orderDTOS.size());
}
List<Integer> companyIds = vehicleFeign.findCompanyIdsByAreaId(null);
......@@ -83,17 +92,17 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
* @return
*/
private List<OrderRentVehicleReceivedStatistics> createOtherStatisticsStateGroupList(Date startDate, List<String> statisticsStateGroups, List<Integer> companyIds) {
List<OrderRentVehicleReceivedStatistics> orderMemberReceivedStatisticsList = new ArrayList<>();
OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics;
List<OrderRentVehicleReceivedStatistics> orderRentVehicleReceivedStatisticsList = new ArrayList<>();
List<String> otherStatisticsStateGroup = StatisticsStatusEnum.getOtherStatisticsStateGroup(companyIds, statisticsStateGroups);
for (String stateGroup : otherStatisticsStateGroup) {
orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, stateGroup, new OrderRentVehicleReceivedStatistics());
List<OrderRentVehicleReceivedStatistics> result = otherStatisticsStateGroup.parallelStream().map(stateGroup->{
OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, stateGroup, new OrderRentVehicleReceivedStatistics());
orderRentVehicleReceivedStatistics.setRealAmount(BigDecimal.ZERO);
orderRentVehicleReceivedStatistics.setTotalAmount(BigDecimal.ZERO);
orderRentVehicleReceivedStatistics.setTotalQuantity(0);
orderMemberReceivedStatisticsList.add(orderRentVehicleReceivedStatistics);
}
return orderMemberReceivedStatisticsList;
return orderRentVehicleReceivedStatistics;
}).collect(Collectors.toList());
orderRentVehicleReceivedStatisticsList.addAll(result==null?Collections.EMPTY_LIST:result);
return orderRentVehicleReceivedStatisticsList;
}
public void insertMemberReceivedStatisticsBatch(List<OrderRentVehicleReceivedStatistics> orderRentVehicleReceivedStatistics) {
mapper.insertList(orderRentVehicleReceivedStatistics);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment