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

Merge remote-tracking branch 'origin/dev-chw' into dev-chw

parents 80c19763 484c6784
...@@ -86,14 +86,13 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -86,14 +86,13 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
} else if (status == 2) { } else if (status == 2) {
BigDecimal acceptAmount = orderDetailDTO.getAcceptAmount(); BigDecimal acceptAmount = orderDetailDTO.getAcceptAmount();
log.info("分账----acceptAmount===="+acceptAmount ); log.info("分账----acceptAmount===="+acceptAmount );
if (acceptAmount.compareTo(BigDecimal.ZERO) == 0){
return;
}
orderWaterDTO.setOrderAmount(acceptAmount); orderWaterDTO.setOrderAmount(acceptAmount);
finishOrderAccept(orderWaterDTO,orderDetailDTO); finishOrderAccept(orderWaterDTO,orderDetailDTO);
sellingWaterBiz.updWalletByOrderId(orderWaterDTO); sellingWaterBiz.updWalletByOrderId(orderWaterDTO);
companyWalletDetailBiz.addOrUpd(orderWaterDTO); companyWalletDetailBiz.addOrUpd(orderWaterDTO);
} else { }else if (status == 3){
othderAccept(orderDetailDTO);
}else if (status == 4){
refundOrderAccept(orderWaterDTO); refundOrderAccept(orderWaterDTO);
sellingWaterBiz.updWalletByOrderId(orderWaterDTO); sellingWaterBiz.updWalletByOrderId(orderWaterDTO);
companyWalletDetailBiz.addOrUpd(orderWaterDTO); companyWalletDetailBiz.addOrUpd(orderWaterDTO);
...@@ -208,7 +207,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -208,7 +207,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
Integer orderId = orderWaterDTO.getOrderId() == null ? 0 : orderWaterDTO.getOrderId(); Integer orderId = orderWaterDTO.getOrderId() == null ? 0 : orderWaterDTO.getOrderId();
if (orderDetailDTO != null ){ if (orderDetailDTO != null ){
Example example = new Example(BaseOrderAcceptDetailed.class); Example example = new Example(BaseOrderAcceptDetailed.class);
example.createCriteria().andEqualTo("orderId",orderId).andEqualTo("status",1); example.createCriteria().andEqualTo("orderId",orderId).andEqualTo("type",1);
example.setOrderByClause("division_type desc "); example.setOrderByClause("division_type desc ");
List<BaseOrderAcceptDetailed> acceptDetaileds = selectByExample(example); List<BaseOrderAcceptDetailed> acceptDetaileds = selectByExample(example);
if (acceptDetaileds.size() > 0){ if (acceptDetaileds.size() > 0){
...@@ -261,6 +260,8 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -261,6 +260,8 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
public void finishOrderAccept(OrderWaterDTO orderWaterDTO,OrderDetailDTO orderDetailDTO) { public void finishOrderAccept(OrderWaterDTO orderWaterDTO,OrderDetailDTO orderDetailDTO) {
//订单id //订单id
Integer orderId = orderWaterDTO.getOrderId() == null ? 0 : orderWaterDTO.getOrderId(); Integer orderId = orderWaterDTO.getOrderId() == null ? 0 : orderWaterDTO.getOrderId();
BigDecimal acceptAmount = orderDetailDTO.getAcceptAmount() == null ? BigDecimal.ZERO : orderDetailDTO.getAcceptAmount();
log.info("订单完成分账----finishOrderWater----orderId====" + orderId); log.info("订单完成分账----finishOrderWater----orderId====" + orderId);
if (orderId == 0) { if (orderId == 0) {
return; return;
...@@ -282,7 +283,9 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -282,7 +283,9 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
Integer orderType = orderDetailDTO.getOrderType() == null ? 0 : orderDetailDTO.getOrderType(); Integer orderType = orderDetailDTO.getOrderType() == null ? 0 : orderDetailDTO.getOrderType();
BigDecimal unbooked = amount; BigDecimal unbooked = amount;
log.info("订单完成分账----finishOrderWater----orderId====" + orderId + "---amount==" + amount + "---unbooked==" + unbooked); log.info("订单完成分账----finishOrderWater----orderId====" + orderId + "---amount==" + amount + "---unbooked==" + unbooked);
if (acceptAmount.compareTo(BigDecimal.ZERO) > 0){
payOrderFAccept(orderWaterDTO,orderDetailDTO); payOrderFAccept(orderWaterDTO,orderDetailDTO);
}
log.info("订单完成分账----finishOrderWater--------orderId===" + orderId + "----amount====" + amount + "--orderType===" + orderType); log.info("订单完成分账----finishOrderWater--------orderId===" + orderId + "----amount====" + amount + "--orderType===" + orderType);
} }
...@@ -329,7 +332,6 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -329,7 +332,6 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
acceptDetailed.setAddTime(System.currentTimeMillis()); acceptDetailed.setAddTime(System.currentTimeMillis());
acceptDetailed.setStatusTime(System.currentTimeMillis()); acceptDetailed.setStatusTime(System.currentTimeMillis());
acceptDetailed.setStatus(1); acceptDetailed.setStatus(1);
if (acceptDetailed != null ){
BigDecimal violateAmount = orderDetailDTO.getViolateAmount() == null ? BigDecimal.ZERO :orderDetailDTO.getViolateAmount() ; //违约金 BigDecimal violateAmount = orderDetailDTO.getViolateAmount() == null ? BigDecimal.ZERO :orderDetailDTO.getViolateAmount() ; //违约金
if (violateAmount.compareTo(BigDecimal.ZERO) > 0 && orderDetailDTO.getOrderStatus().equals(OrderDetailDTO.DELAY)){ if (violateAmount.compareTo(BigDecimal.ZERO) > 0 && orderDetailDTO.getOrderStatus().equals(OrderDetailDTO.DELAY)){
acceptDetailed.setDivisionAmount(orderDetailDTO.getViolateAmount()); acceptDetailed.setDivisionAmount(orderDetailDTO.getViolateAmount());
...@@ -350,8 +352,6 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM ...@@ -350,8 +352,6 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
acceptDetailed.setDivisionType(7); acceptDetailed.setDivisionType(7);
insertSelective(acceptDetailed); insertSelective(acceptDetailed);
} }
}
} }
......
...@@ -263,22 +263,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -263,22 +263,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
userDTO.setCompanyId(orderRentVehicleDetail.getEndCompanyId()); userDTO.setCompanyId(orderRentVehicleDetail.getEndCompanyId());
} }
Vehicle vehicle = null;
RestResponse<Vehicle> vehicleRestResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if (vehicleRestResponse.getData() != null) {
vehicle = vehicleRestResponse.getData();
} else {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode(), ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc());
}
//非定损状态下要判断车辆公里数
if (baseOrder.getStatus() != -1) {
if (vehicle.getMileageLastUpdate() != null) {
//判断车辆公里数
if (orderVehicleCrosstownDto.getMileage() == null || orderVehicleCrosstownDto.getMileage() < vehicle.getMileageLastUpdate()) {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode(), ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc());
}
}
}
//添加验车人信息 //添加验车人信息
JSONArray list = new JSONArray(); JSONArray list = new JSONArray();
CheckUserInfoDto checkUserInfoDto = null; CheckUserInfoDto checkUserInfoDto = null;
...@@ -360,18 +345,29 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -360,18 +345,29 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
} }
} }
Double violateAmount = 0.0;
//延期扣除费用 //延期扣除费用
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getViolateDetail())) { if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getViolateDetail())) {
JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getViolateDetail()); JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getViolateDetail());
if (jsonArray != null && jsonArray.size() > 0) { if (jsonArray != null && jsonArray.size() > 0) {
for (int i = 0; i < jsonArray.size(); i++) { for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString()); JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if (jsonObject.getInteger("type") != 1) {
if (jsonObject.getString("cost") != null) { if (jsonObject.getString("cost") != null) {
cost += Double.parseDouble(jsonObject.getString("cost")); cost += Double.parseDouble(jsonObject.getString("cost"));
} }
if (jsonObject.getString("excessCost") != null) { if (jsonObject.getString("excessCost") != null) {
cost += Double.parseDouble(jsonObject.getString("excessCost")); cost += Double.parseDouble(jsonObject.getString("excessCost"));
} }
} else { //提前还车单独判断
if (jsonObject.getString("cost") != null) {
violateAmount += Double.parseDouble(jsonObject.getString("cost"));
}
if (jsonObject.getString("excessCost") != null) {
violateAmount += Double.parseDouble(jsonObject.getString("excessCost"));
}
}
} }
} }
} }
...@@ -397,9 +393,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -397,9 +393,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderVehicleCrosstownDto.setDeductionCost(amount); orderVehicleCrosstownDto.setDeductionCost(amount);
//扣除费用 //扣除费用
orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost())); orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost()));
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(orderRentVehicleDetail.getTrafficDeposit()) == -1) { //剩余金额小于保证金 //只有当押金是线上的时候才判断押金是否足额
if (orderRentVehicleDetail.getGoodsDepositType() != 2) {
//判断车辆押金是否足额
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(orderRentVehicleDetail.getVehicleDeposit()) == -1) { //剩余金额小于保证金
return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!"); return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!");
} }
}
if(StringUtils.isNotBlank(oldValue.get(0).getCheckUserInfo())) { if(StringUtils.isNotBlank(oldValue.get(0).getCheckUserInfo())) {
JSONArray jsonArray = JSONArray.parseArray(oldValue.get(0).getCheckUserInfo()); JSONArray jsonArray = JSONArray.parseArray(oldValue.get(0).getCheckUserInfo());
if (jsonArray != null && checkUserInfoDto != null) { if (jsonArray != null && checkUserInfoDto != null) {
...@@ -422,9 +422,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -422,9 +422,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderVehicleCrosstownDto.setDeductionCost(amount); orderVehicleCrosstownDto.setDeductionCost(amount);
//剩余押金 = 总押金 - 扣除费用 //剩余押金 = 总押金 - 扣除费用
orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost())); orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost()));
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(orderRentVehicleDetail.getTrafficDeposit()) == -1) { //剩余金额小于保证金 //只有当押金是线上的时候才判断押金是否足额
if (orderRentVehicleDetail.getGoodsDepositType() != 2) {
//判断车辆押金是否足额
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(orderRentVehicleDetail.getVehicleDeposit()) == -1) { //剩余金额小于保证金
return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!"); return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!");
} }
}
orderVehicleCrosstownDto.setCheckUserInfo(list.toJSONString()); orderVehicleCrosstownDto.setCheckUserInfo(list.toJSONString());
getOrderLicense(orderVehicleCrosstownDto); getOrderLicense(orderVehicleCrosstownDto);
orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto); orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
...@@ -443,7 +447,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -443,7 +447,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, OrderVehicleCrosstown orderVehicleCrosstown, AppUserDTO appUserDTO) { private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, OrderVehicleCrosstown orderVehicleCrosstown, AppUserDTO appUserDTO) {
//交车完成 设置订单状态为出行中 //交车完成 设置订单状态为出行中
BigDecimal illegalReserve = orderRentVehicleDetail.getTrafficDeposit(); BigDecimal illegalReserve = orderRentVehicleDetail.getVehicleDeposit();
BigDecimal totalAmount = orderRentVehicleDetail.getDeposit(); BigDecimal totalAmount = orderRentVehicleDetail.getDeposit();
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车 if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
......
...@@ -93,7 +93,7 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat ...@@ -93,7 +93,7 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
orderViolation.setCrtTime(new BigInteger(String.valueOf(System.currentTimeMillis()))); orderViolation.setCrtTime(new BigInteger(String.valueOf(System.currentTimeMillis())));
insertSelective(orderViolation); insertSelective(orderViolation);
detailMapper.updateByPrimaryKeySelective(orderRentVehicleDetail); detailMapper.updateByPrimaryKeySelective(orderRentVehicleDetail);
BaseOrder baseOrder = baseOrderBiz.selectById(orderRentVehicleDetail.getOrderId()); BaseOrder baseOrder = baseOrderBiz.selectOne(new BaseOrder(){{setDetailId(orderViolation.getDetailId());}});
if (baseOrder != null) { if (baseOrder != null) {
baseOrder.setRefundStatus(3); baseOrder.setRefundStatus(3);
baseOrderBiz.updateSelectiveByIdRe(baseOrder); baseOrderBiz.updateSelectiveByIdRe(baseOrder);
...@@ -126,6 +126,12 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat ...@@ -126,6 +126,12 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
orderViolation.setUpdUserId(userDTO.getId()); orderViolation.setUpdUserId(userDTO.getId());
orderViolation.setUpdTime(new BigInteger(String.valueOf(System.currentTimeMillis()))); orderViolation.setUpdTime(new BigInteger(String.valueOf(System.currentTimeMillis())));
updateSelectiveByIdRe(orderViolation); updateSelectiveByIdRe(orderViolation);
BaseOrder baseOrder = baseOrderBiz.selectOne(new BaseOrder(){{setDetailId(orderViolation.getDetailId());}});
if (baseOrder != null) {
baseOrder.setRefundStatus(3);
baseOrderBiz.updateSelectiveByIdRe(baseOrder);
}
} else { } else {
throw new BaseException("The operation cannot be changed at this time"); throw new BaseException("The operation cannot be changed at this time");
} }
......
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