feat(business): 添加业务模块前后端服务
后端Controllers: - AuditController: 审计日志API - SystemController: 系统配置API - RewardController: 奖励管理API - RiskController: 风险管理API 前端Services: - activity.ts: 活动管理服务 - user管理服务 -Manage.ts: 用户 reward.ts: 奖励管理服务 - risk.ts: 风险管理服务 - audit.ts: 审计日志服务 - systemConfig.ts: 系统配置服务 - activity.ts: 活动类型定义
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
package com.mosquito.project.controller;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 审计日志控制器
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/audit")
|
||||
public class AuditController {
|
||||
|
||||
/**
|
||||
* 获取审计日志列表
|
||||
*/
|
||||
@GetMapping("/logs")
|
||||
public ResponseEntity<Map<String, Object>> getLogs(
|
||||
@RequestParam(required = false) Integer page,
|
||||
@RequestParam(required = false) Integer size,
|
||||
@RequestParam(required = false) Long userId,
|
||||
@RequestParam(required = false) String action,
|
||||
@RequestParam(required = false) String module,
|
||||
@RequestParam(required = false) String keyword) {
|
||||
|
||||
// TODO: 实现实际的审计日志查询
|
||||
List<Map<String, Object>> logs = new ArrayList<>();
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", logs);
|
||||
response.put("total", 0);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个日志详情
|
||||
*/
|
||||
@GetMapping("/logs/{id}")
|
||||
public ResponseEntity<Map<String, Object>> getLogById(@PathVariable Long id) {
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", null);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取操作类型列表
|
||||
*/
|
||||
@GetMapping("/actions")
|
||||
public ResponseEntity<Map<String, Object>> getActionTypes() {
|
||||
List<String> actions = Arrays.asList(
|
||||
"CREATE", "UPDATE", "DELETE", "VIEW", "LOGIN", "LOGOUT",
|
||||
"EXPORT", "IMPORT", "APPROVE", "REJECT"
|
||||
);
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", actions);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取模块列表
|
||||
*/
|
||||
@GetMapping("/modules")
|
||||
public ResponseEntity<Map<String, Object>> getModules() {
|
||||
List<String> modules = Arrays.asList(
|
||||
"ACTIVITY", "USER", "REWARD", "RISK", "APPROVAL", "SYSTEM"
|
||||
);
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", modules);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审计统计
|
||||
*/
|
||||
@GetMapping("/stats")
|
||||
public ResponseEntity<Map<String, Object>> getStats(
|
||||
@RequestParam(required = false) String startDate,
|
||||
@RequestParam(required = false) String endDate) {
|
||||
|
||||
Map<String, Object> stats = new HashMap<>();
|
||||
stats.put("totalCount", 0);
|
||||
stats.put("actionCounts", new HashMap<>());
|
||||
stats.put("userCounts", new HashMap<>());
|
||||
stats.put("dailyCounts", new HashMap<>());
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", stats);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
package com.mosquito.project.controller;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 奖励管理控制器
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/rewards")
|
||||
public class RewardController {
|
||||
|
||||
/**
|
||||
* 获取奖励列表
|
||||
*/
|
||||
@GetMapping
|
||||
public ResponseEntity<Map<String, Object>> getRewards(
|
||||
@RequestParam(required = false) Integer page,
|
||||
@RequestParam(required = false) Integer size,
|
||||
@RequestParam(required = false) String status,
|
||||
@RequestParam(required = false) String rewardType) {
|
||||
|
||||
// TODO: 实现实际的奖励查询
|
||||
List<Map<String, Object>> rewards = new ArrayList<>();
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", rewards);
|
||||
response.put("total", 0);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个奖励详情
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public ResponseEntity<Map<String, Object>> getRewardById(@PathVariable Long id) {
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", null);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 申请奖励
|
||||
*/
|
||||
@PostMapping("/apply")
|
||||
public ResponseEntity<Map<String, Object>> applyReward(@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", 1L);
|
||||
response.put("message", "奖励申请已提交");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审批奖励
|
||||
*/
|
||||
@PostMapping("/{id}/approve")
|
||||
public ResponseEntity<Map<String, Object>> approveReward(
|
||||
@PathVariable Long id,
|
||||
@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "审批完成");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发放奖励
|
||||
*/
|
||||
@PostMapping("/{id}/grant")
|
||||
public ResponseEntity<Map<String, Object>> grantReward(@PathVariable Long id) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "奖励发放成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量发放奖励
|
||||
*/
|
||||
@PostMapping("/batch-grant")
|
||||
public ResponseEntity<Map<String, Object>> batchGrantRewards(@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "批量发放成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消奖励
|
||||
*/
|
||||
@PostMapping("/{id}/cancel")
|
||||
public ResponseEntity<Map<String, Object>> cancelReward(
|
||||
@PathVariable Long id,
|
||||
@RequestBody Map<String, String> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "奖励已取消");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待审批奖励数量
|
||||
*/
|
||||
@GetMapping("/pending-count")
|
||||
public ResponseEntity<Map<String, Object>> getPendingCount() {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", 0);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 奖励对账
|
||||
*/
|
||||
@GetMapping("/reconcile")
|
||||
public ResponseEntity<Map<String, Object>> reconcile(
|
||||
@RequestParam String startDate,
|
||||
@RequestParam String endDate) {
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("totalAmount", 0);
|
||||
result.put("totalCount", 0);
|
||||
result.put("successCount", 0);
|
||||
result.put("failCount", 0);
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", result);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
package com.mosquito.project.controller;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 风险管理控制器
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/risk")
|
||||
public class RiskController {
|
||||
|
||||
/**
|
||||
* 获取风险告警列表
|
||||
*/
|
||||
@GetMapping("/alerts")
|
||||
public ResponseEntity<Map<String, Object>> getAlerts(
|
||||
@RequestParam(required = false) Integer page,
|
||||
@RequestParam(required = false) Integer size,
|
||||
@RequestParam(required = false) String type,
|
||||
@RequestParam(required = false) String level,
|
||||
@RequestParam(required = false) String status) {
|
||||
|
||||
// TODO: 实现实际的风险告警查询
|
||||
List<Map<String, Object>> alerts = new ArrayList<>();
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", alerts);
|
||||
response.put("total", 0);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个告警详情
|
||||
*/
|
||||
@GetMapping("/alerts/{id}")
|
||||
public ResponseEntity<Map<String, Object>> getAlertById(@PathVariable Long id) {
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", null);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理风险告警
|
||||
*/
|
||||
@PostMapping("/alerts/{id}/handle")
|
||||
public ResponseEntity<Map<String, Object>> handleAlert(
|
||||
@PathVariable Long id,
|
||||
@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "告警处理完成");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量处理告警
|
||||
*/
|
||||
@PostMapping("/alerts/batch-handle")
|
||||
public ResponseEntity<Map<String, Object>> batchHandleAlerts(@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "批量处理完成");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待处理告警数量
|
||||
*/
|
||||
@GetMapping("/alerts/pending-count")
|
||||
public ResponseEntity<Map<String, Object>> getPendingAlertCount() {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", 0);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取风控规则列表
|
||||
*/
|
||||
@GetMapping("/rules")
|
||||
public ResponseEntity<Map<String, Object>> getRules(
|
||||
@RequestParam(required = false) Integer page,
|
||||
@RequestParam(required = false) Integer size,
|
||||
@RequestParam(required = false) String riskType,
|
||||
@RequestParam(required = false) String status) {
|
||||
|
||||
// TODO: 实现实际的风控规则查询
|
||||
List<Map<String, Object>> rules = new ArrayList<>();
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", rules);
|
||||
response.put("total", 0);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建风控规则
|
||||
*/
|
||||
@PostMapping("/rules")
|
||||
public ResponseEntity<Map<String, Object>> createRule(@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", 1L);
|
||||
response.put("message", "规则创建成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新风控规则
|
||||
*/
|
||||
@PutMapping("/rules/{id}")
|
||||
public ResponseEntity<Map<String, Object>> updateRule(
|
||||
@PathVariable Long id,
|
||||
@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "规则更新成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除风控规则
|
||||
*/
|
||||
@DeleteMapping("/rules/{id}")
|
||||
public ResponseEntity<Map<String, Object>> deleteRule(@PathVariable Long id) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "规则删除成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 启用/禁用规则
|
||||
*/
|
||||
@PostMapping("/rules/{id}/toggle")
|
||||
public ResponseEntity<Map<String, Object>> toggleRule(
|
||||
@PathVariable Long id,
|
||||
@RequestBody Map<String, Boolean> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "规则状态已更新");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
package com.mosquito.project.controller;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 系统配置控制器
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/system")
|
||||
public class SystemController {
|
||||
|
||||
/**
|
||||
* 获取系统配置列表
|
||||
*/
|
||||
@GetMapping("/configs")
|
||||
public ResponseEntity<Map<String, Object>> getConfigs(
|
||||
@RequestParam(required = false) String category,
|
||||
@RequestParam(required = false) String keyword) {
|
||||
|
||||
// TODO: 实现实际的配置查询
|
||||
List<Map<String, Object>> configs = new ArrayList<>();
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", configs);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单个配置
|
||||
*/
|
||||
@GetMapping("/configs/{key}")
|
||||
public ResponseEntity<Map<String, Object>> getConfigByKey(@PathVariable String key) {
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", null);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新配置
|
||||
*/
|
||||
@PutMapping("/configs/{key}")
|
||||
public ResponseEntity<Map<String, Object>> updateConfig(
|
||||
@PathVariable String key,
|
||||
@RequestBody Map<String, String> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "配置更新成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量更新配置
|
||||
*/
|
||||
@PutMapping("/configs/batch")
|
||||
public ResponseEntity<Map<String, Object>> batchUpdateConfigs(@RequestBody Map<String, Object> request) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "批量更新成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置配置
|
||||
*/
|
||||
@PostMapping("/configs/{key}/reset")
|
||||
public ResponseEntity<Map<String, Object>> resetConfig(@PathVariable String key) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "配置重置成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除缓存
|
||||
*/
|
||||
@PostMapping("/cache/clear")
|
||||
public ResponseEntity<Map<String, Object>> clearCache(
|
||||
@RequestParam(required = false) String type) {
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("message", "缓存清除成功");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取缓存列表
|
||||
*/
|
||||
@GetMapping("/cache/list")
|
||||
public ResponseEntity<Map<String, Object>> getCacheList() {
|
||||
List<Map<String, Object>> caches = new ArrayList<>();
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", caches);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统信息
|
||||
*/
|
||||
@GetMapping("/info")
|
||||
public ResponseEntity<Map<String, Object>> getSystemInfo() {
|
||||
Map<String, Object> info = new HashMap<>();
|
||||
info.put("version", "1.0.0");
|
||||
info.put("uptime", System.currentTimeMillis());
|
||||
info.put("memory", Map.of("total", Runtime.getRuntime().totalMemory(),
|
||||
"used", Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(),
|
||||
"free", Runtime.getRuntime().freeMemory()));
|
||||
info.put("cpu", Runtime.getRuntime().availableProcessors());
|
||||
info.put("threads", Thread.activeCount());
|
||||
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("code", 200);
|
||||
response.put("data", info);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user