Commit 91f4dd4b authored by hanfeng's avatar hanfeng

Merge branch 'master-modify-cutAmount' into dev

parents 9e3587e5 c43fa74d
...@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat; ...@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
...@@ -15,7 +16,9 @@ import java.util.Date; ...@@ -15,7 +16,9 @@ import java.util.Date;
* @author Administrator * @author Administrator
*/ */
@Data @Data
public class DailyOrderStatistics { public class DailyOrderStatistics implements Serializable {
private static final long serialVersionUID = 1L;
@Id @Id
@GeneratedValue(generator = "JDBC") @GeneratedValue(generator = "JDBC")
private Integer id; private Integer id;
......
...@@ -13,9 +13,15 @@ import java.math.BigDecimal; ...@@ -13,9 +13,15 @@ import java.math.BigDecimal;
@Data @Data
@Table(name = "daily_travel_order_statistics") @Table(name = "daily_travel_order_statistics")
public class DailyTravelOrderStatistics extends DailyOrderStatistics { public class DailyTravelOrderStatistics extends DailyOrderStatistics {
/**
* 违约总额
*/
@Column(name = "default_money ")
private BigDecimal defaultMoney ;
/** /**
* 取消订单总 * 退还订单金
*/ */
@Column(name = "penal_sum") @Column(name = "return_gmv")
private BigDecimal penalSum; private BigDecimal returnGmv;
} }
...@@ -17,27 +17,28 @@ import java.util.Date; ...@@ -17,27 +17,28 @@ import java.util.Date;
/** /**
* 每日租车订单统计 * 每日租车订单统计
*
* @author Administrator * @author Administrator
*/ */
@Data @Data
@Table(name = "daily_vehicle_order_statistics") @Table(name = "daily_vehicle_order_statistics")
public class DailyVehicleOrderStatistics extends DailyOrderStatistics{ public class DailyVehicleOrderStatistics extends DailyOrderStatistics {
/** /**
* 预交押金总额 * 预交押金总额
*/ */
@Column(name = "security_deposit") @Column(name = "security_deposit")
private BigDecimal securityDeposit; private BigDecimal securityDeposit;
/** /**
* 退还押金总额 * 退还押金总额
*/ */
@Column(name = "refund_security_deposit") @Column(name = "refund_security_deposit")
private BigDecimal refundSecurityDeposit; private BigDecimal refundSecurityDeposit;
/** /**
* 赔偿总额 * 损坏赔偿总额
*/ */
@Column(name = "compensation") @Column(name = "compensation")
private BigDecimal compensation; private BigDecimal compensation;
...@@ -46,19 +47,25 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{ ...@@ -46,19 +47,25 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
* 违章总额 * 违章总额
*/ */
@Column(name = "forfeit") @Column(name = "forfeit")
private BigDecimal violationMoney; private BigDecimal violationMoney;
/** /**
* 延期总 * 退还订单金
*/ */
@Column(name = "postpone") @Column(name = "return_gmv")
private BigDecimal postpone; private BigDecimal returnGmv;
/** /**
* 取消订单扣款总额 * 违约总额
*/ */
@Column(name = "penal_sum") @Column(name = "default_money ")
private BigDecimal penalSum; private BigDecimal defaultMoney ;
/**
* 消费金总额
*/
@Column(name = "total_expenditure")
private BigDecimal totalExpenditure;
} }
...@@ -12,48 +12,58 @@ import java.math.BigDecimal; ...@@ -12,48 +12,58 @@ import java.math.BigDecimal;
*/ */
@Data @Data
@ApiModel(value = "订单统计实体") @ApiModel(value = "历史订单统计实体")
public class OrderStatistics { public class OrderStatistics {
/** /**
* 月成交总金额 * 历史交总金额
*/ */
@ApiModelProperty(value = "月成交总金额") @ApiModelProperty(value = "历史交总金额")
private BigDecimal totalGmv; private BigDecimal totalGmv;
/** /**
* 押金总额 * 历史押金总额
*/ */
@ApiModelProperty(value = "押金总额") @ApiModelProperty(value = "历史押金总额")
private BigDecimal totalSecurityDeposit; private BigDecimal totalSecurityDeposit;
/** /**
* 退还押金总额 * 历史退还押金总额
*/ */
@ApiModelProperty(value = "退还押金总额") @ApiModelProperty(value = "历史退还押金总额")
private BigDecimal totalRefundSecurityDeposit; private BigDecimal totalRefundSecurityDeposit;
/** /**
* 赔偿总额 * 历史赔偿总额
*/ */
@ApiModelProperty(value = "赔偿总额") @ApiModelProperty(value = "历史赔偿总额")
private BigDecimal totalCompensation; private BigDecimal totalCompensation;
/** /**
* 违章总额 * 历史违章总额
*/ */
@ApiModelProperty(value = "违章总额") @ApiModelProperty(value = "历史违章总额")
private BigDecimal totalForfeit; private BigDecimal totalForfeit;
/**
* 历史订单退款
*/
@ApiModelProperty(value = "历史订单退款")
private BigDecimal totalReturnGmv;
/** /**
* 月取消订单扣款总额 * 历史延期扣款总额
*/ */
@ApiModelProperty(value = "月取消订单扣款总额") @ApiModelProperty(value = "历史延期扣款总额")
private BigDecimal totalPenalSum; private BigDecimal totalDefaultMoney;
/** /**
* 月延期扣款总额 * 历史实际消费总额
*/ */
@ApiModelProperty(value = "月延期扣款总额") @ApiModelProperty(value = "实际消费总额")
private BigDecimal totalPostpone; private BigDecimal totalExpenditure;
} }
package com.xxfc.platform.order.pojo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class HomePageOrderData {
/**
* 订单总额
*/
private BigDecimal totalOrders;
/**
* 为退还押金总额
*/
private BigDecimal totalOutstandingDeposit;
/**
* 额外赔款
*/
private BigDecimal additionalIndemnity;
}
package com.xxfc.platform.order.pojo.account;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxfc.platform.order.entity.OrderAccount;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
@Data
public class OrderAccountDTO extends OrderAccount {
@Column(name = "companyId")
private Integer companyId;
@Column(name = "oneDay")
private String oneDay;
}
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.google.common.collect.Lists;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics; import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import com.xxfc.platform.order.entity.OrderAccount;
import com.xxfc.platform.order.entity.OrderStatistics; import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper; import com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -33,31 +42,31 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta ...@@ -33,31 +42,31 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
@Value("${order.day}") @Value("${order.day}")
private Integer day; private Integer day;
/**
* 总公司id默认为1
*/
private final Integer OMPANY_ID=1;
@Autowired
private OrderAccountBiz accountBiz;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean memberOrderStatistics() { public boolean saveDailyMembersOrderRecord() {
try { try {
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(OrderTypeEnum.MEMBER.getCode(), day);
Map<String, Object> travelGmv = mapper.getTravelGmv(day); if (CollectionUtils.isNotEmpty(accountList)) {
if (travelGmv.isEmpty()) { DailyMembersOrderStatistics orderStatistics = new DailyMembersOrderStatistics();
return true; ArrayList<OrderAccountDetail> orderAccountDetails = getOrderAccountDetail(accountList);
} if (CollectionUtils.isNotEmpty(orderAccountDetails)) {
//获取订单总额
BigDecimal gmv = getOrderAmountTotal(orderAccountDetails);
DailyMembersOrderStatistics MembersStatistics = new DailyMembersOrderStatistics(); orderStatistics.setGmv(gmv);
BeanUtils.copyProperties(MembersStatistics, travelGmv); orderStatistics.setBranchCompanyId(OMPANY_ID);
orderStatistics.setOneDay(accountList.get(0).getOneDay());
String oneDay = MembersStatistics.getOneDay(); }
insertSelectiveRe(orderStatistics);
if (StringUtils.isBlank(oneDay)) {
throw new BaseException();
} }
Example exa = new Example(DailyMembersOrderStatistics.class);
exa.createCriteria().andEqualTo("oneDay", oneDay);
List<DailyMembersOrderStatistics> statistics = selectByExample(exa);
if (CollectionUtils.isEmpty(statistics)) {
insertSelective(MembersStatistics);
}
return true; return true;
} catch (Exception e) { } catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
...@@ -66,6 +75,37 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta ...@@ -66,6 +75,37 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
} }
} }
/**
* 获取押金和
*
* @param orderAccountDetails
* @return
*/
private BigDecimal getOrderAmountTotal(ArrayList<OrderAccountDetail> orderAccountDetails) {
return orderAccountDetails.stream()
.map(OrderAccountDetail::getOrderAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
/**
* 获取所有订单详情数据
*
* @param orderAccountDTOS
* @return
*/
private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) {
ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList();
orderAccountDTOS.parallelStream()
.map(OrderAccount::getAccountDetail)
.forEach(detail -> {
if (StringUtils.isNotBlank(detail)) {
arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class));
}
});
return arrayList;
}
@Override @Override
public int insertSelectiveRe(DailyMembersOrderStatistics entity) { public int insertSelectiveRe(DailyMembersOrderStatistics entity) {
Date date = new Date(); Date date = new Date();
......
...@@ -27,9 +27,9 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper, ...@@ -27,9 +27,9 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Scheduled(cron = "0 0 2 * * ?") @Scheduled(cron = "0 0 2 * * ?")
public boolean statisticalOrder(){ public boolean statisticalOrder(){
boolean vehicleFlag = vehicleStatisticsBiz.StatisticsOfCarRentalOrders(); boolean vehicleFlag = vehicleStatisticsBiz.saveDailyVehicleOrderRecord();
boolean travelFlag = travelStatisticsBiz.StatisticsOfTravelOrders(); boolean travelFlag = travelStatisticsBiz.saveDailyTravelOrderRecord();
boolean membersFlag= membersStatisticsBiz.memberOrderStatistics(); boolean membersFlag= membersStatisticsBiz.saveDailyMembersOrderRecord();
if (vehicleFlag&&travelFlag&&membersFlag){ if (vehicleFlag&&travelFlag&&membersFlag){
log.info("----statisticalOrder:成功-----"); log.info("----statisticalOrder:成功-----");
return true; return true;
......
...@@ -13,6 +13,7 @@ import com.xxfc.platform.order.biz.inner.OrderMsgBiz; ...@@ -13,6 +13,7 @@ import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.pojo.DedDetailDTO; import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO;
import com.xxfc.platform.order.pojo.account.OrderAccountDeduction; import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail; import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
...@@ -353,4 +354,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -353,4 +354,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
log.error("crosstown.getViolateDetail() crosstown id :"+crosstown.getId() +" 转换失败"); log.error("crosstown.getViolateDetail() crosstown id :"+crosstown.getId() +" 转换失败");
} }
} }
/**
* 获取每日订单账目,用于统计
* @param code
* @param day
* @return
*/
public List<OrderAccountDTO> getOrderAccountByOrderType(Integer code, Integer day) {
return mapper.getOrderAccountByOrderType(code,day);
}
} }
\ No newline at end of file
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.OrderStatistics; import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.OrderStatisticsMapper; import com.xxfc.platform.order.mapper.OrderStatisticsMapper;
import com.xxfc.platform.order.pojo.HomePageOrderData;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -26,37 +28,48 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat ...@@ -26,37 +28,48 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
@Autowired @Autowired
private DailyMembersOrderStatisticsBiz membersBiz; private DailyMembersOrderStatisticsBiz membersBiz;
public OrderStatistics getTotalOrder(Integer companyId) { public HomePageOrderData getTotalOrder(Integer companyId) {
OrderStatistics result = new OrderStatistics(); HomePageOrderData result = new HomePageOrderData();
ArrayList<OrderStatistics> orderStatistics = new ArrayList<>(); ArrayList<HomePageOrderData> orderStatistics = new ArrayList<>();
OrderStatistics vehicle = vehicleBiz.findAll(companyId); OrderStatistics vehicle = vehicleBiz.findAll(companyId);
if (vehicle != null) { if (vehicle != null) {
orderStatistics.add(vehicle); HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv()));
setAdditionalIndemnity(vehicle.getTotalCompensation()
.add(vehicle.getTotalForfeit())
.add(vehicle.getTotalDefaultMoney())
.add(vehicle.getTotalExpenditure().subtract(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv())))
);
}};
orderStatistics.add(data);
} }
OrderStatistics tour = TravelBiz.findAll(companyId); OrderStatistics tour = TravelBiz.findAll(companyId);
if (vehicle != null) { if (vehicle != null) {
orderStatistics.add(tour); HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv()));
setAdditionalIndemnity(tour.getTotalDefaultMoney());
}};
orderStatistics.add(data);
} }
OrderStatistics member = membersBiz.findAll(companyId); OrderStatistics member = membersBiz.findAll(companyId);
if (vehicle != null) { if (vehicle != null) {
orderStatistics.add(member); HomePageOrderData data = new HomePageOrderData() {{
} setTotalOrders(member.getTotalGmv().subtract(member.getTotalReturnGmv()));
result.setTotalGmv(orderStatistics.stream().map(OrderStatistics::getTotalGmv).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add)); }};
orderStatistics.add(data);
}
result.setTotalForfeit(orderStatistics.stream().map(OrderStatistics::getTotalForfeit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalCompensation(orderStatistics.stream().map(OrderStatistics::getTotalCompensation).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalRefundSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalRefundSecurityDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalSecurityDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add)); result.setTotalOrders(orderStatistics.stream().map(HomePageOrderData::getTotalOrders).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalPenalSum(orderStatistics.stream().map(OrderStatistics::getTotalPenalSum).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add)); result.setTotalOutstandingDeposit(orderStatistics.stream().map(HomePageOrderData::getTotalOutstandingDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalPostpone(orderStatistics.stream().map(OrderStatistics::getTotalPostpone).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add)); result.setAdditionalIndemnity(orderStatistics.stream().map(HomePageOrderData::getAdditionalIndemnity).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
return result; return result;
} }
......
package com.xxfc.platform.order.mapper; package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderAccount; import com.xxfc.platform.order.entity.OrderAccount;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/** /**
* 订单帐目 * 订单帐目
* *
...@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-09-09 15:51:16 * @date 2019-09-09 15:51:16
*/ */
public interface OrderAccountMapper extends Mapper<OrderAccount> { public interface OrderAccountMapper extends Mapper<OrderAccount> {
List<OrderAccountDTO> getOrderAccountByOrderType(@Param("type") Integer type, @Param("day") Integer day);
} }
...@@ -12,6 +12,7 @@ import com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz; ...@@ -12,6 +12,7 @@ import com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz;
import com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz; import com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz;
import com.xxfc.platform.order.biz.OrderStatisticsBiz; import com.xxfc.platform.order.biz.OrderStatisticsBiz;
import com.xxfc.platform.order.entity.OrderStatistics; import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.pojo.HomePageOrderData;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -88,15 +89,28 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz ...@@ -88,15 +89,28 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
if (TYPE_VEHICLE.equals(type)) { if (TYPE_VEHICLE.equals(type)) {
OrderStatistics vehicle = vehicleBiz.findAll(companyId); OrderStatistics vehicle = vehicleBiz.findAll(companyId);
return ObjectRestResponse.succ(vehicle); return ObjectRestResponse.succ(new HomePageOrderData(){{
setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv()));
setAdditionalIndemnity(vehicle.getTotalCompensation()
.add(vehicle.getTotalForfeit())
.add(vehicle.getTotalDefaultMoney())
.add(vehicle.getTotalExpenditure().subtract(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv())))
);
}});
} }
if (TYPE_TOUR.equals(type)) { if (TYPE_TOUR.equals(type)) {
OrderStatistics tour = TravelBiz.findAll(companyId); OrderStatistics tour = TravelBiz.findAll(companyId);
return ObjectRestResponse.succ(tour); return ObjectRestResponse.succ(new HomePageOrderData(){{
setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv()));
setAdditionalIndemnity(tour.getTotalDefaultMoney());
}});
} }
if (TYPE_MEMBER.equals(type)) { if (TYPE_MEMBER.equals(type)) {
OrderStatistics member = membersBiz.findAll(companyId); OrderStatistics member = membersBiz.findAll(companyId);
return ObjectRestResponse.succ(member); return ObjectRestResponse.succ(new HomePageOrderData(){{
setTotalOrders(member.getTotalGmv().subtract(member.getTotalReturnGmv()));
}});
} }
if (TYPE_TOTAL.equals(type)) { if (TYPE_TOTAL.equals(type)) {
...@@ -110,4 +124,6 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz ...@@ -110,4 +124,6 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
} }
} }
} }
...@@ -17,24 +17,13 @@ ...@@ -17,24 +17,13 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
IFNULL(sum(gmv),0) as totalGmv IFNULL( sum( gmv ), 0 ) AS totalGmv
FROM FROM
( daily_vehicle_order_statistics
SELECT
ANY_VALUE(id) AS id ,
ANY_VALUE(branch_company_id) AS branch_company_id,
ANY_VALUE(one_day) AS one_day,
ANY_VALUE(gmv) AS gmv,
ANY_VALUE(crt_time) AS crt_time
FROM
daily_members_order_statistics
GROUP BY
one_day,branch_company_id
) m
WHERE WHERE
1=1 1=1
<if test="companyId != null"> <if test="companyId != null">
and branch_company_id =#{companyId} and branch_company_id = #{companyId}
</if> </if>
</select> </select>
......
...@@ -51,26 +51,15 @@ ...@@ -51,26 +51,15 @@
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
IFNULL(sum(gmv),0) as totalGmv, IFNULL( sum( gmv ), 0 ) AS totalGmv,
IFNULL(sum(penal_sum) ,0) as totalPenalSum IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv
FROM FROM
( daily_vehicle_order_statistics
SELECT
ANY_VALUE(id) AS id,
ANY_VALUE(branch_company_id) AS branch_company_id,
ANY_VALUE(one_day) AS one_day,
ANY_VALUE(gmv) AS gmv,
ANY_VALUE(penal_sum) AS penal_sum,
ANY_VALUE(crt_time) AS crt_time
FROM
daily_travel_order_statistics
GROUP BY
one_day,branch_company_id
) o
WHERE WHERE
1=1 1=1
<if test="companyId != null"> <if test="companyId != null">
and branch_company_id =#{companyId} and branch_company_id = #{companyId}
</if> </if>
</select> </select>
......
...@@ -79,33 +79,19 @@ ...@@ -79,33 +79,19 @@
v.start_company_id v.start_company_id
</select> </select>
<!-- 获取赔偿和延期JSON字符串--> <!-- -->
<select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics"> <select id="monthOrderTotal" resultType="com.xxfc.platform.order.entity.OrderStatistics">
SELECT SELECT
IFNULL(sum(gmv),0) as totalGmv, IFNULL( sum( gmv ), 0 ) AS totalGmv,
(IFNULL(sum(security_deposit),0)-IFNULL(sum(refund_security_deposit) ,0)) as totalSecurityDeposit, IFNULL( sum( security_deposit ), 0 ) AS totalSecurityDeposit,
IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit, IFNULL( sum( refund_security_deposit ), 0 ) AS totalRefundSecurityDeposit,
IFNULL(sum(compensation) ,0) as totalCompensation, IFNULL( sum( forfeit ), 0 ) AS totalForfeit,
IFNULL(sum(forfeit) ,0) as totalForfeit, IFNULL( sum( compensation ), 0 ) AS totalCompensation,
IFNULL(sum(penal_sum) ,0) as totalPenalSum, IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv,
IFNULL(sum(postpone) ,0) as totalPostpone IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
FROM IFNULL( sum( total_expenditure ), 0 ) AS totalExpenditure
(
SELECT
ANY_VALUE(id) as id,
one_day,
branch_company_id,
ANY_VALUE(gmv) AS gmv,
ANY_VALUE(security_deposit) AS security_deposit,
ANY_VALUE(refund_security_deposit) AS refund_security_deposit,
ANY_VALUE(forfeit) AS forfeit,ANY_VALUE(penal_sum) AS penal_sum,
ANY_VALUE(postpone) AS postpone,ANY_VALUE(crt_time) AS crt_time,
ANY_VALUE(compensation) AS compensation
FROM FROM
daily_vehicle_order_statistics daily_vehicle_order_statistics
GROUP BY
one_day,branch_company_id
) a
WHERE WHERE
1=1 1=1
<if test="companyId != null"> <if test="companyId != null">
......
<?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">
<mapper namespace="com.xxfc.platform.order.mapper.OrderAccountMapper">
<select id="getOrderAccountByOrderType" resultType="com.xxfc.platform.order.pojo.account.OrderAccountDTO">
SELECT
date(DATE_SUB(now(),interval #{day} day)) as oneDay,
a.*
<if test="type != null and type == 1">
, v.start_company_id as companyId
</if>
<if test="type != null and type == 2">
, t.start_company_id as companyId
</if>
FROM
order_account a
LEFT JOIN base_order b ON a.order_id = b.id
<if test="type != null and type==1">
LEFT JOIN order_rent_vehicle_detail v ON b.id = v.order_id
</if>
<if test="type != null and type==2">
LEFT JOIN order_tour_detail t ON b.id = t.order_id
</if>
WHERE
a.account_status=1
AND
b.type = #{type}
AND date( FROM_UNIXTIME( a.crt_time / 1000 ) ) = date( DATE_SUB( now( ), INTERVAL #{day} DAY ) )
</select>
</mapper>
\ No newline at end of file
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