Commit 671aaf74 authored by hezhen's avatar hezhen

修改保险分账

parent a0c03fec
...@@ -10,6 +10,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -10,6 +10,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.inter.OrderDetail;
import com.xxfc.platform.order.feign.OrderFeign; import com.xxfc.platform.order.feign.OrderFeign;
import com.xxfc.platform.order.pojo.dto.OrderDetailDTO; import com.xxfc.platform.order.pojo.dto.OrderDetailDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -210,7 +211,28 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -210,7 +211,28 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
acceptDetailed.setStatus(0); acceptDetailed.setStatus(0);
insertSelective(acceptDetailed); insertSelective(acceptDetailed);
//添加保险
addInsure(orderDetailDTO,0);
}
public void addInsure(OrderDetailDTO orderDetailDTO,Integer status){
BigDecimal insureAmount = orderDetailDTO.getInsureAmount() == null ? BigDecimal.ZERO : orderDetailDTO.getInsureAmount();
if (insureAmount.compareTo(BigDecimal.ZERO) > 0){
Integer type = status == 1 ? 2 : 1;
BaseOrderAcceptDetailed acceptDetailed=new BaseOrderAcceptDetailed();
acceptDetailed.setOrderNo(orderDetailDTO.getOrderNo());
acceptDetailed.setOrderId(orderDetailDTO.getOrderId());
acceptDetailed.setOrderAmount(orderDetailDTO.getOrderAmount());
acceptDetailed.setDivisionAmount(insureAmount);
acceptDetailed.setDivisionType(9);
acceptDetailed.setAddTime(System.currentTimeMillis());
acceptDetailed.setStatus(status);
acceptDetailed.setType(type);
insertSelective(acceptDetailed);
}
} }
public void payOrderFAccept(OrderWaterDTO orderWaterDTO,OrderDetailDTO orderDetailDTO) { public void payOrderFAccept(OrderWaterDTO orderWaterDTO,OrderDetailDTO orderDetailDTO) {
...@@ -296,6 +318,8 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -296,6 +318,8 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
payOrderFAccept(orderWaterDTO,orderDetailDTO); payOrderFAccept(orderWaterDTO,orderDetailDTO);
} }
othderAccept(orderDetailDTO); othderAccept(orderDetailDTO);
//保险
addInsure(orderDetailDTO,1);
log.info("订单完成分账----finishOrderWater--------orderId===" + orderId + "----amount====" + amount + "--orderType===" + orderType); log.info("订单完成分账----finishOrderWater--------orderId===" + orderId + "----amount====" + amount + "--orderType===" + orderType);
} }
......
...@@ -99,6 +99,10 @@ public class OrderDetailDTO { ...@@ -99,6 +99,10 @@ public class OrderDetailDTO {
private BigDecimal chageAmount =BigDecimal.ZERO; private BigDecimal chageAmount =BigDecimal.ZERO;
@ApiModelProperty("保险金额")
private BigDecimal insureAmount =BigDecimal.ZERO;
@ApiModelProperty("分账金额") @ApiModelProperty("分账金额")
private BigDecimal acceptAmount; private BigDecimal acceptAmount;
......
...@@ -89,6 +89,13 @@ public class OrderDetailBiz{ ...@@ -89,6 +89,13 @@ public class OrderDetailBiz{
List<OrderItem> orderItems = orderItemBiz.selectList(orderItem); List<OrderItem> orderItems = orderItemBiz.selectList(orderItem);
//不计免赔 //不计免赔
BigDecimal damageSafeAmount = orderItems.stream().filter(x->x.getType()==102).map(OrderItem::getRealAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y)); BigDecimal damageSafeAmount = orderItems.stream().filter(x->x.getType()==102).map(OrderItem::getRealAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y));
Integer insureStatus = baseOrder.getInsureStatus() == null ? 0 : baseOrder.getInsureStatus();
BigDecimal insureAmount = BigDecimal.ZERO;
if ((insureStatus == 1 && baseOrder.getStatus() .equals(OrderStatusEnum.ORDER_TOSTART.getCode())) ||insureStatus == 2 )
insureAmount = orderItems.stream().filter(x->x.getType()==104).map(OrderItem::getRealAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y));
OrderRentVehicleDetail vehicleDetail=orderRentVehicleDetails.get(0); OrderRentVehicleDetail vehicleDetail=orderRentVehicleDetails.get(0);
//获取营收明细dto //获取营收明细dto
OrderDetailDTO orderDetailDTO = new OrderDetailDTO(); OrderDetailDTO orderDetailDTO = new OrderDetailDTO();
...@@ -99,6 +106,7 @@ public class OrderDetailBiz{ ...@@ -99,6 +106,7 @@ public class OrderDetailBiz{
orderDetailDTO.setOrderId(baseOrder.getId()); orderDetailDTO.setOrderId(baseOrder.getId());
orderDetailDTO.setUserId(baseOrder.getUserId()); orderDetailDTO.setUserId(baseOrder.getUserId());
orderDetailDTO.setOrderNo(baseOrder.getNo()); orderDetailDTO.setOrderNo(baseOrder.getNo());
orderDetailDTO.setInsureAmount(insureAmount);
orderDetailDTO.setGoodsDepositType(vehicleDetail.getGoodsDepositType()); orderDetailDTO.setGoodsDepositType(vehicleDetail.getGoodsDepositType());
if (accountDetail != null){ if (accountDetail != null){
List<OrderAccountDeduction> deductions = accountDetail.getDeductions(); List<OrderAccountDeduction> deductions = accountDetail.getDeductions();
......
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