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:
Your Name
2026-03-05 11:04:33 +08:00
parent 6d0922fb44
commit 7913bb5a34
11 changed files with 1760 additions and 0 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}