From 7c31cb0421874fc6327005f14bbdbce1c509d065 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Mon, 6 Jul 2026 01:38:06 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=A3=8E=E9=99=A9=E8=A7=84?= =?UTF-8?q?=E5=88=99=E7=BB=9F=E4=B8=80version+source=E5=88=A4=E6=96=AD+?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=9B=9E=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/RiskRuleController.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/par-api/src/main/java/com/par/api/controller/RiskRuleController.java b/par-api/src/main/java/com/par/api/controller/RiskRuleController.java index fecf7c3..5534c59 100644 --- a/par-api/src/main/java/com/par/api/controller/RiskRuleController.java +++ b/par-api/src/main/java/com/par/api/controller/RiskRuleController.java @@ -21,12 +21,25 @@ public class RiskRuleController { @GetMapping("/api/v1/risk-rules/{siteType}") public ResponseEntity getRules(@PathVariable String siteType, - @RequestParam(defaultValue = "0") int version) { + @RequestParam(defaultValue = "0") int version, + @RequestParam(defaultValue = "") String source) { + // 先尝试自定义规则 int currentVer = riskRuleService.getVersion(siteType); - if (currentVer <= version) return ResponseEntity.status(304).build(); Map data = riskRuleService.getRules(siteType); - if (data == null) return ResponseEntity.status(304).build(); - return ResponseEntity.ok(data); + if (data != null) { + data.put("source", "custom"); + if (currentVer == version && "custom".equals(source)) return ResponseEntity.status(304).build(); + return ResponseEntity.ok(data); + } + // 回退默认模板 + int defVer = riskRuleService.getVersion("default:" + siteType); + Map defData = riskRuleService.getRules("default:" + siteType); + if (defData != null) { + defData.put("source", "default"); + if (defVer == version && "default".equals(source)) return ResponseEntity.status(304).build(); + return ResponseEntity.ok(defData); + } + return ResponseEntity.status(304).build(); } @PostMapping("/api/v1/risk-rules/{siteType}")