diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java index 628a8ae..abbdae6 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java @@ -425,11 +425,6 @@ CashRecordDone cashRecordDone1 = new CashRecordDone(); @Override public PageInfo financeSelect(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) { - List markets = marketMapper.getMarketIds(cashRecordDTO.getMarkets()); - if (markets.contains("9") || markets.contains("9999")){ - markets=null; - } - cashRecordDTO.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); //必须要直接跟mapper // System.out.println(goldDetail.getMarkets()); List list = cashRefundMapper.financeSelect(cashRecordDTO); @@ -497,7 +492,6 @@ CashRecordDone cashRecordDone1 = new CashRecordDone(); @Override public PageInfo financeSelect2(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) { - List markets = marketMapper.getMarketIds(cashRecordDTO.getMarkets()); PageHelper.startPage(pageNum, pageSize); //必须要直接跟mapper // System.out.println(goldDetail.getMarkets()); List list = cashRefundMapper.financeSelect(cashRecordDTO); diff --git a/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java index 7cea853..c5e5dc6 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java @@ -430,8 +430,36 @@ public class ExportExcelServiceImpl implements ExportExcelService { JsonNode rootNode = objectMapper.readTree(message); JsonNode requestDataNode = rootNode.path("requestData"); JsonNode beanRechargeNode = requestDataNode.path("fundsDTO"); + String token = rootNode.path("token").asText(); FundsDTO fundsDTO = objectMapper.treeToValue(beanRechargeNode, FundsDTO.class); page.setFundsDTO(fundsDTO); + Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class); + List userMarkets = Arrays.asList(StringUtils.split(admin.getMarkets(), ",")); + List markets = marketService.getMarketIds(userMarkets); + + + // 获取传入的市场列表 + List requestedMarkets = page.getFundsDTO() != null ? page.getFundsDTO().getMarkets() : null; + + // 权限校验逻辑 + if (markets.contains("9") || markets.contains("9999")) { + // 特权市场:9 或 9999,跳过权限校验,直接放行传入的 markets + // 如果业务需要,也可以在这里做空值处理 + if (page.getFundsDTO() != null) { + // 保持 requestedMarkets 不变,原样接受 + // 可选:如果 requestedMarkets 为 null,可设为默认值或保持 null + } + } else { + // 普通用户:必须校验权限 + if (requestedMarkets == null || requestedMarkets.isEmpty()) { + page.getFundsDTO().setMarkets(markets); + } + if (!markets.containsAll(requestedMarkets)) { + String errorMsg = "无权限!请求的市场不在授权范围内。"; + return Result.error(errorMsg); + } + // 校验通过,保持 requestedMarkets 不变 + } // 从请求数据中获取语言设置,如果没有则使用默认值 String lang = "zh_CN"; JsonNode langNode = requestDataNode.path("lang");