diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetInfoServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetInfoServiceImpl.java index a3b9de855..c269bbea3 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetInfoServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetInfoServiceImpl.java @@ -428,20 +428,24 @@ public class FleetInfoServiceImpl extends ServiceImpl() - .eq(FleetInfo::getId, fleetConsumeRecord.getFleetId())); - //判断支付金额是否超过当前余额 - if (money > fleetInfo.getTotalBalance()){ - throw new RuntimeException("支付金额超过当前余额"); - } - + //根据用户id,查询车队信息 //查找车队成员 FleetMember fleetMember = fleetMemberMapper.selectOne(new LambdaQueryWrapper() - .eq(FleetMember::getId, fleetConsumeRecord.getFleetMemberId())); + .eq(FleetMember::getUserId, allOrderInfo.getUserId()) + .orderBy(true,true,FleetMember::getCreateTime) + .last("limit 1")); + // 获取当前车队卡 + FleetInfo fleetInfo = baseMapper.selectOne(new LambdaQueryWrapper() + .eq(FleetInfo::getId, fleetMember.getFleetId())); + //判断支付金额是否超过当前余额 + if (money > fleetInfo.getTotalBalance()){ + throw new RuntimeException("支付金额超过当前车队余额"); + } + + //判断成员的余额是否足够支付 if (money > fleetMember.getRemainingCreditLimit()) { - throw new RuntimeException("支付金额超过当前余额"); + throw new RuntimeException("支付金额超过当前剩余额度"); } //更新时间