diff --git a/par-core/src/main/java/com/par/core/service/impl/RiskRuleServiceImpl.java b/par-core/src/main/java/com/par/core/service/impl/RiskRuleServiceImpl.java index d3acc62..f652ae2 100644 --- a/par-core/src/main/java/com/par/core/service/impl/RiskRuleServiceImpl.java +++ b/par-core/src/main/java/com/par/core/service/impl/RiskRuleServiceImpl.java @@ -22,16 +22,9 @@ public class RiskRuleServiceImpl implements RiskRuleService { private final com.par.core.storage.CachedStorageService storageService; private static final ObjectMapper om = new ObjectMapper(); - /** Find by siteId first, fallback to siteType for backward compat */ private RiskRule findByIdentifier(String identifier) { - // Try siteId first - RiskRule rr = mapper.selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() - .eq(RiskRule::getSiteId, identifier).eq(RiskRule::getDeleted, 0) - .orderByDesc(RiskRule::getId).last("limit 1")); - if (rr != null) return rr; - // Fallback to siteType return mapper.selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() - .eq(RiskRule::getSiteType, identifier).eq(RiskRule::getDeleted, 0) + .eq(RiskRule::getSiteId, identifier).eq(RiskRule::getDeleted, 0) .orderByDesc(RiskRule::getId).last("limit 1")); } @@ -84,11 +77,6 @@ public class RiskRuleServiceImpl implements RiskRuleService { var list = mapper.selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() .eq(RiskRule::getSiteId, siteType).eq(RiskRule::getDeleted, 0) .orderByDesc(RiskRule::getId)); - if (list.isEmpty()) { - list = mapper.selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() - .eq(RiskRule::getSiteType, siteType).eq(RiskRule::getDeleted, 0) - .orderByDesc(RiskRule::getId)); - } List> result = new ArrayList<>(); for (var r : list) { result.add(Map.of("version", r.getVersion(), "createdAt", r.getCreatedAt() != null ? r.getCreatedAt().toString() : "")); @@ -101,11 +89,6 @@ public class RiskRuleServiceImpl implements RiskRuleService { var r = mapper.selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() .eq(RiskRule::getSiteId, siteType).eq(RiskRule::getVersion, version) .eq(RiskRule::getDeleted, 0)); - if (r == null) { - r = mapper.selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() - .eq(RiskRule::getSiteType, siteType).eq(RiskRule::getVersion, version) - .eq(RiskRule::getDeleted, 0)); - } return r != null ? r.getRulesJson() : null; } @@ -113,8 +96,6 @@ public class RiskRuleServiceImpl implements RiskRuleService { public void deleteRules(String siteType) { mapper.delete(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() .eq(RiskRule::getSiteId, siteType).eq(RiskRule::getDeleted, 0)); - mapper.delete(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() - .eq(RiskRule::getSiteType, siteType).eq(RiskRule::getDeleted, 0)); } @Override diff --git a/web/src/views/RiskRules.vue b/web/src/views/RiskRules.vue index ab27898..0e5f034 100644 --- a/web/src/views/RiskRules.vue +++ b/web/src/views/RiskRules.vue @@ -11,9 +11,6 @@ - - - @@ -336,13 +333,11 @@ const ruleText = (r) => { return `${typeLabel(r.type)}:${val} → 封号/删除账号${appText}` } const merged = computed(() => (Array.isArray(sites.value)?sites.value:[]).map(s => { - // 优先站点级,兜底类型级 - const entry = rulesMap.value[s.siteId] || rulesMap.value[s.siteType] || {} + const entry = rulesMap.value[s.siteId] || {} return { siteId: s.siteId, names: s.names, siteType: s.siteType, ruleCount: entry.ruleCount || 0, version: entry.version || null, updatedAt: entry.updatedAt || null, rulesJson: entry.rulesJson || null, - source: rulesMap.value[s.siteId] ? '站点级' : entry.ruleCount ? '类型级' : null, } })) @@ -356,7 +351,8 @@ const fetchAll = async () => { const map = {} for (const r of rulesData) { const cnt = (() => { try { return JSON.parse(r.rulesJson||'[]').length } catch { return 0 } })() - const key = r.siteId || r.siteType // siteId is the new key, fallback to siteType + const key = r.siteId + if (!key) continue if (!map[key] || r.version > map[key].version) map[key] = { ruleCount: cnt, version: r.version, updatedAt: r.updatedAt, rulesJson: r.rulesJson } }