|
|
@@ -4,8 +4,10 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springblade.common.cache.PlatformCache;
|
|
|
import org.springblade.common.enums.AppConstant;
|
|
|
import org.springblade.common.enums.OrderType;
|
|
|
+import org.springblade.common.enums.PaymentScene;
|
|
|
import org.springblade.common.enums.ResCode;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
+import org.springblade.ldt.bills.service.IBillsService;
|
|
|
import org.springblade.payment.handle.entity.HandleData;
|
|
|
import org.springblade.payment.handle.entity.Order;
|
|
|
import org.springblade.ldt.bills.entity.BalanceBills;
|
|
|
@@ -23,9 +25,9 @@ import java.math.BigDecimal;
|
|
|
*/
|
|
|
@AllArgsConstructor
|
|
|
public class BalanceHandle implements BaseHandle {
|
|
|
-
|
|
|
+ private IBillsService billsService;
|
|
|
private IBalanceBillsService balanceBillsService;
|
|
|
-
|
|
|
+ private DataHandle dataHandle;
|
|
|
/**
|
|
|
* 用户的余额扣除,余额足够抵消交易金额,剩余支付金额remain为0,交易结束
|
|
|
* 不足抵消,remain将会流转到下一个节点处理
|
|
|
@@ -46,6 +48,7 @@ public class BalanceHandle implements BaseHandle {
|
|
|
|
|
|
//获取最低的积分余额抵扣门槛
|
|
|
BigDecimal minValue = BigDecimal.valueOf(PlatformCache.platFormConfig().getMinValue());
|
|
|
+ BigDecimal minPointFee = BigDecimal.valueOf(PlatformCache.platFormConfig().getMinPointFee());
|
|
|
|
|
|
if(consumeMax.compareTo(minValue)<=0){
|
|
|
successParams.getBills().setBalanceNum(BigDecimal.ZERO);
|
|
|
@@ -69,7 +72,11 @@ public class BalanceHandle implements BaseHandle {
|
|
|
BalanceBills balanceBills = addBillRecord(order, user, handlePrice,successParams.getBills().getId(),pointFee);
|
|
|
successParams.setBalanceBillsId(balanceBills.getId());
|
|
|
successParams.getBills().setBalanceNum(handlePrice);
|
|
|
+ successParams.getBills().setPayway(PaymentScene.MINI_PROGRAM.name());
|
|
|
+ successParams.getBills().setPrice(remain);
|
|
|
|
|
|
+ //新建事务,保存订单信息,
|
|
|
+ Assert.isTrue(dataHandle.saveBills(billsService,successParams.getBills()),()->{throw new ServiceException(ResCode.TRADE_ERROR);});
|
|
|
return HandleData.builder().isSuccess(Boolean.TRUE).successParams(successParams).remain(remain).build();
|
|
|
}
|
|
|
|
|
|
@@ -91,4 +98,6 @@ public class BalanceHandle implements BaseHandle {
|
|
|
Assert.isTrue(balanceBillsService.save(balanceBills),()->{throw new ServiceException(ResCode.TRADE_ERROR);});
|
|
|
return balanceBills;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|