Commit 22cbafc9 authored by hanfeng's avatar hanfeng

修改订单统计

parent 798d3544
......@@ -40,7 +40,7 @@ public class DailyOrderStatistics implements Serializable {
* 成交总金额
*/
@Column(name = "gmv")
private BigDecimal gmv;
private BigDecimal gmv=BigDecimal.ZERO;
/**
......
......@@ -18,10 +18,10 @@ public class DailyTravelOrderStatistics extends DailyOrderStatistics {
* 违约总额
*/
@Column(name = "default_money ")
private BigDecimal defaultMoney ;
private BigDecimal defaultMoney=BigDecimal.ZERO;
/**
* 退还订单金额
*/
@Column(name = "return_gmv")
private BigDecimal returnGmv;
private BigDecimal returnGmv=BigDecimal.ZERO;
}
......@@ -29,50 +29,44 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics {
* 预交押金总额
*/
@Column(name = "security_deposit")
private BigDecimal securityDeposit;
private BigDecimal securityDeposit=BigDecimal.ZERO;
/**
* 退还押金总额
*/
@Column(name = "refund_security_deposit")
private BigDecimal refundSecurityDeposit;
private BigDecimal refundSecurityDeposit=BigDecimal.ZERO;
/**
* 损坏赔偿总额
*/
@Column(name = "compensation")
private BigDecimal compensation;
private BigDecimal compensation=BigDecimal.ZERO;
/**
* 违章总额
*/
@Column(name = "forfeit")
private BigDecimal violationMoney;
private BigDecimal forfeit=BigDecimal.ZERO;
/**
* 退还订单金额
*/
@Column(name = "return_gmv")
private BigDecimal returnGmv;
private BigDecimal returnGmv=BigDecimal.ZERO;
/**
* 违约总额
*/
@Column(name = "default_money ")
private BigDecimal defaultMoney ;
// /**
// * 消费金总额
// */
// @Column(name = "total_expenditure")
// private BigDecimal totalExpenditure;
private BigDecimal defaultMoney=BigDecimal.ZERO;
/**
* 订单补偿
*/
@Column(name = "order_compensation")
private BigDecimal orderCompensation;
private BigDecimal orderCompensation=BigDecimal.ZERO;
}
......@@ -22,48 +22,48 @@ public class OrderStatistics {
* 历史交总金额
*/
@ApiModelProperty(value = "历史交易总金额")
private BigDecimal totalGmv;
private BigDecimal totalGmv=BigDecimal.ZERO;
/**
* 历史押金总额
*/
@ApiModelProperty(value = "历史押金总额")
private BigDecimal totalSecurityDeposit;
private BigDecimal totalSecurityDeposit=BigDecimal.ZERO;
/**
* 历史退还押金总额
*/
@ApiModelProperty(value = "历史退还押金总额")
private BigDecimal totalRefundSecurityDeposit;
private BigDecimal totalRefundSecurityDeposit=BigDecimal.ZERO;
/**
* 历史赔偿总额
*/
@ApiModelProperty(value = "历史赔偿总额")
private BigDecimal totalCompensation;
private BigDecimal totalCompensation=BigDecimal.ZERO;
/**
* 历史违章总额
*/
@ApiModelProperty(value = "历史违章总额")
private BigDecimal totalForfeit;
private BigDecimal totalForfeit=BigDecimal.ZERO;
/**
* 历史订单退款
*/
@ApiModelProperty(value = "历史订单退款")
private BigDecimal totalReturnGmv;
private BigDecimal totalReturnGmv=BigDecimal.ZERO;
/**
* 历史延期扣款总额
*/
@ApiModelProperty(value = "历史延期扣款总额")
private BigDecimal totalDefaultMoney;
private BigDecimal totalDefaultMoney=BigDecimal.ZERO;
/**
* 订单补偿总额
*/
@ApiModelProperty(value = "历史订单补偿总额")
private BigDecimal totalOrderCompensation;
private BigDecimal totalOrderCompensation=BigDecimal.ZERO;
}
......@@ -282,7 +282,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
orderStatistics.setRefundSecurityDeposit(refundSecurityDeposit);
List<OrderAccountDeduction> OrderAccountDeductions = gettDeductions(orderAccountDetail);
//获取违章总额
orderStatistics.setViolationMoney(get(OrderAccountDeductions, new ArrayList<Integer>() {{
orderStatistics.setForfeit(get(OrderAccountDeductions, new ArrayList<Integer>() {{
add(DeductionTypeEnum.VIOLATE_TRAFFIC_DEDUCT.getCode());
}}));
//获取损坏赔偿总额
......
......@@ -65,8 +65,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//今天之前的数据
OrderStatistics member = membersBiz.findAll(companyIds);
//当天的数据
DailyMembersOrderStatistics statistics = membersStatisticsBiz.statistics(new Term(OrderTypeEnum.MEMBER.getCode(), 0, 1, null, null, companyIds));
member.setTotalGmv(member.getTotalGmv().add(statistics.getGmv()));
OrderStatistics sameDayData = getMemberOrderDataOfTheDay(companyIds);
add(member,sameDayData);
if (member != null) {
HomePageOrderData data = new HomePageOrderData() {{
......@@ -77,6 +77,36 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new HomePageOrderData();
}
/**
* 获取会员订单当天数据
* @param companyIds
* @return
*/
public OrderStatistics getMemberOrderDataOfTheDay(List<Integer> companyIds) {
OrderStatistics member = new OrderStatistics();
DailyMembersOrderStatistics statistics = membersStatisticsBiz.statistics(new Term(OrderTypeEnum.MEMBER.getCode(), 0, 1, null, null, companyIds));
if (statistics==null) {
return new OrderStatistics();
}
//加入会员订单收入
member.setTotalGmv(member.getTotalGmv().add(statistics.getGmv()));
return member;
}
//加上当天数据
private void add(OrderStatistics original, OrderStatistics add){
original.setTotalGmv(original.getTotalGmv().add(add.getTotalGmv()));
original.setTotalReturnGmv(original.getTotalReturnGmv().add(add.getTotalReturnGmv()));
original.setTotalSecurityDeposit(original.getTotalSecurityDeposit().add(add.getTotalSecurityDeposit()));
original.setTotalRefundSecurityDeposit(original.getTotalRefundSecurityDeposit().add(add.getTotalRefundSecurityDeposit()));
original.setTotalDefaultMoney(original.getTotalDefaultMoney().add(add.getTotalDefaultMoney()));
original.setTotalOrderCompensation(original.getTotalOrderCompensation().add(add.getTotalOrderCompensation()));
original.setTotalCompensation(original.getTotalCompensation().add(add.getTotalCompensation()));
original.setTotalForfeit(original.getTotalForfeit().add(add.getTotalForfeit()));
}
/**
* 旅游数据
......@@ -86,11 +116,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public HomePageOrderData getTourHomePageOrderData(List<Integer> companyIds) {
//今天之前的数据
OrderStatistics tour = TravelBiz.findAll(companyIds);
//当天的数据
List<DailyTravelOrderStatistics> travelOrderStatistics = travelStatisticsBiz.getDailyTravelOrderStatistics(new Term(OrderTypeEnum.TOUR.getCode(), 0, 1, null, null, companyIds));
tour.setTotalGmv(tour.getTotalGmv().add(travelOrderStatistics.parallelStream().map(DailyOrderStatistics::getGmv).reduce(BigDecimal.ZERO,BigDecimal::add)));
tour.setTotalReturnGmv(tour.getTotalReturnGmv().add(travelOrderStatistics.parallelStream().map(DailyTravelOrderStatistics::getReturnGmv).reduce(BigDecimal.ZERO,BigDecimal::add)));
// tour.
OrderStatistics sameDayData = getTourOrderDataOfTheDay(companyIds);
add(tour,sameDayData);
if (tour != null) {
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv()));
......@@ -101,6 +128,28 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new HomePageOrderData();
}
/**
* 获取租车订单当天数据
* @param companyIds
* @return
*/
public OrderStatistics getTourOrderDataOfTheDay(List<Integer> companyIds) {
OrderStatistics tour = new OrderStatistics();
//当天数据
List<DailyTravelOrderStatistics> record = travelStatisticsBiz.getDailyTravelOrderStatistics(new Term(OrderTypeEnum.TOUR.getCode(), 0, 1, null, null, companyIds));
if (CollectionUtils.isEmpty(record)) {
return new OrderStatistics();
}
//加入当天旅游路线订单总和
tour.setTotalGmv(tour.getTotalGmv().add(record.parallelStream().map(DailyTravelOrderStatistics::getGmv).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入当天退还订单总和
tour.setTotalReturnGmv(tour.getTotalReturnGmv().add(record.parallelStream().map(DailyTravelOrderStatistics::getReturnGmv).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入当违约总和
tour.setTotalDefaultMoney(tour.getTotalDefaultMoney().add(record.parallelStream().map(DailyTravelOrderStatistics::getDefaultMoney).reduce(BigDecimal.ZERO,BigDecimal::add)));
return tour;
}
/**
* 车辆数据
* @param companyIds
......@@ -109,10 +158,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public HomePageOrderData getVehicleHomePageOrderData(List<Integer> companyIds) {
//今天之前的数据
OrderStatistics vehicle = vehicleBiz.findAll(companyIds);
//当天的数据
List<DailyVehicleOrderStatistics> vehicleOrderRecord = vehicleStatisticsBiz.getDailyVehicleOrderRecord(new Term(OrderTypeEnum.RENT_VEHICLE.getCode(),0,1,null,null,companyIds));
OrderStatistics sameDayData = getVehicleOrderDataOfTheDay(companyIds);
add(vehicle,sameDayData);
if (vehicle != null) {
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv()));
......@@ -129,6 +176,43 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new HomePageOrderData();
}
/**
* 获取车来个你当天数据
* @param companyIds
* @return
*/
public OrderStatistics getVehicleOrderDataOfTheDay(List<Integer> companyIds) {
OrderStatistics vehicle = new OrderStatistics();
//当天的数据
List<DailyVehicleOrderStatistics> record = vehicleStatisticsBiz.getDailyVehicleOrderRecord(new Term(OrderTypeEnum.RENT_VEHICLE.getCode(),0,1,null,null,companyIds));
if (CollectionUtils.isEmpty(record)) {
return new OrderStatistics();
}
//加入当天租车订单总和
vehicle.setTotalGmv(vehicle.getTotalGmv().add(record.parallelStream().map(DailyVehicleOrderStatistics::getGmv).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入当天退还订单总和
vehicle.setTotalReturnGmv(vehicle.getTotalReturnGmv().add(record.parallelStream().map(DailyVehicleOrderStatistics::getReturnGmv).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入当违约总和
vehicle.setTotalDefaultMoney(vehicle.getTotalDefaultMoney().add(record.parallelStream().map(DailyVehicleOrderStatistics::getDefaultMoney).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入当天押金总和
vehicle.setTotalSecurityDeposit(vehicle.getTotalSecurityDeposit().add(record.parallelStream().map(DailyVehicleOrderStatistics::getSecurityDeposit).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入退还押金总和
vehicle.setTotalRefundSecurityDeposit(vehicle.getTotalRefundSecurityDeposit().add(record.parallelStream().map(DailyVehicleOrderStatistics::getRefundSecurityDeposit).reduce(BigDecimal.ZERO,BigDecimal::add)));
//加入赔偿
vehicle.setTotalCompensation(vehicle.getTotalCompensation().add(record.parallelStream().map(DailyVehicleOrderStatistics::getCompensation).reduce(BigDecimal.ZERO, BigDecimal::add)));
//加入违章
vehicle.setTotalForfeit(vehicle.getTotalForfeit().add(record.parallelStream().map(DailyVehicleOrderStatistics::getForfeit).reduce(BigDecimal.ZERO,BigDecimal::add)));
//损坏赔偿
vehicle.setTotalOrderCompensation(vehicle.getTotalOrderCompensation().add(record.parallelStream().map(DailyVehicleOrderStatistics::getOrderCompensation).reduce(BigDecimal.ZERO,BigDecimal::add)));
return vehicle;
}
/**
* 会员统计列表
......
......@@ -63,7 +63,7 @@ public class ServiceTest {
@Test
public void handlerTeset() {
handler.execute("2019-08-16");
handler.execute("2019-09-29");
}
......
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