refactor: 页面+规则存七牛云本地缓存+版本历史接口
This commit is contained in:
@@ -73,6 +73,44 @@ public class RiskRuleController {
|
||||
return ApiResponse.success();
|
||||
}
|
||||
|
||||
/** 获取风险规则版本历史 */
|
||||
@GetMapping("/api/v1/admin/risk-rules/{siteType}/versions")
|
||||
public ApiResponse<List<Map<String, Object>>> versions(@PathVariable String siteType, HttpServletRequest request) {
|
||||
checkAdmin(request);
|
||||
var mapper = ((com.par.core.service.impl.RiskRuleServiceImpl) riskRuleService).mapper;
|
||||
var list = mapper.selectList(
|
||||
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<com.par.core.entity.RiskRule>()
|
||||
.eq(com.par.core.entity.RiskRule::getSiteType, siteType)
|
||||
.eq(com.par.core.entity.RiskRule::getDeleted, 0)
|
||||
.orderByDesc(com.par.core.entity.RiskRule::getId));
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
for (var r : list) {
|
||||
Map<String, Object> m = new LinkedHashMap<>();
|
||||
m.put("id", r.getId()); m.put("version", r.getVersion());
|
||||
m.put("createdAt", r.getCreatedAt()); m.put("updatedAt", r.getUpdatedAt());
|
||||
result.add(m);
|
||||
}
|
||||
return ApiResponse.success(result);
|
||||
}
|
||||
|
||||
/** 获取指定版本风险规则内容 */
|
||||
@GetMapping("/api/v1/admin/risk-rules/{siteType}/version/{version}")
|
||||
public ApiResponse<Map<String, Object>> getVersion(
|
||||
@PathVariable String siteType, @PathVariable int version, HttpServletRequest request) {
|
||||
checkAdmin(request);
|
||||
var mapper = ((com.par.core.service.impl.RiskRuleServiceImpl) riskRuleService).mapper;
|
||||
var r = mapper.selectOne(
|
||||
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<com.par.core.entity.RiskRule>()
|
||||
.eq(com.par.core.entity.RiskRule::getSiteType, siteType)
|
||||
.eq(com.par.core.entity.RiskRule::getVersion, version)
|
||||
.eq(com.par.core.entity.RiskRule::getDeleted, 0));
|
||||
if (r == null) return ApiResponse.error(404, "版本不存在");
|
||||
Map<String, Object> result = new LinkedHashMap<>();
|
||||
result.put("siteType", siteType); result.put("version", r.getVersion());
|
||||
result.put("content", r.getRulesJson());
|
||||
return ApiResponse.success(result);
|
||||
}
|
||||
|
||||
private void checkAdmin(HttpServletRequest request) {
|
||||
var level = request.getAttribute("trustLevel");
|
||||
if (level == null || !"ADMIN".equals(level.toString())) {
|
||||
|
||||
@@ -75,6 +75,47 @@ public class SitePagesController {
|
||||
return ApiResponse.success();
|
||||
}
|
||||
|
||||
/** 获取页面配置版本历史 */
|
||||
@GetMapping("/api/v1/admin/site-pages/{siteId}/versions")
|
||||
public ApiResponse<List<Map<String, Object>>> versions(@PathVariable String siteId, HttpServletRequest request) {
|
||||
checkAdmin(request);
|
||||
var mapper = ((com.par.core.service.impl.SitePagesServiceImpl) sitePagesService).mapper;
|
||||
var list = mapper.selectList(
|
||||
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<com.par.core.entity.SitePages>()
|
||||
.eq(com.par.core.entity.SitePages::getSiteId, siteId)
|
||||
.eq(com.par.core.entity.SitePages::getDeleted, 0)
|
||||
.orderByDesc(com.par.core.entity.SitePages::getId));
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
for (var p : list) {
|
||||
Map<String, Object> m = new LinkedHashMap<>();
|
||||
m.put("id", p.getId());
|
||||
m.put("version", p.getVersion());
|
||||
m.put("createdAt", p.getCreatedAt());
|
||||
m.put("updatedAt", p.getUpdatedAt());
|
||||
result.add(m);
|
||||
}
|
||||
return ApiResponse.success(result);
|
||||
}
|
||||
|
||||
/** 获取指定版本页面配置内容 */
|
||||
@GetMapping("/api/v1/admin/site-pages/{siteId}/version/{version}")
|
||||
public ApiResponse<Map<String, Object>> getVersion(
|
||||
@PathVariable String siteId, @PathVariable String version, HttpServletRequest request) {
|
||||
checkAdmin(request);
|
||||
var mapper = ((com.par.core.service.impl.SitePagesServiceImpl) sitePagesService).mapper;
|
||||
var p = mapper.selectOne(
|
||||
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<com.par.core.entity.SitePages>()
|
||||
.eq(com.par.core.entity.SitePages::getSiteId, siteId)
|
||||
.eq(com.par.core.entity.SitePages::getVersion, version)
|
||||
.eq(com.par.core.entity.SitePages::getDeleted, 0));
|
||||
if (p == null) return ApiResponse.error(404, "版本不存在");
|
||||
Map<String, Object> result = new LinkedHashMap<>();
|
||||
result.put("siteId", siteId);
|
||||
result.put("version", p.getVersion());
|
||||
result.put("content", p.getEntriesJson());
|
||||
return ApiResponse.success(result);
|
||||
}
|
||||
|
||||
private void checkAdmin(HttpServletRequest request) {
|
||||
var level = request.getAttribute("trustLevel");
|
||||
if (level == null || !"ADMIN".equals(level.toString())) {
|
||||
|
||||
Reference in New Issue
Block a user