Commit 22cbafc9 authored by hanfeng's avatar hanfeng

修改订单统计

parent 798d3544
...@@ -40,7 +40,7 @@ public class DailyOrderStatistics implements Serializable { ...@@ -40,7 +40,7 @@ public class DailyOrderStatistics implements Serializable {
* 成交总金额 * 成交总金额
*/ */
@Column(name = "gmv") @Column(name = "gmv")
private BigDecimal gmv; private BigDecimal gmv=BigDecimal.ZERO;
/** /**
......
...@@ -18,10 +18,10 @@ public class DailyTravelOrderStatistics extends DailyOrderStatistics { ...@@ -18,10 +18,10 @@ public class DailyTravelOrderStatistics extends DailyOrderStatistics {
* 违约总额 * 违约总额
*/ */
@Column(name = "default_money ") @Column(name = "default_money ")
private BigDecimal defaultMoney ; private BigDecimal defaultMoney=BigDecimal.ZERO;
/** /**
* 退还订单金额 * 退还订单金额
*/ */
@Column(name = "return_gmv") @Column(name = "return_gmv")
private BigDecimal returnGmv; private BigDecimal returnGmv=BigDecimal.ZERO;
} }
...@@ -29,50 +29,44 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics { ...@@ -29,50 +29,44 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics {
* 预交押金总额 * 预交押金总额
*/ */
@Column(name = "security_deposit") @Column(name = "security_deposit")
private BigDecimal securityDeposit; private BigDecimal securityDeposit=BigDecimal.ZERO;
/** /**
* 退还押金总额 * 退还押金总额
*/ */
@Column(name = "refund_security_deposit") @Column(name = "refund_security_deposit")
private BigDecimal refundSecurityDeposit; private BigDecimal refundSecurityDeposit=BigDecimal.ZERO;
/** /**
* 损坏赔偿总额 * 损坏赔偿总额
*/ */
@Column(name = "compensation") @Column(name = "compensation")
private BigDecimal compensation; private BigDecimal compensation=BigDecimal.ZERO;
/** /**
* 违章总额 * 违章总额
*/ */
@Column(name = "forfeit") @Column(name = "forfeit")
private BigDecimal violationMoney; private BigDecimal forfeit=BigDecimal.ZERO;
/** /**
* 退还订单金额 * 退还订单金额
*/ */
@Column(name = "return_gmv") @Column(name = "return_gmv")
private BigDecimal returnGmv; private BigDecimal returnGmv=BigDecimal.ZERO;
/** /**
* 违约总额 * 违约总额
*/ */
@Column(name = "default_money ") @Column(name = "default_money ")
private BigDecimal defaultMoney ; private BigDecimal defaultMoney=BigDecimal.ZERO;
// /**
// * 消费金总额
// */
// @Column(name = "total_expenditure")
// private BigDecimal totalExpenditure;
/** /**
* 订单补偿 * 订单补偿
*/ */
@Column(name = "order_compensation") @Column(name = "order_compensation")
private BigDecimal orderCompensation; private BigDecimal orderCompensation=BigDecimal.ZERO;
} }
...@@ -22,48 +22,48 @@ public class OrderStatistics { ...@@ -22,48 +22,48 @@ public class OrderStatistics {
* 历史交总金额 * 历史交总金额
*/ */
@ApiModelProperty(value = "历史交易总金额") @ApiModelProperty(value = "历史交易总金额")
private BigDecimal totalGmv; private BigDecimal totalGmv=BigDecimal.ZERO;
/** /**
* 历史押金总额 * 历史押金总额
*/ */
@ApiModelProperty(value = "历史押金总额") @ApiModelProperty(value = "历史押金总额")
private BigDecimal totalSecurityDeposit; private BigDecimal totalSecurityDeposit=BigDecimal.ZERO;
/** /**
* 历史退还押金总额 * 历史退还押金总额
*/ */
@ApiModelProperty(value = "历史退还押金总额") @ApiModelProperty(value = "历史退还押金总额")
private BigDecimal totalRefundSecurityDeposit; private BigDecimal totalRefundSecurityDeposit=BigDecimal.ZERO;
/** /**
* 历史赔偿总额 * 历史赔偿总额
*/ */
@ApiModelProperty(value = "历史赔偿总额") @ApiModelProperty(value = "历史赔偿总额")
private BigDecimal totalCompensation; private BigDecimal totalCompensation=BigDecimal.ZERO;
/** /**
* 历史违章总额 * 历史违章总额
*/ */
@ApiModelProperty(value = "历史违章总额") @ApiModelProperty(value = "历史违章总额")
private BigDecimal totalForfeit; private BigDecimal totalForfeit=BigDecimal.ZERO;
/** /**
* 历史订单退款 * 历史订单退款
*/ */
@ApiModelProperty(value = "历史订单退款") @ApiModelProperty(value = "历史订单退款")
private BigDecimal totalReturnGmv; private BigDecimal totalReturnGmv=BigDecimal.ZERO;
/** /**
* 历史延期扣款总额 * 历史延期扣款总额
*/ */
@ApiModelProperty(value = "历史延期扣款总额") @ApiModelProperty(value = "历史延期扣款总额")
private BigDecimal totalDefaultMoney; private BigDecimal totalDefaultMoney=BigDecimal.ZERO;
/** /**
* 订单补偿总额 * 订单补偿总额
*/ */
@ApiModelProperty(value = "历史订单补偿总额") @ApiModelProperty(value = "历史订单补偿总额")
private BigDecimal totalOrderCompensation; private BigDecimal totalOrderCompensation=BigDecimal.ZERO;
} }
...@@ -282,7 +282,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -282,7 +282,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
orderStatistics.setRefundSecurityDeposit(refundSecurityDeposit); orderStatistics.setRefundSecurityDeposit(refundSecurityDeposit);
List<OrderAccountDeduction> OrderAccountDeductions = gettDeductions(orderAccountDetail); 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()); add(DeductionTypeEnum.VIOLATE_TRAFFIC_DEDUCT.getCode());
}})); }}));
//获取损坏赔偿总额 //获取损坏赔偿总额
......
...@@ -65,8 +65,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -65,8 +65,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//今天之前的数据 //今天之前的数据
OrderStatistics member = membersBiz.findAll(companyIds); OrderStatistics member = membersBiz.findAll(companyIds);
//当天的数据 //当天的数据
DailyMembersOrderStatistics statistics = membersStatisticsBiz.statistics(new Term(OrderTypeEnum.MEMBER.getCode(), 0, 1, null, null, companyIds)); OrderStatistics sameDayData = getMemberOrderDataOfTheDay(companyIds);
member.setTotalGmv(member.getTotalGmv().add(statistics.getGmv())); add(member,sameDayData);
if (member != null) { if (member != null) {
HomePageOrderData data = new HomePageOrderData() {{ HomePageOrderData data = new HomePageOrderData() {{
...@@ -77,6 +77,36 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -77,6 +77,36 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new HomePageOrderData(); 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 ...@@ -86,11 +116,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public HomePageOrderData getTourHomePageOrderData(List<Integer> companyIds) { public HomePageOrderData getTourHomePageOrderData(List<Integer> companyIds) {
//今天之前的数据 //今天之前的数据
OrderStatistics tour = TravelBiz.findAll(companyIds); OrderStatistics tour = TravelBiz.findAll(companyIds);
//当天的数据 OrderStatistics sameDayData = getTourOrderDataOfTheDay(companyIds);
List<DailyTravelOrderStatistics> travelOrderStatistics = travelStatisticsBiz.getDailyTravelOrderStatistics(new Term(OrderTypeEnum.TOUR.getCode(), 0, 1, null, null, companyIds)); add(tour,sameDayData);
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.
if (tour != null) { if (tour != null) {
HomePageOrderData data = new HomePageOrderData() {{ HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv())); setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv()));
...@@ -101,6 +128,28 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -101,6 +128,28 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new HomePageOrderData(); 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 * @param companyIds
...@@ -109,10 +158,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -109,10 +158,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public HomePageOrderData getVehicleHomePageOrderData(List<Integer> companyIds) { public HomePageOrderData getVehicleHomePageOrderData(List<Integer> companyIds) {
//今天之前的数据 //今天之前的数据
OrderStatistics vehicle = vehicleBiz.findAll(companyIds); OrderStatistics vehicle = vehicleBiz.findAll(companyIds);
//当天的数据 OrderStatistics sameDayData = getVehicleOrderDataOfTheDay(companyIds);
List<DailyVehicleOrderStatistics> vehicleOrderRecord = vehicleStatisticsBiz.getDailyVehicleOrderRecord(new Term(OrderTypeEnum.RENT_VEHICLE.getCode(),0,1,null,null,companyIds)); add(vehicle,sameDayData);
if (vehicle != null) { if (vehicle != null) {
HomePageOrderData data = new HomePageOrderData() {{ HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv())); setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv()));
...@@ -129,6 +176,43 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -129,6 +176,43 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new HomePageOrderData(); 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 { ...@@ -63,7 +63,7 @@ public class ServiceTest {
@Test @Test
public void handlerTeset() { 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