Commit 17e81367 authored by hanfeng's avatar hanfeng

修改订单统计

parent 22cbafc9
...@@ -66,4 +66,18 @@ public class OrderStatistics { ...@@ -66,4 +66,18 @@ public class OrderStatistics {
*/ */
@ApiModelProperty(value = "历史订单补偿总额") @ApiModelProperty(value = "历史订单补偿总额")
private BigDecimal totalOrderCompensation=BigDecimal.ZERO; private BigDecimal totalOrderCompensation=BigDecimal.ZERO;
@Override
public String toString() {
return "OrderStatistics{" +
"totalGmv=" + totalGmv +
", totalSecurityDeposit=" + totalSecurityDeposit +
", totalRefundSecurityDeposit=" + totalRefundSecurityDeposit +
", totalCompensation=" + totalCompensation +
", totalForfeit=" + totalForfeit +
", totalReturnGmv=" + totalReturnGmv +
", totalDefaultMoney=" + totalDefaultMoney +
", totalOrderCompensation=" + totalOrderCompensation +
'}';
}
} }
...@@ -2,17 +2,134 @@ package com.xxfc.platform.order.pojo.account; ...@@ -2,17 +2,134 @@ package com.xxfc.platform.order.pojo.account;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxfc.platform.order.entity.OrderAccount; import com.xxfc.platform.order.entity.OrderAccount;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author Administrator
*/
@Data @Data
public class OrderAccountDTO extends OrderAccount { public class OrderAccountDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键")
private Integer id;
/**
* 订单id
*/
@Column(name = "order_id")
@ApiModelProperty(value = "订单id")
private Integer orderId;
/**
* 账款对应的流水号
*/
@Column(name = "trade_no")
@ApiModelProperty(value = "账款对应的流水号")
private String tradeNo;
/**
* 记账时间
*/
@Column(name = "account_time")
@ApiModelProperty(value = "记账时间")
private Long accountTime;
/**
* 记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款
*/
@Column(name = "account_type")
@ApiModelProperty(value = "记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款")
private Integer accountType;
/**
* 账款状态 1--成功;2--失败
*/
@Column(name = "account_status")
@ApiModelProperty(value = "账款状态 1--成功;2--失败")
private Integer accountStatus;
/**
* 账款金额
*/
@Column(name = "account_amount")
@ApiModelProperty(value = "账款金额")
private BigDecimal accountAmount;
/**
* 账款说明
*/
@Column(name = "account_desc")
@ApiModelProperty(value = "账款说明")
private String accountDesc;
/**
* 账款详情
*/
@Column(name = "account_detail")
@ApiModelProperty(value = "账款详情")
private String accountDetail;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 原金额
*/
@Column(name = "original_amount")
@ApiModelProperty(value = "原金额")
private BigDecimal originalAmount;
/**
* 扣除金额
*/
@Column(name = "deduct_amount")
@ApiModelProperty(value = "扣除金额")
private BigDecimal deductAmount;
@Column(name = "companyId") @Column(name = "companyId")
private Integer companyId; private Integer companyId;
@Column(name = "oneDay") @Column(name = "oneDay")
private String oneDay; private String oneDay;
@Override
public String toString() {
final StringBuffer sb = new StringBuffer("OrderAccountDTO{");
sb.append("id=").append(id);
sb.append(", orderId=").append(orderId);
sb.append(", tradeNo='").append(tradeNo).append('\'');
sb.append(", accountTime=").append(accountTime);
sb.append(", accountType=").append(accountType);
sb.append(", accountStatus=").append(accountStatus);
sb.append(", accountAmount=").append(accountAmount);
sb.append(", accountDesc='").append(accountDesc).append('\'');
sb.append(", accountDetail='").append(accountDetail).append('\'');
sb.append(", crtTime=").append(crtTime);
sb.append(", originalAmount=").append(originalAmount);
sb.append(", deductAmount=").append(deductAmount);
sb.append(", companyId=").append(companyId);
sb.append(", oneDay='").append(oneDay).append('\'');
sb.append('}');
return sb.toString();
}
} }
...@@ -81,9 +81,12 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta ...@@ -81,9 +81,12 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
public DailyMembersOrderStatistics statistics(Term term) { public DailyMembersOrderStatistics statistics(Term term) {
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(term); List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(term);
log.error("Members:accountList:"+accountList);
if (CollectionUtils.isNotEmpty(accountList)) { if (CollectionUtils.isNotEmpty(accountList)) {
DailyMembersOrderStatistics orderStatistics = new DailyMembersOrderStatistics(); DailyMembersOrderStatistics orderStatistics = new DailyMembersOrderStatistics();
ArrayList<OrderAccountDetail> orderAccountDetails = getOrderAccountDetail(accountList); ArrayList<OrderAccountDetail> orderAccountDetails = getOrderAccountDetail(accountList);
if (CollectionUtils.isNotEmpty(orderAccountDetails)) { if (CollectionUtils.isNotEmpty(orderAccountDetails)) {
//获取订单总额 //获取订单总额
BigDecimal gmv = getOrderAmountTotal(orderAccountDetails); BigDecimal gmv = getOrderAmountTotal(orderAccountDetails);
...@@ -135,7 +138,7 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta ...@@ -135,7 +138,7 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) { private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) {
ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList(); ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList();
orderAccountDTOS.parallelStream() orderAccountDTOS.parallelStream()
.map(OrderAccount::getAccountDetail) .map(OrderAccountDTO::getAccountDetail)
.forEach(detail -> { .forEach(detail -> {
if (StringUtils.isNotBlank(detail)) { if (StringUtils.isNotBlank(detail)) {
arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class)); arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class));
......
...@@ -101,6 +101,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati ...@@ -101,6 +101,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
public List<DailyTravelOrderStatistics> getDailyTravelOrderStatistics(Term term) { public List<DailyTravelOrderStatistics> getDailyTravelOrderStatistics(Term term) {
//获取当天所有订单账目 //获取当天所有订单账目
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(term); List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(term);
log.error("accountList:"+accountList);
if (CollectionUtils.isEmpty(accountList)) { if (CollectionUtils.isEmpty(accountList)) {
return null; return null;
} }
...@@ -220,8 +221,8 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati ...@@ -220,8 +221,8 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
*/ */
private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) { private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) {
ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList(); ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList();
orderAccountDTOS.parallelStream() orderAccountDTOS.stream()
.map(OrderAccount::getAccountDetail) .map(OrderAccountDTO::getAccountDetail)
.forEach(detail -> { .forEach(detail -> {
if (StringUtils.isNotBlank(detail)) { if (StringUtils.isNotBlank(detail)) {
arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class)); arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class));
...@@ -252,7 +253,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati ...@@ -252,7 +253,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
*/ */
private List<OrderAccountDeduction> gettDeductions(ArrayList<OrderAccountDetail> orderAccountDetails) { private List<OrderAccountDeduction> gettDeductions(ArrayList<OrderAccountDetail> orderAccountDetails) {
ArrayList<OrderAccountDeduction> arrayList = Lists.newArrayList(); ArrayList<OrderAccountDeduction> arrayList = Lists.newArrayList();
orderAccountDetails.parallelStream().map(OrderAccountDetail::getDeductions).forEach(e->arrayList.addAll(e)); orderAccountDetails.stream().map(OrderAccountDetail::getDeductions).forEach(e->arrayList.addAll(e));
return arrayList; return arrayList;
} }
......
...@@ -67,6 +67,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -67,6 +67,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
* @return * @return
*/ */
private BigDecimal get(List<OrderAccountDeduction> list, List<Integer> types) { private BigDecimal get(List<OrderAccountDeduction> list, List<Integer> types) {
return list.parallelStream() return list.parallelStream()
.filter(el -> types.contains(el.getType())) .filter(el -> types.contains(el.getType()))
.map(OrderAccountDeduction::getAmount) .map(OrderAccountDeduction::getAmount)
...@@ -150,6 +151,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -150,6 +151,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
public List<DailyVehicleOrderStatistics> getDailyVehicleOrderRecord(Term term) { public List<DailyVehicleOrderStatistics> getDailyVehicleOrderRecord(Term term) {
//获取当天所有订单账目 //获取当天所有订单账目
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(term); List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(term);
log.error("record:"+accountList);
if (CollectionUtils.isEmpty(accountList)) { if (CollectionUtils.isEmpty(accountList)) {
return null; return null;
} }
...@@ -267,13 +269,21 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -267,13 +269,21 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
private void refundAndDeductions(Map<Integer, List<OrderAccountDTO>> map, DailyVehicleOrderStatistics orderStatistics) { private void refundAndDeductions(Map<Integer, List<OrderAccountDTO>> map, DailyVehicleOrderStatistics orderStatistics) {
ArrayList<OrderAccountDTO> arrayList = Lists.newArrayList(); ArrayList<OrderAccountDTO> arrayList = Lists.newArrayList();
for (Integer key : map.keySet()) { for (Integer key : map.keySet()) {
if (!key.equals(AccountTypeEnum.IN_ORDER_PAY.getCode())) { if (!key.equals(AccountTypeEnum.IN_ORDER_PAY.getCode())) {
List<OrderAccountDTO> orderAccountDTOS = map.get(key);
log.error(orderAccountDTOS.toString());
arrayList.addAll(map.get(key)); arrayList.addAll(map.get(key));
} }
} }
if (CollectionUtils.isNotEmpty(arrayList)) { if (CollectionUtils.isNotEmpty(arrayList)) {
ArrayList<OrderAccountDetail> orderAccountDetail = getOrderAccountDetail(arrayList); ArrayList<OrderAccountDetail> orderAccountDetail = getOrderAccountDetail(arrayList);
if (CollectionUtils.isNotEmpty(orderAccountDetail)) { if (CollectionUtils.isNotEmpty(orderAccountDetail)) {
log.error( "orderAccountDetail"+orderAccountDetail);
//获取退还订总额 //获取退还订总额
BigDecimal returnGmv = getOrderAmountTotal(orderAccountDetail); BigDecimal returnGmv = getOrderAmountTotal(orderAccountDetail);
orderStatistics.setReturnGmv(returnGmv); orderStatistics.setReturnGmv(returnGmv);
...@@ -318,6 +328,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -318,6 +328,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
if (CollectionUtils.isNotEmpty(orderAccountDTOS)) { if (CollectionUtils.isNotEmpty(orderAccountDTOS)) {
ArrayList<OrderAccountDetail> orderAccountDetails = getOrderAccountDetail(orderAccountDTOS); ArrayList<OrderAccountDetail> orderAccountDetails = getOrderAccountDetail(orderAccountDTOS);
if (CollectionUtils.isNotEmpty(orderAccountDetails)) { if (CollectionUtils.isNotEmpty(orderAccountDetails)) {
System.out.println(orderAccountDetails);
//获取订单总额 //获取订单总额
BigDecimal gmv = getOrderAmountTotal(orderAccountDetails); BigDecimal gmv = getOrderAmountTotal(orderAccountDetails);
orderStatistics.setGmv(gmv); orderStatistics.setGmv(gmv);
...@@ -350,9 +361,10 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -350,9 +361,10 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
* @return * @return
*/ */
private BigDecimal getOrderAmountTotal(ArrayList<OrderAccountDetail> orderAccountDetails) { private BigDecimal getOrderAmountTotal(ArrayList<OrderAccountDetail> orderAccountDetails) {
return orderAccountDetails.stream() BigDecimal reduce = orderAccountDetails.stream()
.map(OrderAccountDetail::getOrderAmount) .map(OrderAccountDetail::getOrderAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add); .reduce(BigDecimal.ZERO, BigDecimal::add);
return reduce;
} }
/** /**
...@@ -363,7 +375,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -363,7 +375,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
*/ */
private List<OrderAccountDeduction> gettDeductions(ArrayList<OrderAccountDetail> orderAccountDetails) { private List<OrderAccountDeduction> gettDeductions(ArrayList<OrderAccountDetail> orderAccountDetails) {
ArrayList<OrderAccountDeduction> arrayList = Lists.newArrayList(); ArrayList<OrderAccountDeduction> arrayList = Lists.newArrayList();
orderAccountDetails.parallelStream().map(OrderAccountDetail::getDeductions).forEach(e -> arrayList.addAll(e)); orderAccountDetails.stream().map(OrderAccountDetail::getDeductions).forEach(e -> arrayList.addAll(e));
return arrayList; return arrayList;
} }
...@@ -375,8 +387,8 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta ...@@ -375,8 +387,8 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
*/ */
private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) { private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) {
ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList(); ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList();
orderAccountDTOS.parallelStream() orderAccountDTOS.stream()
.map(OrderAccount::getAccountDetail) .map(OrderAccountDTO::getAccountDetail)
.forEach(detail -> { .forEach(detail -> {
if (StringUtils.isNotBlank(detail)) { if (StringUtils.isNotBlank(detail)) {
arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class)); arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class));
......
...@@ -12,6 +12,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; ...@@ -12,6 +12,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mapper.OrderStatisticsMapper; import com.xxfc.platform.order.mapper.OrderStatisticsMapper;
import com.xxfc.platform.order.pojo.*; import com.xxfc.platform.order.pojo.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.aspectj.weaver.ast.Var; import org.aspectj.weaver.ast.Var;
...@@ -29,6 +30,7 @@ import java.util.stream.Collectors; ...@@ -29,6 +30,7 @@ import java.util.stream.Collectors;
* @author Administrator * @author Administrator
*/ */
@Service @Service
@Slf4j
public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStatistics> { public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStatistics> {
@Autowired @Autowired
private DailyVehicleOrderStatisticsBiz vehicleBiz; private DailyVehicleOrderStatisticsBiz vehicleBiz;
...@@ -47,7 +49,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -47,7 +49,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public HomePageOrderData getTotalOrder(List<Integer> companyIds) { public HomePageOrderData getTotalOrder(List<Integer> companyIds) {
HomePageOrderData result = new HomePageOrderData(); HomePageOrderData result = new HomePageOrderData();
ArrayList<HomePageOrderData> list = new ArrayList<>(); ArrayList<HomePageOrderData> list = new ArrayList<>();
list.add(getVehicleHomePageOrderData(companyIds)) ; list.add(getVehicleHomePageOrderData(companyIds));
list.add(getTourHomePageOrderData(companyIds)); list.add(getTourHomePageOrderData(companyIds));
list.add(getMemberHomePageOrderData(companyIds)); list.add(getMemberHomePageOrderData(companyIds));
result.setTotalOrders(list.stream().map(HomePageOrderData::getTotalOrders).reduce(BigDecimal.ZERO, BigDecimal::add)); result.setTotalOrders(list.stream().map(HomePageOrderData::getTotalOrders).reduce(BigDecimal.ZERO, BigDecimal::add));
...@@ -58,34 +60,41 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -58,34 +60,41 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
/** /**
* 会员数据 * 会员数据
*
* @param companyIds * @param companyIds
* @return * @return
*/ */
public HomePageOrderData getMemberHomePageOrderData(List<Integer> companyIds ) { public HomePageOrderData getMemberHomePageOrderData(List<Integer> companyIds) {
//今天之前的数据 //今天之前的数据
OrderStatistics member = membersBiz.findAll(companyIds); OrderStatistics member = membersBiz.findAll(companyIds);
log.error("member:"+member);
//当天的数据 //当天的数据
OrderStatistics sameDayData = getMemberOrderDataOfTheDay(companyIds); OrderStatistics sameDayData = getMemberOrderDataOfTheDay(companyIds);
add(member,sameDayData); log.error("member:sameDayData:"+sameDayData);
if (member != null) { if (member == null) {
HomePageOrderData data = new HomePageOrderData() {{ member = new OrderStatistics();
setTotalOrders(member.getTotalGmv());
}};
return data;
} }
return new HomePageOrderData();
add(member, sameDayData);
OrderStatistics finalMember = member;
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(finalMember.getTotalGmv());
}};
return data;
} }
/** /**
* 获取会员订单当天数据 * 获取会员订单当天数据
*
* @param companyIds * @param companyIds
* @return * @return
*/ */
public OrderStatistics getMemberOrderDataOfTheDay(List<Integer> companyIds) { public OrderStatistics getMemberOrderDataOfTheDay(List<Integer> companyIds) {
OrderStatistics member = new OrderStatistics(); OrderStatistics member = new OrderStatistics();
DailyMembersOrderStatistics statistics = membersStatisticsBiz.statistics(new Term(OrderTypeEnum.MEMBER.getCode(), 0, 1, null, null, companyIds)); DailyMembersOrderStatistics statistics = membersStatisticsBiz.statistics(new Term(OrderTypeEnum.MEMBER.getCode(), 0, 1, null, null, companyIds));
if (statistics==null) { if (statistics == null) {
return new OrderStatistics(); return new OrderStatistics();
} }
...@@ -96,7 +105,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -96,7 +105,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//加上当天数据 //加上当天数据
private void add(OrderStatistics original, OrderStatistics add){ private void add(OrderStatistics original, OrderStatistics add) {
original.setTotalGmv(original.getTotalGmv().add(add.getTotalGmv())); original.setTotalGmv(original.getTotalGmv().add(add.getTotalGmv()));
original.setTotalReturnGmv(original.getTotalReturnGmv().add(add.getTotalReturnGmv())); original.setTotalReturnGmv(original.getTotalReturnGmv().add(add.getTotalReturnGmv()));
original.setTotalSecurityDeposit(original.getTotalSecurityDeposit().add(add.getTotalSecurityDeposit())); original.setTotalSecurityDeposit(original.getTotalSecurityDeposit().add(add.getTotalSecurityDeposit()));
...@@ -110,26 +119,31 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -110,26 +119,31 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
/** /**
* 旅游数据 * 旅游数据
*
* @param companyIds * @param companyIds
* @return * @return
*/ */
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); log.error("tour:"+tour);
add(tour,sameDayData); if (tour == null) {
if (tour != null) { tour = new OrderStatistics();
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv()));
setAdditionalIndemnity(tour.getTotalDefaultMoney());
}};
return data;
} }
return new HomePageOrderData(); OrderStatistics sameDayData = getTourOrderDataOfTheDay(companyIds);
log.error("tour:sameDayData:"+sameDayData);
add(tour, sameDayData);
OrderStatistics finalTour = tour;
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(finalTour.getTotalGmv().subtract(finalTour.getTotalReturnGmv()));
setAdditionalIndemnity(finalTour.getTotalDefaultMoney());
}};
return data;
} }
/** /**
* 获取租车订单当天数据 * 获取租车订单当天数据
*
* @param companyIds * @param companyIds
* @return * @return
*/ */
...@@ -142,80 +156,83 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -142,80 +156,83 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return new OrderStatistics(); return new OrderStatistics();
} }
//加入当天旅游路线订单总和 //加入当天旅游路线订单总和
tour.setTotalGmv(tour.getTotalGmv().add(record.parallelStream().map(DailyTravelOrderStatistics::getGmv).reduce(BigDecimal.ZERO,BigDecimal::add))); 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.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))); tour.setTotalDefaultMoney(tour.getTotalDefaultMoney().add(record.parallelStream().map(DailyTravelOrderStatistics::getDefaultMoney).reduce(BigDecimal.ZERO, BigDecimal::add)));
return tour; return tour;
} }
/** /**
* 车辆数据 * 车辆数据
*
* @param companyIds * @param companyIds
* @return * @return
*/ */
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); log.error("vehicle:"+vehicle);
add(vehicle,sameDayData); if (vehicle == null) {
if (vehicle != null) { vehicle = new OrderStatistics();
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv()));
setAdditionalIndemnity(vehicle.getTotalCompensation()
.add(vehicle.getTotalForfeit())
.add(vehicle.getTotalDefaultMoney())
.add(vehicle.getTotalOrderCompensation()));
setTotalOutstandingDeposit(vehicle.getTotalSecurityDeposit()
.subtract(vehicle.getTotalRefundSecurityDeposit())
.subtract(getAdditionalIndemnity()));
}};
return data;
} }
return new HomePageOrderData(); OrderStatistics sameDayData = getVehicleOrderDataOfTheDay(companyIds);
log.error("vehicle:sameDayData:"+sameDayData);
add(vehicle, sameDayData);
OrderStatistics finalVehicle = vehicle;
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(finalVehicle.getTotalGmv().subtract(finalVehicle.getTotalReturnGmv()));
setAdditionalIndemnity(finalVehicle.getTotalCompensation()
.add(finalVehicle.getTotalForfeit())
.add(finalVehicle.getTotalDefaultMoney())
.add(finalVehicle.getTotalOrderCompensation()));
setTotalOutstandingDeposit(finalVehicle.getTotalSecurityDeposit()
.subtract(finalVehicle.getTotalRefundSecurityDeposit())
.subtract(getAdditionalIndemnity()));
}};
return data;
} }
/** /**
* 获取车来个你当天数据 * 获取车来个你当天数据
*
* @param companyIds * @param companyIds
* @return * @return
*/ */
public OrderStatistics getVehicleOrderDataOfTheDay(List<Integer> companyIds) { public OrderStatistics getVehicleOrderDataOfTheDay(List<Integer> companyIds) {
OrderStatistics vehicle = new OrderStatistics(); OrderStatistics vehicle = new OrderStatistics();
//当天的数据 //当天的数据
List<DailyVehicleOrderStatistics> record = vehicleStatisticsBiz.getDailyVehicleOrderRecord(new Term(OrderTypeEnum.RENT_VEHICLE.getCode(),0,1,null,null,companyIds)); List<DailyVehicleOrderStatistics> record = vehicleStatisticsBiz.getDailyVehicleOrderRecord(new Term(OrderTypeEnum.RENT_VEHICLE.getCode(), 0, 1, null, null, companyIds));
if (CollectionUtils.isEmpty(record)) { if (CollectionUtils.isEmpty(record)) {
return new OrderStatistics(); return new OrderStatistics();
} }
//加入当天租车订单总和 //加入当天租车订单总和
vehicle.setTotalGmv(vehicle.getTotalGmv().add(record.parallelStream().map(DailyVehicleOrderStatistics::getGmv).reduce(BigDecimal.ZERO,BigDecimal::add))); 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.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.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.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.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.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.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))); vehicle.setTotalOrderCompensation(vehicle.getTotalOrderCompensation().add(record.parallelStream().map(DailyVehicleOrderStatistics::getOrderCompensation).reduce(BigDecimal.ZERO, BigDecimal::add)));
return vehicle; return vehicle;
} }
/** /**
* 会员统计列表 * 会员统计列表
*
* @param memberLevels * @param memberLevels
* @param query * @param query
* @return * @return
...@@ -227,7 +244,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -227,7 +244,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//按每天分类 //按每天分类
if (CollectionUtil.isEmpty(membersOrderList)) { if (CollectionUtil.isEmpty(membersOrderList)) {
return PageResult.nowPageResult(query.getPage(),query.getLimit(),Lists.newArrayList()); return PageResult.nowPageResult(query.getPage(), query.getLimit(), Lists.newArrayList());
} }
//按每天分类 //按每天分类
if (CollectionUtil.isEmpty(memberLevels)) { if (CollectionUtil.isEmpty(memberLevels)) {
...@@ -307,11 +324,10 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -307,11 +324,10 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//进行分页处理 //进行分页处理
return PageResult.nowPageResult(query.getPage(),query.getLimit(),arrayList); return PageResult.nowPageResult(query.getPage(), query.getLimit(), arrayList);
} }
private void TotalPaymentAndMemberName(HashMap<Integer, String> map, MembersOrder mb, MembersOrderDto mbdto) { private void TotalPaymentAndMemberName(HashMap<Integer, String> map, MembersOrder mb, MembersOrderDto mbdto) {
BigDecimal totalPayment = BigDecimal.ZERO; BigDecimal totalPayment = BigDecimal.ZERO;
List<Member> members = mb.getMembers(); List<Member> members = mb.getMembers();
...@@ -356,6 +372,6 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -356,6 +372,6 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
amount = collect.get(0).getAmount(); amount = collect.get(0).getAmount();
} }
map.put(memberLevel.getName() + "购买量", number); map.put(memberLevel.getName() + "购买量", number);
map.put("支付金额(" + memberLevel.getName() + ")",amount); map.put("支付金额(" + memberLevel.getName() + ")", amount);
} }
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.OrderAccountMapper"> <mapper namespace="com.xxfc.platform.order.mapper.OrderAccountMapper">
<select id="getOrderAccountByOrderType" resultType="com.xxfc.platform.order.pojo.account.OrderAccountDTO"> <select id="getOrderAccountByOrderType" parameterType="com.xxfc.platform.order.pojo.Term" resultType="com.xxfc.platform.order.pojo.account.OrderAccountDTO">
SELECT SELECT
<if test="subdivide !=null and subdivide ==1"> <if test="subdivide !=null and subdivide ==1">
date( FROM_UNIXTIME( a.crt_time / 1000 ) ) as oneDay, date( FROM_UNIXTIME( a.crt_time / 1000 ) ) as oneDay,
......
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