Procházet zdrojové kódy

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

wanghui před 8 roky
rodič
revize
5276846162

+ 43 - 17
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -353,28 +353,54 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 					active.setPayForLast(false);
 				}
 				boolean flag = true;
-				if (tOrder.getOrderStatus() == OrderState.CANCELLED.getCode())
-					flag = false;
-				if (tOrder.getIntentionStatus() == IntentionSate.SELLER_REFUSE.getCode()
-						|| tOrder.getIntentionStatus() == IntentionSate.BUYER_CANCELLED.getCode()
-						|| tOrder.getIntentionStatus() == IntentionSate.EXPIRED.getCode()) {
-					flag = false;
-				}
-				if (tOrder.getTradingStatus() == TradingState.TRADE_FAILED.getCode())
-					flag = false;
-				if (tOrder.getPaymentStatus() == PaymentState.WAIT_FOR_REFUND.getCode()
-						|| tOrder.getPaymentStatus() == PaymentState.ALREADY_REFUND.getCode())
-					flag = false;
-				if (tOrder.getLiquidationStatus() == LiquidationSate.WAIT_FOR_WITHDRAW.getCode()
-						|| tOrder.getLiquidationStatus() == LiquidationSate.WAIT_FOR_REFUND.getCode()
-						|| tOrder.getLiquidationStatus() == LiquidationSate.REFUND_SETTLE.getCode()) {
-					flag = false;
+				if (tOrder.getCommodityType() == CommodityType.DEMAND_PROVIDE.getTypeCode()) { //需求订单
+					flag = false; //卖家取消
+				}else{
+					if (tOrder.getOrderStatus() == OrderState.CANCELLED.getCode())
+						flag = false;
+					if (tOrder.getIntentionStatus() == IntentionSate.SELLER_REFUSE.getCode()
+							|| tOrder.getIntentionStatus() == IntentionSate.BUYER_CANCELLED.getCode()
+							|| tOrder.getIntentionStatus() == IntentionSate.EXPIRED.getCode()) {
+						flag = false;
+					}
+					if (tOrder.getTradingStatus() == TradingState.TRADE_FAILED.getCode())
+						flag = false;
+					if (tOrder.getPaymentStatus() == PaymentState.WAIT_FOR_REFUND.getCode()
+							|| tOrder.getPaymentStatus() == PaymentState.ALREADY_REFUND.getCode())
+						flag = false;
+					if (tOrder.getLiquidationStatus() == LiquidationSate.WAIT_FOR_WITHDRAW.getCode()
+							|| tOrder.getLiquidationStatus() == LiquidationSate.WAIT_FOR_REFUND.getCode()
+							|| tOrder.getLiquidationStatus() == LiquidationSate.REFUND_SETTLE.getCode()) {
+						flag = false;
+					}
 				}
 				active.setApplyForCancel(flag);
 			} else if (TokenManager.getUserId().equals(tOrder.getSellerId())) { //卖方
 				active.setPayForFirst(false);
 				active.setPayForLast(false);
-				active.setApplyForCancel(false);
+				if (tOrder.getCommodityType() == CommodityType.DEMAND_PROVIDE.getTypeCode()) { //需求订单
+					boolean flag = true;
+					if (tOrder.getOrderStatus() == OrderState.CANCELLED.getCode())
+						flag = false;
+					if (tOrder.getIntentionStatus() == IntentionSate.SELLER_REFUSE.getCode()
+							|| tOrder.getIntentionStatus() == IntentionSate.BUYER_CANCELLED.getCode()
+							|| tOrder.getIntentionStatus() == IntentionSate.EXPIRED.getCode()) {
+						flag = false;
+					}
+					if (tOrder.getTradingStatus() == TradingState.TRADE_FAILED.getCode())
+						flag = false;
+					if (tOrder.getPaymentStatus() == PaymentState.WAIT_FOR_REFUND.getCode()
+							|| tOrder.getPaymentStatus() == PaymentState.ALREADY_REFUND.getCode())
+						flag = false;
+					if (tOrder.getLiquidationStatus() == LiquidationSate.WAIT_FOR_WITHDRAW.getCode()
+							|| tOrder.getLiquidationStatus() == LiquidationSate.WAIT_FOR_REFUND.getCode()
+							|| tOrder.getLiquidationStatus() == LiquidationSate.REFUND_SETTLE.getCode()) {
+						flag = false;
+					}
+					active.setApplyForCancel(flag);
+				}else{
+					active.setApplyForCancel(false);
+				}
 				if (tOrder.getOrderStatus() == OrderState.INTENTION.getCode()
 						&& tOrder.getIntentionStatus() == IntentionSate.WAIT_SELLER_CONFIRM.getCode()
 						&& tOrder.getTradingStatus() == TradingState.WAIT_FOR_TRADE.getCode()