Browse Source

Merge remote-tracking branch 'origin/test'

anderx 8 years ago
parent
commit
2248d7c77e

+ 2 - 5
src/main/java/com/goafanti/order/controller/AdminOrderApiController.java

@@ -250,16 +250,13 @@ public class AdminOrderApiController extends CertifyApiController {
 	 * @param newRemarks
 	 * @return
 	 */
-	public Result updateOrderCommodity(String detailId,String orderNo,String oldCommodityPrice,String oldDiscountPrice,Integer oldCommodityQuantity,
-			String commodityId, String commodityName,String commodityMode, Integer commodityQuantity,Integer commodityType,
-			String commodityPrice, String discountPrice,String commodityFirstPayment,String discountFirstPayment,String remarks){
+	public Result updateOrderCommodity(String detailId,String orderNo,String discountPrice,String discountFirstPayment,Integer commodityQuantity,String remarks){
 		Result res = new Result();
 		if(StringUtils.isBlank(detailId)){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","详情编号"));
 			return res;
 		}
-		orderServiceImpl.updateOrderCommodity(detailId, commodityId, commodityName, commodityMode, commodityQuantity, 
-				commodityType, commodityPrice, discountPrice, commodityFirstPayment, discountFirstPayment, remarks);
+		orderServiceImpl.updateOrderCommodity(detailId, orderNo, discountPrice, discountFirstPayment,commodityQuantity, remarks);
 		return res;
 	}
 	

+ 3 - 10
src/main/java/com/goafanti/order/service/OrderService.java

@@ -172,22 +172,15 @@ public interface OrderService {
 			String commodityPrice, String discountPrice,String commodityFirstPayment,String discountFirstPayment, String remarks);
 	
 	/**
-	 * 修改订单商品
+	 * 修改商品信息
 	 * @param detailId
-	 * @param commodityId
-	 * @param commodityName
-	 * @param commodityMode
-	 * @param commodityQuantity
-	 * @param commodityType
-	 * @param commodityPrice
+	 * @param orderNo
 	 * @param discountPrice
-	 * @param commodityFirstPayment
 	 * @param discountFirstPayment
 	 * @param remarks
 	 * @return
 	 */
-	int updateOrderCommodity(String detailId,String commodityId, String commodityName,String commodityMode, Integer commodityQuantity,Integer commodityType,
-			String commodityPrice, String discountPrice,String commodityFirstPayment,String discountFirstPayment,String remarks);
+	int updateOrderCommodity(String detailId,String orderNo,String discountPrice,String discountFirstPayment,Integer commodityQuantity,String remarks);
 
 	/**
 	 * 删除订单商品

+ 15 - 34
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -231,7 +231,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				tOrder.setActuallyFirstPayment(tOrder.getActuallyFirstPayment().add(changeAmount));
 			}else if(boundary == 0){ //首付已结清
 				tOrder.setActuallyTotalAmount(tOrder.getActuallyTotalAmount().add(changeAmount));
-				tOrder.setActuallyFirstPayment(tOrder.getActuallyFirstPayment().add(changeAmount));
+				tOrder.setActuallyFirstPayment(tOrder.getSignFirstPayment());
 				tOrder.setLiquidationStatus(LiquidationState.WAIT_PAY_LAST_BALANCE.getCode());
 				tOrder.setProjectStage(ProjectStage.WAIT_SET_UP.getCode());
 			}
@@ -241,7 +241,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 			}
 			int boundary = tOrder.getActuallyTotalAmount().add(changeAmount).compareTo(tOrder.getSignTotalAmount());
 			if(boundary == 1){
-				throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,"支付尾款"));
+				throw new BusinessException(new Error(ErrorConstants.PAY_BEYOND_SIGN,"支付尾款"));
 			}else if(boundary == -1){
 				tOrder.setActuallyTotalAmount(tOrder.getActuallyTotalAmount().add(changeAmount));
 			}else if(boundary == 0){
@@ -389,12 +389,14 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 					active.setConfirmIntention(false);
 					active.setRefuseIntention(false);
 				}
-				if (tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()) {
+				if (tOrder.getOrderStatus() != OrderState.WAIT_FOR_CONFIRM.getCode()
+						&&tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()) {
 					active.setPayForFirst(true); //支付首付
 				} else {
 					active.setPayForFirst(false); //支付首付
 				}
-				if (tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()) {
+				if (tOrder.getOrderStatus() != OrderState.WAIT_FOR_CONFIRM.getCode()
+						&& tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()) {
 					active.setPayForLast(true); //支付尾款
 				} else {
 					active.setPayForLast(false); //支付尾款
@@ -624,8 +626,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		addFundRecord(orderNo, TokenManager.getUserToken().getNickname(), DEFAULT_PLATFORM_ID, TokenManager.getUserId(), remarks, 
 				TransactionSubject.SUPPLY_PAY,PayChannel.UNIONPAY, fundAmount, TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
 		tOrder.setUpdateTime(new Date());
-		tOrderMapper.updateByPrimaryKeySelective(tOrder);
-		return 1;
+		return tOrderMapper.updateByPrimaryKeySelective(tOrder);
 	}
 
 	@Override
@@ -634,13 +635,11 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		addFundRecord(orderNo, TokenManager.getUserToken().getNickname(), DEFAULT_PLATFORM_ID, TokenManager.getUserId(), remarks, 
 				TransactionSubject.SUPPLY_PAY,PayChannel.UNIONPAY, fundAmount, TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
 		tOrder.setUpdateTime(new Date());
-		tOrderMapper.updateByPrimaryKeySelective(tOrder);
-		return 1;
+		return tOrderMapper.updateByPrimaryKeySelective(tOrder);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	//to update 18
 	public Pagination<C2BOrderDetailBo> selectOrderList(boolean confirm,Integer pageNo,Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		Pagination<C2BOrderDetailBo> result = new Pagination<C2BOrderDetailBo>();
@@ -958,8 +957,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 
 	@Override
 	@Transactional
-	public int updateOrderCommodity(String detailId,String commodityId, String commodityName,String commodityMode, Integer commodityQuantity,Integer commodityType,
-			String commodityPrice, String discountPrice,String commodityFirstPayment,String discountFirstPayment,String remarks) {
+	public int updateOrderCommodity(String detailId,String orderNo,String discountPrice,String discountFirstPayment,Integer commodityQuantity,String remarks) {
 		TOrderDetail oldDetail = tOrderDetailMapper.selectByPrimaryKey(detailId);
 		TOrder tOrder = tOrderMapper.selectByPrimaryKey(oldDetail.getOrderNo());
 		checkOrder(tOrder);
@@ -969,34 +967,17 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 			TOrderDetail detail = new TOrderDetail();
 			detail.setId(detailId);
 			detail.setOrderNo(oldDetail.getOrderNo());
-			detail.setCommodityId(commodityId);
 			detail.setCommodityQuantity(commodityQuantity);
-			detail.setCommodityType(commodityType);
-			detail.setCommodityMode(StringUtils.isBlank(commodityMode) ? DEFAULT_COMMODITY_MODE : commodityMode);
-			detail.setCommodityPrice(new BigDecimal(commodityPrice));
 			detail.setDiscountPrice(new BigDecimal(discountPrice));
-			detail.setCommodityFirstPayment(new BigDecimal(commodityFirstPayment));
 			detail.setDiscountFirstPayment(new BigDecimal(discountFirstPayment));
 			detail.setRemarks(remarks);
-			tOrderDetailMapper.insert(detail);
-			new BigDecimal(discountFirstPayment).multiply(new BigDecimal(commodityQuantity)).subtract(
-					oldDetail.getDiscountFirstPayment().multiply(new BigDecimal(oldDetail.getCommodityQuantity())));
-			// 订单市场价总额
-			BigDecimal totalAmountChange = new BigDecimal(commodityPrice).multiply(new BigDecimal(commodityQuantity))
-					.subtract(oldDetail.getCommodityPrice().multiply(new BigDecimal(oldDetail.getCommodityQuantity())));
-			// 订单市场价首付金额
-			BigDecimal firstPaymentChange = new BigDecimal(commodityFirstPayment)
-					.multiply(new BigDecimal(commodityQuantity)).subtract(oldDetail.getCommodityFirstPayment()
-							.multiply(new BigDecimal(oldDetail.getCommodityQuantity())));
+			tOrderDetailMapper.updateByPrimaryKeySelective(detail);
 			// 订单签单总额
 			BigDecimal signTotalAmountChange = new BigDecimal(discountPrice).multiply(new BigDecimal(commodityQuantity))
 					.subtract(oldDetail.getDiscountPrice().multiply(new BigDecimal(oldDetail.getCommodityQuantity())));
 			// 订单签单首付金额
-			BigDecimal signFirstPaymentChange = new BigDecimal(discountFirstPayment)
-					.multiply(new BigDecimal(commodityQuantity)).subtract(oldDetail.getDiscountFirstPayment()
-							.multiply(new BigDecimal(oldDetail.getCommodityQuantity())));
-			tOrder.setOrderAmount(tOrder.getOrderAmount().add(totalAmountChange));
-			tOrder.setFirstPayment(tOrder.getFirstPayment().add(firstPaymentChange));
+			BigDecimal signFirstPaymentChange = new BigDecimal(discountFirstPayment).multiply(new BigDecimal(commodityQuantity))
+					.subtract(oldDetail.getDiscountFirstPayment().multiply(new BigDecimal(oldDetail.getCommodityQuantity())));
 			tOrder.setSignTotalAmount(tOrder.getSignTotalAmount().add(signTotalAmountChange));
 			tOrder.setSignFirstPayment(tOrder.getSignFirstPayment().add(signFirstPaymentChange));
 			tOrder.setUpdateTime(new Date());
@@ -1285,11 +1266,11 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 				checkOrder(order);
 				if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode())
 					setOrderState(OrderAction.CONFIRM_PAY_FOR_FIRST, bill.getTransactionAmount(), order, false);
-				if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode())
+				else if(order.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode())
 					setOrderState(OrderAction.CONFIRM_PAY_FOR_LAST, bill.getTransactionAmount(), order, false);
-				if(order.getLiquidationStatus() == LiquidationState.AGREE_REFUND.getCode())
+				else if(order.getLiquidationStatus() == LiquidationState.AGREE_REFUND.getCode())
 					setOrderState(OrderAction.COMPLETE_REFUND, bill.getTransactionAmount(), order, false);
-				if(order.getLiquidationStatus() == LiquidationState.WAIT_FOR_WITHDRAW.getCode())
+				else if(order.getLiquidationStatus() == LiquidationState.WAIT_FOR_WITHDRAW.getCode())
 					setOrderState(OrderAction.CONFIRM_WITHDRAW, bill.getTransactionAmount(), order, false);
 				order.setUpdateTime(new Date());
 				tOrderMapper.updateByPrimaryKeySelective(order);