|
|
|
@ -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<String> userMarkets = Arrays.asList(StringUtils.split(admin.getMarkets(), ",")); |
|
|
|
List<String> markets = marketService.getMarketIds(userMarkets); |
|
|
|
|
|
|
|
|
|
|
|
// 获取传入的市场列表 |
|
|
|
List<String> 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"); |
|
|
|
|