|
|
@@ -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);
|