From c8b8fec415c1e6c419d792894f830c39c76f761c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 27 八月 2025 10:11:10 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 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 0449fba..6ae4d21 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++) {//第二行开始
@@ -381,6 +390,12 @@
             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);
             }
@@ -474,7 +489,7 @@
             }
             // 计算积分并向下取整(Floor)
             int cashInt = cash.intValue();
-            return cashInt*=num1;
+            return cashInt * num1;
 
         } catch (NumberFormatException e) {
             throw new RuntimeException("积分兑换比例配置值格式错误", e);

--
Gitblit v1.7.1