Browse Source

修改支付BUG

wanghui 8 years ago
parent
commit
19ebeaacd5

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

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

+ 14 - 3
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -213,8 +213,19 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,""));
 			}
 			int boundary = tOrder.getActuallyFirstPayment().add(changeAmount).compareTo(tOrder.getSignFirstPayment());
-			if(boundary == 1){
-				throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,"支付首付款"));
+			int boundary2 = tOrder.getActuallyTotalAmount().add(changeAmount).compareTo(tOrder.getSignTotalAmount());
+			if(boundary2 == 1){
+				throw new BusinessException(new Error(ErrorConstants.PAY_BEYOND_SIGN,"支付首付款"));
+			}else if(boundary2 == 0){ //全付清
+				tOrder.setActuallyTotalAmount(tOrder.getSignTotalAmount());
+				tOrder.setActuallyFirstPayment(tOrder.getSignFirstPayment());
+				tOrder.setLiquidationStatus(LiquidationState.ALREADY_PAY.getCode());
+				tOrder.setProjectStage(ProjectStage.WAIT_SET_UP.getCode());
+			}else if(boundary == 1){ //超过首付未达尾款
+				tOrder.setActuallyTotalAmount(tOrder.getActuallyTotalAmount().add(changeAmount));
+				tOrder.setActuallyFirstPayment(tOrder.getSignFirstPayment());
+				tOrder.setLiquidationStatus(LiquidationState.WAIT_PAY_LAST_BALANCE.getCode());
+				tOrder.setProjectStage(ProjectStage.WAIT_SET_UP.getCode());
 			}else if(boundary == -1){ //首付待付清
 				tOrder.setActuallyTotalAmount(tOrder.getActuallyTotalAmount().add(changeAmount));
 				tOrder.setActuallyFirstPayment(tOrder.getActuallyFirstPayment().add(changeAmount));
@@ -235,7 +246,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				tOrder.setActuallyTotalAmount(tOrder.getActuallyTotalAmount().add(changeAmount));
 			}else if(boundary == 0){
 				tOrder.setOrderStatus(OrderState.ALREADY_SIGN.getCode());
-				tOrder.setActuallyTotalAmount(tOrder.getActuallyTotalAmount().add(changeAmount));
+				tOrder.setActuallyTotalAmount(tOrder.getSignTotalAmount());
 				tOrder.setLiquidationStatus(LiquidationState.ALREADY_PAY.getCode());
 			}
 		}else if(orderAction == OrderAction.APPLY_FOR_WITHDRAW){ //提现申请 

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

@@ -113,4 +113,6 @@ ORDER_ALREADY_FREEZE = \u8BE5\u8BA2\u5355\u5DF2\u7ECF\u51BB\u7ED3{0}
 
 ORDER_ALREADY_REVOKE = \u8BE5\u8BA2\u5355\u5DF2\u7ECF\u5E9F\u9664{0}
 
-ORDER_NOT_EXIST = \u8BA2\u5355\u4E0D\u5B58\u5728{0}
+ORDER_NOT_EXIST = \u8BA2\u5355\u4E0D\u5B58\u5728{0}
+
+PAY_BEYOND_SIGN = \u652F\u4ED8\u91D1\u989D\u8D85\u8FC7\u5408\u540C\u4EF7\u683C