解决续租车辆,还车时间为空的问题
This commit is contained in:
@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Update;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface OrderPayMapper {
|
public interface OrderPayMapper {
|
||||||
@ -67,8 +68,8 @@ public interface OrderPayMapper {
|
|||||||
@Select("select suborder_id from zc_order_sub where payment_id = #{paymentId} and suborder_type = 'RENTBATTEY' limit 1")
|
@Select("select suborder_id from zc_order_sub where payment_id = #{paymentId} and suborder_type = 'RENTBATTEY' limit 1")
|
||||||
Long getSubOrderIdByTradeNo(@Param("paymentId") String paymentId);
|
Long getSubOrderIdByTradeNo(@Param("paymentId") String paymentId);
|
||||||
|
|
||||||
@Select("select * from zc_order_sub where payment_id = #{paymentId} order by suborder_id desc limit 1")
|
@Select("select * from zc_order_sub where payment_id = #{paymentId}")
|
||||||
OrderSub getSubOrderByTradeNo(@Param("paymentId") String paymentId);
|
List<OrderSub> listSubOrderByTradeNo(@Param("paymentId") String paymentId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 免押成功,更新子订单状态
|
* 免押成功,更新子订单状态
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import java.math.BigDecimal;
|
|||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -424,9 +425,11 @@ public class WechatPayService {
|
|||||||
|
|
||||||
if(OrderStatus.equals("WAIT_PAY")){
|
if(OrderStatus.equals("WAIT_PAY")){
|
||||||
orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK");
|
orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK");
|
||||||
}else if (OrderStatus.equals("RERENT_WAIT_PAY") || OrderStatus.equals("RENT_ING")){
|
}else if (OrderStatus.equals("RERENT_WAIT_PAY")){
|
||||||
OrderSub orderSub = orderPayMapper.getSubOrderByTradeNo(outTradeNo);
|
List<OrderSub> orderSub = orderPayMapper.listSubOrderByTradeNo(outTradeNo);
|
||||||
orderPayMapper.updateOrderStatusAndEndRentTime(orderMain.getOrderNo(),orderSub.getReturnTime(),0,orderMain.getOrderAmount().add(orderSub.getAmount()),"RENT_ING");
|
OrderSub rentCarSubOrder = orderSub.stream().filter(x -> x.getSuborderType().equals("RENTCAR")).findFirst().orElse( null);
|
||||||
|
BigDecimal rentCarAmount = orderSub.stream().map(OrderSub::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
|
orderPayMapper.updateOrderStatusAndEndRentTime(orderMain.getOrderNo(),rentCarSubOrder.getReturnTime(),0,orderMain.getOrderAmount().add(rentCarAmount),"RENT_ING");
|
||||||
//发送租电订单同步
|
//发送租电订单同步
|
||||||
Long batterySubOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo);
|
Long batterySubOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo);
|
||||||
logger.info("发送租电订单同步: {}", batterySubOrderId);
|
logger.info("发送租电订单同步: {}", batterySubOrderId);
|
||||||
|
|||||||
@ -159,9 +159,12 @@ public class AlipayRentServiceImpl implements AlipayRentService {
|
|||||||
|
|
||||||
if(OrderStatus.equals("WAIT_PAY")){
|
if(OrderStatus.equals("WAIT_PAY")){
|
||||||
orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK");
|
orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK");
|
||||||
}else if (OrderStatus.equals("RERENT_WAIT_PAY") || OrderStatus.equals("RENT_ING")){
|
}else if (OrderStatus.equals("RERENT_WAIT_PAY")){
|
||||||
OrderSub orderSub = orderPayMapper.getSubOrderByTradeNo(outTradeNo);
|
List<OrderSub> orderSub = orderPayMapper.listSubOrderByTradeNo(outTradeNo);
|
||||||
orderPayMapper.updateOrderStatusAndEndRentTime(orderMain.getOrderNo(),orderSub.getReturnTime(),0,orderMain.getOrderAmount().add(orderSub.getAmount()),"RENT_ING");
|
OrderSub rentCarSubOrder = orderSub.stream().filter(x -> x.getSuborderType().equals("RENTCAR")).findFirst().orElse( null);
|
||||||
|
BigDecimal rentCarAmount = orderSub.stream().map(OrderSub::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
|
orderPayMapper.updateOrderStatusAndEndRentTime(orderMain.getOrderNo(),rentCarSubOrder.getReturnTime(),0,orderMain.getOrderAmount().add(rentCarAmount),"RENT_ING");
|
||||||
|
|
||||||
//发送租电订单同步
|
//发送租电订单同步
|
||||||
Long batterySubOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo);
|
Long batterySubOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo);
|
||||||
log.info("发送租电订单同步: {}", batterySubOrderId);
|
log.info("发送租电订单同步: {}", batterySubOrderId);
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -551,9 +552,11 @@ public class AlipayServiceImpl implements AlipayService {
|
|||||||
|
|
||||||
if(OrderStatus.equals("WAIT_PAY")){
|
if(OrderStatus.equals("WAIT_PAY")){
|
||||||
orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK");
|
orderPayMapper.updateOrderStatus(orderMain.getOrderNo(),"WAIT_PICK");
|
||||||
}else if (OrderStatus.equals("RERENT_WAIT_PAY") || OrderStatus.equals("RENT_ING")){
|
}else if (OrderStatus.equals("RERENT_WAIT_PAY")){
|
||||||
OrderSub orderSub = orderPayMapper.getSubOrderByTradeNo(outTradeNo);
|
List<OrderSub> orderSub = orderPayMapper.listSubOrderByTradeNo(outTradeNo);
|
||||||
orderPayMapper.updateOrderStatusAndEndRentTime(orderMain.getOrderNo(),orderSub.getReturnTime(),0,orderMain.getOrderAmount().add(orderSub.getAmount()),"RENT_ING");
|
OrderSub rentCarSubOrder = orderSub.stream().filter(x -> x.getSuborderType().equals("RENTCAR")).findFirst().orElse( null);
|
||||||
|
BigDecimal rentCarAmount = orderSub.stream().map(OrderSub::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
|
orderPayMapper.updateOrderStatusAndEndRentTime(orderMain.getOrderNo(),rentCarSubOrder.getReturnTime(),0,orderMain.getOrderAmount().add(rentCarAmount),"RENT_ING");
|
||||||
//发送租电订单同步
|
//发送租电订单同步
|
||||||
Long batterySubOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo);
|
Long batterySubOrderId = orderPayMapper.getSubOrderIdByTradeNo(outTradeNo);
|
||||||
log.info("发送租电订单同步: {}", batterySubOrderId);
|
log.info("发送租电订单同步: {}", batterySubOrderId);
|
||||||
|
|||||||
Reference in New Issue
Block a user