xuhy
2025-08-27 c8b8fec415c1e6c419d792894f830c39c76f761c
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++) {//第二行开始
@@ -314,7 +323,7 @@
            throw new ServiceException(e.getMessage());
        }
        if(!result.isEmpty()){
            return R.fail(result);
            return R.fail(result.toString());
        }
        return R.ok();
    }
@@ -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);