refactor: 风险规则统一version+source判断+默认回退

This commit is contained in:
mediabot-pt
2026-07-06 01:38:06 +08:00
parent 004aa16e2b
commit 7c31cb0421

View File

@@ -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<String, Object> 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<String, Object> 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}")