Commit d994d69a authored by 周健威's avatar 周健威

Merge branch 'master' into dev

# Conflicts:
#	ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/BaseUserMemberExport.java
#	ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserPositionTempBiz.java
#	xx-order/xx-order-server/src/test/java/ServiceTest.java
parents c1889f48 aa57e0b5
package com.xxfc.platform.order.bo;
import cn.hutool.json.JSONObject;
import com.xxfc.platform.order.contant.enumerate.AccountTypeEnum;
import com.xxfc.platform.order.contant.enumerate.DeductionTypeEnum;
import com.xxfc.platform.order.contant.enumerate.StatisticsStatusEnum;
import com.xxfc.platform.order.pojo.account.OrderAccountBo;
import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
/**
* @author libin
......@@ -40,6 +30,7 @@ public class FeeTypeBo implements Serializable {
private BigDecimal breakRulesRegulationAmount = BigDecimal.ZERO;
private BigDecimal lossSpecifiedAmount = BigDecimal.ZERO;
private BigDecimal extraAmount = BigDecimal.ZERO;
private BigDecimal extraNoDeductibleAmount = BigDecimal.ZERO;
}
......
......@@ -132,12 +132,14 @@ public enum StatisticsStatusEnum {
if (orderAccountBo.getAccountType().equals(AccountTypeEnum.IN_ORDER_PAY.getCode())) {
//订单押金
feeTypeBo.setDepositAmount(feeTypeBo.getDepositAmount().add(accountDetailEntity.getDepositAmount()));
//订单金额(不包含免赔和押金)
feeTypeBo.setTotalAmount(feeTypeBo.getTotalAmount().add(accountDetailEntity.getOrderAmount()));
if (hasDamageSafe) {
BigDecimal dameSafeAmount = getDameSafeAmount(orderAccountBo.getData());
feeTypeBo.setNoDeductibleAmount(feeTypeBo.getNoDeductibleAmount().add(dameSafeAmount));
feeTypeBo.setTotalAmount(feeTypeBo.getTotalAmount().subtract(feeTypeBo.getNoDeductibleAmount()));
}
//订单金额(不包含免赔和押金)
feeTypeBo.setTotalAmount(feeTypeBo.getTotalAmount().add(accountDetailEntity.getOrderAmount()).subtract(feeTypeBo.getNoDeductibleAmount()));
} else {
//退款订单押金
feeTypeBo.setDepositRefundAmount(feeTypeBo.getDepositRefundAmount().add(accountDetailEntity.getDepositAmount()));
......@@ -182,6 +184,10 @@ public enum StatisticsStatusEnum {
feeTypeBo.setExtraAmount(feeTypeBo.getExtraAmount().add(extendAmount));
}
}
//其他费用-延迟用车不记免赔
if (Objects.equals(DeductionTypeEnum.OTHER_DELAY_SAFE.getCode(),deduction.getType())){
feeTypeBo.setExtraNoDeductibleAmount(feeTypeBo.getExtraNoDeductibleAmount().add(deductionAmount));
}
}
//退款订单金额(不包含免赔和押金)
feeTypeBo.setOrderRefundAmount(feeTypeBo.getOrderRefundAmount().add(accountDetailEntity.getOrderAmount()).subtract(feeTypeBo.getNoDeductibleRefundAmount()));
......
......@@ -45,4 +45,6 @@ public class OrderRentVehicleReceivedStatistics extends OrderReceivedStatisticsB
@ApiModelProperty("不计免赔费用")
private BigDecimal noDeductibleRefundAmount;
@Column(name = "extra_no_deductible_amount")
private BigDecimal extraNoDeductibleAmount;
}
......@@ -17,6 +17,17 @@
<result property="payWay" column="pay_way"/>
<result property="companyId" column="company_id"/>
<result property="crtTime" column="crt_time"/>
<result property="extraNoDeductibleAmount" column="extral_no_deductible_amount"/>
<result property="orderRefundAmount" column="order_refund_amount"/>
<result property="lateFeeAmount" column="late_fee_amount"/>
<result property="extraAmount" column="extra_amount"/>
<result property="companyName" column="company_name"/>
<result property="noDeductibleAmount" column="no_deductible_amount"/>
<result property="noDeductibleRefundAmount" column="no_deductible_refund_amount"/>
<result property="lossSpecifiedAmount" column="loss_specified_amount"/>
<result property="depositRefundAmount" column="deposit_refund_amount"/>
<result property="depositAmount" column="deposit_amount"/>
<result property="breakRulesRegulationAmount" column="break_rules_regulation_amount"/>
</resultMap>
<select id="selectOrderRentVehicleReceivedStatisticsGroupByDate" resultType="com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics">
select `year`,`date`,IFNULL(sum(`total_amount`-`order_refund_amount`),0) as `totalAmount`,IFNULL(sum(`total_quantity`),0) as `totalQuantity` from `order_rent_vehicle_received_statistics` where 1=1
......
......@@ -97,7 +97,7 @@ public class ServiceTest {
@Test
public void testMemberStatistics(){
Date date = DateTime.parse("2019-11-28").toDate();
Date date = DateTime.parse("2019-11-15").toDate();
Date startDate = DateUtil.beginOfDay(date).toJdkDate();
Date endDate = DateUtil.endOfDay(date).toJdkDate();
Map<Integer, String> companyMap = vehicleFeign.findCompanyMap();
......@@ -106,7 +106,7 @@ public class ServiceTest {
@Test
public void testRentVehicleStatistics(){
Date date = DateTime.parse("2019-11-29").toDate();
Date date = DateTime.parse("2019-11-15").toDate();
Date startDate = DateUtil.beginOfDay(date).toJdkDate();
Date endDate = DateUtil.endOfDay(date).toJdkDate();
Map<Integer, String> companyMap = vehicleFeign.findCompanyMap();
......@@ -127,13 +127,13 @@ public class ServiceTest {
public void testOrderReceivedStatisticsJobHandler(){
cn.hutool.core.date.DateTime dateTime = DateUtil.parse("2019-11-29", "yyyy-MM-dd");
// cn.hutool.core.date.DateTime offset = DateUtil.offset(dateTime, DateField.DAY_OF_MONTH, 1);
// orderReceivedStatisticsJobHandler.execute("2019-10-08");
LocalDate startLocalDate = LocalDate.of(2019, 10, 01);
LocalDate endLocalDate = LocalDate.of(2019,12,20);
orderReceivedStatisticsJobHandler.execute("2019-11-15");
/* LocalDate startLocalDate = LocalDate.of(2019, 10, 01);
LocalDate endLocalDate = LocalDate.of(2019,12,19);
while (startLocalDate.isBefore(endLocalDate)){
String dateStr = startLocalDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
startLocalDate = startLocalDate.plusDays(1);
orderReceivedStatisticsJobHandler.execute(dateStr);
}
}*/
}
}
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