From a3039492d7abdbb3c1f4e085a238c87674411083 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 27 八月 2025 16:28:00 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 38 insertions(+), 19 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 d4c673c..7a17878 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 @@ -36,6 +36,7 @@ import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; @@ -101,9 +102,17 @@ }*/ List<String> orderNumberList=new ArrayList<>(); JSONObject result = new JSONObject(); - try (InputStream inputStream = file.getInputStream(); - Workbook workbook = new XSSFWorkbook(inputStream)) { -// Workbook workbook = new XSSFWorkbook(fileInputStream); + try (InputStream inputStream = file.getInputStream()) { + Workbook workbook; + + // 判断文件类型并创建相应的Workbook对象 + if (file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".xlsx")) { + workbook = new XSSFWorkbook(inputStream); // 处理 .xlsx 文件 + } else if (file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".xls")) { + workbook = new HSSFWorkbook(inputStream); // 处理 .xls 文件 + } else { + throw new ServiceException("不支持的文件格式,请上传 .xls 或 .xlsx 格式的文件", 500); + } Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet int lastRowNum = sheet.getLastRowNum(); for (int i = 1; i <= lastRowNum; i++) {//第二行开始 @@ -337,6 +346,12 @@ public R importData(ChargeOrder chargeOrder) { Site site = siteClient.getSiteAll().getData().stream().filter(e -> e.getId() .equals(chargeOrder.getPowerStationId())).findFirst().orElse(null); + if (site==null){ + return R.fail("站点不存在"); + } + // 扣除站点系统用户的积分数 + List<SysUser> data = sysUserClient.getSysUserAll().getData(); + SysUser sysUser = data.stream().filter(e -> site.getId().equals(e.getSiteId())).findFirst().orElse(null); Integer point=0; AppUser appuser = appUserClient.getAppUserByPhone1(chargeOrder.getPhone()).getData(); //获取用户,更改积分数 @@ -352,6 +367,20 @@ 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()); + } + 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();//总积分 @@ -363,10 +392,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(); @@ -378,18 +404,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); @@ -464,7 +483,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