Initial commit

This commit is contained in:
Developer
2026-03-17 12:09:43 +08:00
commit 70bedcf241
211 changed files with 31464 additions and 0 deletions

View File

@@ -0,0 +1,127 @@
# 管理后台开发文档 - Part 1权限 + DTO/VO
> 管理后台复用主应用 Service/Repository 层,新增 Admin Controller路由前缀 `/api/admin`,通过角色拦截隔离。
## 一、角色常量
```java
package com.openclaw.constant;
public interface AdminRole {
String ADMIN = "ROLE_ADMIN"; // 超级管理员
String OPERATOR = "ROLE_OPERATOR"; // 运营
String AUDITOR = "ROLE_AUDITOR"; // 内容审核
String FINANCE = "ROLE_FINANCE"; // 财务
}
```
```java
// SecurityConfig.java 追加
http.authorizeHttpRequests(auth -> auth
.requestMatchers("/api/admin/**")
.hasAnyRole("ADMIN","OPERATOR","AUDITOR","FINANCE")
);
```
## 二、管理端 DTO
```java
// AdminUserQueryDTO.java
@Data
public class AdminUserQueryDTO {
private String keyword; // 手机号/昵称
private String status; // active / banned
private Integer pageNum = 1;
private Integer pageSize = 20;
}
// AdminSkillQueryDTO.java
@Data
public class AdminSkillQueryDTO {
private String keyword;
private String status; // pending/approved/rejected/offline
private Long categoryId;
private Integer pageNum = 1;
private Integer pageSize = 20;
}
// SkillAuditDTO.java
@Data
public class SkillAuditDTO {
@NotNull private Long skillId;
@NotBlank private String action; // approve / reject
private String rejectReason;
}
// AdminOrderQueryDTO.java
@Data
public class AdminOrderQueryDTO {
private String keyword; // 订单号
private String status;
private LocalDate startDate;
private LocalDate endDate;
private Integer pageNum = 1;
private Integer pageSize = 20;
}
// AdjustPointsDTO.java
@Data
public class AdjustPointsDTO {
@NotNull private Integer delta; // 正数增加,负数扣减
private String remark;
}
// RefundProcessDTO.java
@Data
public class RefundProcessDTO {
@NotBlank private String action; // approve / reject
private String remark;
}
```
## 三、管理端 VO
```java
// AdminUserVO.java
@Data
public class AdminUserVO {
private Long id;
private String phone, nickname, avatarUrl, status;
private Integer totalPoints, frozenPoints;
private LocalDateTime createdAt, lastLoginAt;
}
// AdminSkillVO.java
@Data
public class AdminSkillVO {
private Long id;
private String name, coverImageUrl, status, rejectReason;
private BigDecimal price;
private Boolean isFree;
private Long creatorId;
private LocalDateTime createdAt, auditedAt;
}
// AdminOrderVO.java
@Data
public class AdminOrderVO {
private Long id;
private String orderNo, status, paymentMethod;
private Long userId;
private BigDecimal totalAmount, cashAmount;
private Integer pointsUsed;
private LocalDateTime createdAt, paidAt;
}
// DashboardVO.java
@Data
public class DashboardVO {
private Long totalUsers, todayNewUsers, activeUsersLast7d;
private BigDecimal totalRevenue, revenueToday;
private Long totalOrders, ordersToday;
private Long totalSkills, pendingAuditSkills, totalDownloads;
}
```
---
**文档版本**v1.0 | **创建日期**2026-03-16