|
|
@@ -361,7 +361,14 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
if(tOrder.getActuallyTotalAmount().doubleValue() <= 0)
|
|
|
flag = false;
|
|
|
if(!flag) throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT,"申请退款"));
|
|
|
- tOrder.setLiquidationStatus(LiquidationState.COMPLETE_REFUND.getCode());
|
|
|
+ int boundary = tOrder.getActuallyTotalAmount().add(changeAmount).compareTo(tOrder.getSignTotalAmount());
|
|
|
+ if(boundary == 0) {
|
|
|
+ tOrder.setLiquidationStatus(LiquidationState.COMPLETE_REFUND.getCode()); //完成退款
|
|
|
+ }else if(boundary == 1){
|
|
|
+ tOrder.setLiquidationStatus(LiquidationState.AGREE_REFUND.getCode()); //需要再退款
|
|
|
+ }else if(boundary == -1){
|
|
|
+ throw new BusinessException(new Error(ErrorConstants.REFUND_BEYOND_SIGN,"退款"));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -924,7 +931,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
tOrder.setSignTotalAmount(new BigDecimal(signTotalAmount));
|
|
|
tOrder.setOrderStage(OrderStage.SIGNED.getCode());
|
|
|
tOrder.setOrderStatus(OrderState.ALREADY_SIGN.getCode());
|
|
|
- tOrder.setProjectStage(ProjectStage.WAIT_SET_UP.getCode());
|
|
|
+ tOrder.setProjectStage(ProjectStage.NOT_SATISFY_CONDITION.getCode());
|
|
|
tOrder.setApproval(Integer.valueOf(approval));
|
|
|
tOrder.setUpdateTime(new Date());
|
|
|
try {
|
|
|
@@ -1508,7 +1515,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
|
|
|
if(tOrder.getLiquidationStatus() == LiquidationState.AGREE_REFUND.getCode()){
|
|
|
addFundRecord(orderNo, "测试用户", DEFAULT_PLATFORM_ID, TokenManager.getUserId(), "",
|
|
|
- TransactionSubject.REFUND,PayChannel.UNIONPAY, new BigDecimal(refundAmount), TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
|
|
|
+ TransactionSubject.REFUND,PayChannel.UNIONPAY, new BigDecimal(refundAmount).multiply(new BigDecimal(-1)), TransactionMode.OFFLINE, AuditState.WAIT_AUDIT);
|
|
|
tOrder.setUpdateTime(new Date());
|
|
|
tOrderMapper.updateByPrimaryKeySelective(tOrder);
|
|
|
}else{
|