|
|
@@ -90,7 +90,6 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
private final double DEFAULT_COMMODITY_DISCOUNT = 1; //折扣比例
|
|
|
private final String DEFAULT_COMMODITY_MODE = "NO_MODE"; //暂无规格
|
|
|
private final String DEFAULT_CREATER = "PLATFORM";//平台方
|
|
|
- private final BigDecimal DEFAULT_AMOUNT_UNIT = new BigDecimal(10000); //单位
|
|
|
/*
|
|
|
* -------------------------------------------------- APP管理端 --------------------------------------------------------
|
|
|
*/
|
|
|
@@ -162,10 +161,10 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
tOrderDetail.setCommodityMode(StringUtils.isBlank(commodityMode)?DEFAULT_COMMODITY_MODE: commodityMode);
|
|
|
tOrderDetail.setCommodityType(commodityType);
|
|
|
tOrderDetail.setCommodityQuantity(commodityQuantity);
|
|
|
- tOrderDetail.setCommodityPrice(commodityPrice.multiply(DEFAULT_AMOUNT_UNIT));
|
|
|
- tOrderDetail.setCommodityFirstPayment(commodityFirstPayment.multiply(DEFAULT_AMOUNT_UNIT));
|
|
|
- tOrderDetail.setDiscountPrice(discountPrice.multiply(DEFAULT_AMOUNT_UNIT));
|
|
|
- tOrderDetail.setDiscountFirstPayment(discountFirstPayment.multiply(DEFAULT_AMOUNT_UNIT));
|
|
|
+ tOrderDetail.setCommodityPrice(commodityPrice);
|
|
|
+ tOrderDetail.setCommodityFirstPayment(commodityFirstPayment);
|
|
|
+ tOrderDetail.setDiscountPrice(discountPrice);
|
|
|
+ tOrderDetail.setDiscountFirstPayment(discountFirstPayment);
|
|
|
tOrderDetail.setCreateTime(DateUtils.parseDate(createTime, AFTConstants.YYYYMMDDHHMMSS));
|
|
|
tOrderDetailMapper.insert(tOrderDetail);
|
|
|
tOrderMapper.insert(tOrder);
|
|
|
@@ -251,16 +250,16 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
tOrder.setLiquidationStatus(LiquidationState.ALREADY_PAY.getCode());
|
|
|
}
|
|
|
}else if(orderAction == OrderAction.APPLY_FOR_WITHDRAW){ //提现申请
|
|
|
- if(tOrder.getOrderStatus() == OrderState.ALREADY_SIGN.getCode()
|
|
|
- && tOrder.getLiquidationStatus() == LiquidationState.ALREADY_PAY.getCode()
|
|
|
- && tOrder.getActuallyTotalAmount().doubleValue() > 0){
|
|
|
+ if(tOrder.getOrderStatus() != OrderState.ALREADY_SIGN.getCode()
|
|
|
+ || tOrder.getLiquidationStatus() != LiquidationState.ALREADY_PAY.getCode()
|
|
|
+ || tOrder.getActuallyTotalAmount().doubleValue() <= 0){
|
|
|
throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,"等待提现"));
|
|
|
}
|
|
|
tOrder.setLiquidationStatus(LiquidationState.WAIT_FOR_WITHDRAW.getCode());
|
|
|
}else if(orderAction == OrderAction.CONFIRM_WITHDRAW){ //提现确认 (审核员先审核流水)
|
|
|
- if(tOrder.getOrderStatus() == OrderState.ALREADY_SIGN.getCode()
|
|
|
- && tOrder.getLiquidationStatus() == LiquidationState.WAIT_FOR_WITHDRAW.getCode()
|
|
|
- && tOrder.getActuallyTotalAmount().doubleValue() > 0){
|
|
|
+ if(tOrder.getOrderStatus() != OrderState.ALREADY_SIGN.getCode()
|
|
|
+ || tOrder.getLiquidationStatus() != LiquidationState.WAIT_FOR_WITHDRAW.getCode()
|
|
|
+ || tOrder.getActuallyTotalAmount().doubleValue() <= 0){
|
|
|
throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,"确认提现"));
|
|
|
}
|
|
|
tOrder.setLiquidationStatus(LiquidationState.ALREADY_WITHDRAW.getCode());
|
|
|
@@ -390,14 +389,12 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
active.setConfirmIntention(false);
|
|
|
active.setRefuseIntention(false);
|
|
|
}
|
|
|
- if (tOrder.getOrderStatus() == OrderState.WAIT_FOR_SIGN.getCode()
|
|
|
- && tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()) {
|
|
|
+ if (tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode()) {
|
|
|
active.setPayForFirst(true); //支付首付
|
|
|
} else {
|
|
|
active.setPayForFirst(false); //支付首付
|
|
|
}
|
|
|
- if (tOrder.getOrderStatus() == OrderState.WAIT_FOR_SIGN.getCode()
|
|
|
- && tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()) {
|
|
|
+ if (tOrder.getLiquidationStatus() == LiquidationState.WAIT_PAY_LAST_BALANCE.getCode()) {
|
|
|
active.setPayForLast(true); //支付尾款
|
|
|
} else {
|
|
|
active.setPayForLast(false); //支付尾款
|
|
|
@@ -420,7 +417,6 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
&& tOrder.getOrderStatus() != OrderState.SELLER_CANCEL_AFTER_SIGN.getCode()){
|
|
|
flag = false;
|
|
|
}
|
|
|
-
|
|
|
if(tOrder.getLiquidationStatus() == LiquidationState.WAIT_FOR_REFUND_CONFIRM.getCode()
|
|
|
|| tOrder.getLiquidationStatus() == LiquidationState.REFUSE_REFUND.getCode()
|
|
|
|| tOrder.getLiquidationStatus() == LiquidationState.AGREE_REFUND.getCode()
|
|
|
@@ -752,15 +748,9 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- //to update 18
|
|
|
public int updateApplyForCancel(String orderNo) {
|
|
|
TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
|
|
|
setOrderState(OrderAction.APPLY_FOR_CANCEL, new BigDecimal(0), tOrder, false);
|
|
|
- if(true){ //退款
|
|
|
- BigDecimal transactionAmount = tOrder.getActuallyTotalAmount().subtract(tOrder.getActuallyBrokerageAmount());
|
|
|
- addFundRecord(orderNo, "平台方", DEFAULT_PLATFORM_ID,TokenManager.getUserId(), "买家取消订单",
|
|
|
- TransactionSubject.REFUND, PayChannel.UNIONPAY,transactionAmount,TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
|
|
|
- }
|
|
|
tOrder.setUpdateTime(new Date());
|
|
|
tOrderMapper.updateByPrimaryKeySelective(tOrder);
|
|
|
return 1;
|
|
|
@@ -1297,6 +1287,10 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
setOrderState(OrderAction.CONFIRM_PAY_FOR_FIRST, bill.getTransactionAmount(), order, false);
|
|
|
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())
|
|
|
+ setOrderState(OrderAction.COMPLETE_REFUND, bill.getTransactionAmount(), order, false);
|
|
|
+ if(order.getLiquidationStatus() == LiquidationState.WAIT_FOR_WITHDRAW.getCode())
|
|
|
+ setOrderState(OrderAction.CONFIRM_WITHDRAW, bill.getTransactionAmount(), order, false);
|
|
|
order.setUpdateTime(new Date());
|
|
|
tOrderMapper.updateByPrimaryKeySelective(order);
|
|
|
}else if(confrim == AFTConstants.NO){
|
|
|
@@ -1503,4 +1497,30 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
return DEFAULT_ADMIN_ID;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BillListBo> selectBillByOrderNo(String orderNo) {
|
|
|
+ return tOrderMapper.selectBillByOrderNo(orderNo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int updateApplyForRefund(String orderNo) {
|
|
|
+ TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
|
|
|
+ setOrderState(OrderAction.APPLY_FOR_REFUND, new BigDecimal(0), tOrder, false);
|
|
|
+ tOrder.setUpdateTime(new Date());
|
|
|
+ return tOrderMapper.updateByPrimaryKey(tOrder);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int updateConfirmRefund(String orderNo,boolean confirm) {
|
|
|
+ TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
|
|
|
+ setOrderState(OrderAction.CONFIRM_REFUND, new BigDecimal(0), tOrder, confirm);
|
|
|
+ tOrder.setUpdateTime(new Date());
|
|
|
+ if(confirm){ //同意退款生成退款流水
|
|
|
+ BigDecimal transactionAmount = tOrder.getActuallyTotalAmount().subtract(tOrder.getActuallyBrokerageAmount());
|
|
|
+ addFundRecord(orderNo, "平台方", DEFAULT_PLATFORM_ID,TokenManager.getUserId(), "同意退款系统生成流水",
|
|
|
+ TransactionSubject.REFUND, PayChannel.UNIONPAY,transactionAmount,TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
|
|
|
+ }
|
|
|
+ return tOrderMapper.updateByPrimaryKey(tOrder);
|
|
|
+ }
|
|
|
}
|