From 3b054d0694de1a04c111f7adef089f264143cc8c Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 27 八月 2025 11:52:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 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 e028f8b..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 @@ -17,6 +17,7 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.dto.GetImportOrderDTO; import com.ruoyi.order.mapper.ChargeOrderMapper; import com.ruoyi.order.mapper.OrderMapper; @@ -35,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; @@ -100,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++) {//第二行开始 @@ -313,7 +323,7 @@ throw new ServiceException(e.getMessage()); } if(!result.isEmpty()){ - return R.ok(result); + return R.fail(result.toString()); } return R.ok(); } @@ -380,10 +390,19 @@ 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); } } + //保存到数据库 + chargeOrder.setPoint(point); + chargeOrderService.save(chargeOrder); //添加用户积分流水 //转入用户 UserPoint userPoint = new UserPoint(); @@ -398,9 +417,7 @@ if (r.isError(r)) { return R.fail("导入订单-保存用户积分流水失败"); } - //保存到数据库 - chargeOrder.setPoint(point); - chargeOrderService.save(chargeOrder); + return R.ok(); } @@ -472,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