Просмотр исходного кода

Merge remote-tracking branch 'origin/test'

anderx лет назад: 8
Родитель
Сommit
7ebd45097f

+ 2 - 0
src/main/java/com/goafanti/common/constant/ErrorConstants.java

@@ -129,4 +129,6 @@ public class ErrorConstants {
 	public static final String ORDER_NOT_EXIST						= "ORDER_NOT_EXIST";
 	
 	public static final String PAY_BEYOND_SIGN						= "PAY_BEYOND_SIGN";
+	
+	public static final String BILL_ALREADY_EXPIRE					= "BILL_ALREADY_EXPIRE";
 }

+ 13 - 6
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -391,6 +391,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 					active.setConfirmIntention(false);
 					active.setRefuseIntention(false);
 				}
+				System.out.println("订单编号"+ tOrder.getOrderNo()+ "订单状态:" + tOrder.getOrderStatus() + "结算状态:" + tOrder.getLiquidationStatus());
 				if ((tOrder.getOrderStatus() == OrderState.WAIT_FOR_SIGN.getCode() || tOrder.getOrderStatus() == OrderState.ALREADY_SIGN.getCode())
 						&&tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()) {
 					active.setPayForFirst(true); //支付首付
@@ -1266,14 +1267,20 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				bill.setConfirmTime(confirmTime);
 				bill.setConfirmSign(AuditState.AUDIT_SUCCESS.getCode());
 				checkOrder(order);
-				if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode())
-					setOrderState(OrderAction.CONFIRM_PAY_FOR_FIRST, bill.getTransactionAmount(), order, false);
-				else if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode())
+				if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()
+						&& bill.getTransactionSubject() == TransactionSubject.SUPPLY_COLLECT.getCode()) //代收+首付状态
+					setOrderState(OrderAction.CONFIRM_PAY_FOR_FIRST, bill.getTransactionAmount(), order, false); 
+				else if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()
+						&& bill.getTransactionSubject() == TransactionSubject.SUPPLY_COLLECT.getCode()) //代收+尾款状态
 					setOrderState(OrderAction.CONFIRM_PAY_FOR_LAST, bill.getTransactionAmount(), order, false);
-				else if(order.getLiquidationStatus() == LiquidationState.AGREE_REFUND.getCode())
+				else if(order.getLiquidationStatus() == LiquidationState.AGREE_REFUND.getCode()
+						&& bill.getTransactionSubject() == TransactionSubject.REFUND.getCode()) //待退+退款状态
 					setOrderState(OrderAction.COMPLETE_REFUND, bill.getTransactionAmount(), order, false);
-				else if(order.getLiquidationStatus() == LiquidationState.WAIT_FOR_WITHDRAW.getCode())
-					setOrderState(OrderAction.CONFIRM_WITHDRAW, bill.getTransactionAmount(), order, false);
+				else if(order.getLiquidationStatus() == LiquidationState.WAIT_FOR_WITHDRAW.getCode()
+						&& bill.getTransactionSubject() == TransactionSubject.SUPPLY_PAY.getCode()) //待付+提现状态
+					setOrderState(OrderAction.CONFIRM_WITHDRAW, bill.getTransactionAmount(), order, false); 
+				else 
+					throw new BusinessException(new Error(ErrorConstants.BILL_ALREADY_EXPIRE, billNo , ""));
 				order.setUpdateTime(new Date());
 				tOrderMapper.updateByPrimaryKeySelective(order);
 			}else if(confrim == AFTConstants.NO){

+ 3 - 1
src/main/resources/props/error.properties

@@ -115,4 +115,6 @@ ORDER_ALREADY_REVOKE = \u8BE5\u8BA2\u5355\u5DF2\u7ECF\u5E9F\u9664{0}
 
 ORDER_NOT_EXIST = \u8BA2\u5355\u4E0D\u5B58\u5728{0}
 
-PAY_BEYOND_SIGN = \u652F\u4ED8\u91D1\u989D\u8D85\u8FC7\u5408\u540C\u4EF7\u683C
+PAY_BEYOND_SIGN = \u652F\u4ED8\u91D1\u989D\u8D85\u8FC7\u5408\u540C\u4EF7\u683C
+
+BILL_ALREADY_EXPIRE = \u8BE5\u6D41\u6C34\u5DF2\u8FC7\u671F