From 05f53069a91f979ec3d18e0a7abc8ce67c2656b2 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 04 九月 2025 14:35:01 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java | 49 ++++++++++++++++++++++++++++--------------------- 1 files changed, 28 insertions(+), 21 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java index 6ae4d21..032a9fc 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java @@ -59,10 +59,7 @@ import java.time.LocalTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; +import java.util.*; @Slf4j @Service @@ -361,6 +358,26 @@ appuser.setDelFlag(false); appuser.setName(appuser.getPhone().substring(0, 3) + "****" + appuser.getPhone().substring(7)); } + if (site==null){ + //先计算出积分数 + point = getPoint(chargeOrder.getTotalAmount()); + }else{ + point = getPointSite(chargeOrder.getTotalAmount(),site.getId()); + } + // 扣除站点系统用户的积分数 + SysUser sysUser=null; + if(Objects.nonNull(site)){ + List<SysUser> data = sysUserClient.getSysUserAll().getData(); + sysUser = data.stream().filter(e -> site.getId().equals(e.getSiteId())).findFirst().orElse(null); + if (sysUser != null) { + if (sysUser.getIntegral()< point){ + return R.fail("站点积分不足"); + } + }else { + return R.fail("站点用户不存在"); + } + } + Integer chargePoint=appuser.getRechargePoint()==null?0:appuser.getRechargePoint();//充值积分 Integer availablePoint=appuser.getAvailablePoint()==null?0:appuser.getAvailablePoint();//可用积分 Integer totalPoint=appuser.getTotalPoint()==null?0:appuser.getTotalPoint();//总积分 @@ -372,10 +389,7 @@ if (userId==null){ return R.fail("导入订单-保存用户失败"); } - if (site==null){ - //先计算出积分数 - point = getPoint(chargeOrder.getTotalAmount()); - }else{ + if (site!=null){ point = getPointSite(chargeOrder.getTotalAmount(),site.getId()); // 增加站点端积分明细 IntegralRecord integralRecord = new IntegralRecord(); @@ -387,18 +401,11 @@ integralRecord.setCreateTime(LocalDateTime.now()); otherClient.saveIntegralRecord(integralRecord); // 扣除站点系统用户的积分数 - List<SysUser> data = sysUserClient.getSysUserAll().getData(); - SysUser sysUser = data.stream().filter(e -> e.getSiteId().equals(site.getId())).findFirst().orElse(null); - if (sysUser != null) { - if (sysUser.getIntegral()==null){ - sysUser.setIntegral(0); - } - if (sysUser.getIntegral()< point){ - return R.fail("站点积分不足"); - } - sysUser.setIntegral(sysUser.getIntegral()==null?0:sysUser.getIntegral()-point); - sysUserClient.updateSysUser(sysUser); + if (sysUser.getIntegral()==null){ + sysUser.setIntegral(0); } + sysUser.setIntegral(sysUser.getIntegral()==null?0:sysUser.getIntegral()-point); + sysUserClient.updateSysUser(sysUser); } //保存到数据库 chargeOrder.setPoint(point); @@ -432,7 +439,7 @@ throw new IllegalArgumentException("金额不能为null或负数"); } // 获取积分兑换比例配置 - R<SysConfig> info = sysConfigClient.getInfo(8L); + R<SysConfig> info = sysConfigClient.getInfo(10L); if (info == null || info.getData() == null) { throw new RuntimeException("获取积分兑换比例配置失败"); } @@ -473,7 +480,7 @@ throw new RuntimeException("获取积分兑换比例配置失败"); } - if (org.springframework.util.StringUtils.hasLength(data.getChargeCredit())) { + if (!org.springframework.util.StringUtils.hasLength(data.getChargeCredit())) { throw new RuntimeException("获取积分兑换比例配置失败"); } String chargeCredit = data.getChargeCredit(); -- Gitblit v1.7.1