Commit ce24187c authored by libin's avatar libin

会员与租车订单统计

parent d861e6f5
package com.xxfc.platform.order.entity; 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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; 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; ...@@ -6,6 +6,7 @@ import com.xxfc.platform.order.contant.enumerate.StatisticsStatusEnum;
import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics; import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics;
import com.xxfc.platform.order.mapper.OrderRentVehicleReceivedStatisticsMapper; import com.xxfc.platform.order.mapper.OrderRentVehicleReceivedStatisticsMapper;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO; 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.OrderDTO;
import com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO; import com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
...@@ -61,11 +62,19 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi ...@@ -61,11 +62,19 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
String orderKey = orderEntry.getKey(); String orderKey = orderEntry.getKey();
List<OrderDTO> orderDTOS = orderEntry.getValue(); List<OrderDTO> orderDTOS = orderEntry.getValue();
OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, orderKey, new OrderRentVehicleReceivedStatistics()); OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, orderKey, new OrderRentVehicleReceivedStatistics());
BigDecimal totalAmount = BigDecimal.ZERO;
BigDecimal refundAmount = BigDecimal.ZERO;
for (OrderDTO orderDTO : orderDTOS) { for (OrderDTO orderDTO : orderDTOS) {
List<OrderAccountDTO> orderAccountDTOS = orderAccountMap.get(orderDTO.getId()); 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); List<Integer> companyIds = vehicleFeign.findCompanyIdsByAreaId(null);
...@@ -83,17 +92,17 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi ...@@ -83,17 +92,17 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
* @return * @return
*/ */
private List<OrderRentVehicleReceivedStatistics> createOtherStatisticsStateGroupList(Date startDate, List<String> statisticsStateGroups, List<Integer> companyIds) { private List<OrderRentVehicleReceivedStatistics> createOtherStatisticsStateGroupList(Date startDate, List<String> statisticsStateGroups, List<Integer> companyIds) {
List<OrderRentVehicleReceivedStatistics> orderMemberReceivedStatisticsList = new ArrayList<>(); List<OrderRentVehicleReceivedStatistics> orderRentVehicleReceivedStatisticsList = new ArrayList<>();
OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics;
List<String> otherStatisticsStateGroup = StatisticsStatusEnum.getOtherStatisticsStateGroup(companyIds, statisticsStateGroups); List<String> otherStatisticsStateGroup = StatisticsStatusEnum.getOtherStatisticsStateGroup(companyIds, statisticsStateGroups);
for (String stateGroup : otherStatisticsStateGroup) { List<OrderRentVehicleReceivedStatistics> result = otherStatisticsStateGroup.parallelStream().map(stateGroup->{
orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, stateGroup, new OrderRentVehicleReceivedStatistics()); OrderRentVehicleReceivedStatistics orderRentVehicleReceivedStatistics = StatisticsStatusEnum.wrapStatisticsObject(startDate, stateGroup, new OrderRentVehicleReceivedStatistics());
orderRentVehicleReceivedStatistics.setRealAmount(BigDecimal.ZERO); orderRentVehicleReceivedStatistics.setRealAmount(BigDecimal.ZERO);
orderRentVehicleReceivedStatistics.setTotalAmount(BigDecimal.ZERO); orderRentVehicleReceivedStatistics.setTotalAmount(BigDecimal.ZERO);
orderRentVehicleReceivedStatistics.setTotalQuantity(0); orderRentVehicleReceivedStatistics.setTotalQuantity(0);
orderMemberReceivedStatisticsList.add(orderRentVehicleReceivedStatistics); return orderRentVehicleReceivedStatistics;
} }).collect(Collectors.toList());
return orderMemberReceivedStatisticsList; orderRentVehicleReceivedStatisticsList.addAll(result==null?Collections.EMPTY_LIST:result);
return orderRentVehicleReceivedStatisticsList;
} }
public void insertMemberReceivedStatisticsBatch(List<OrderRentVehicleReceivedStatistics> orderRentVehicleReceivedStatistics) { public void insertMemberReceivedStatisticsBatch(List<OrderRentVehicleReceivedStatistics> orderRentVehicleReceivedStatistics) {
mapper.insertList(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