feat: 新增OpenApi基础数据接口 + 学生完整数据接口 + UI文案优化

1. OpenApi新增接口:
   - /open/api/student/listFull: 学生列表完整数据(不脱敏)
   - /open/api/base/school/*: 学校查询接口(直接调用内部Service)
   - /open/api/base/grade/*: 年级查询接口
   - /open/api/base/class/*: 班级查询接口

2. 新增OpenApi专用VO:
   - OpenSchoolVo, OpenGradeVo, OpenClassVo

3. 数据库脚本:
   - V1.0.3__open_api_dict.sql: 接口字典数据

4. 前端文案优化:
   - 将"教育身份"统一改为"任教信息"
This commit is contained in:
神码-方晓辉 2026-02-05 09:55:04 +08:00
parent 1a0b75e437
commit 80dd406f8c
654 changed files with 6976 additions and 716 deletions

View File

@ -6,9 +6,9 @@ alwaysApply: true
# 盘古用户平台Pangu User Platform项目规范
> **项目路径**`/Users/felix/hbxhWorkSpace/pangu-user-platform`
> **项目路径**`/Users/felix/pgWorkSpace/pangu-user-platform`
>
> **重要声明**:本规范仅适用于 pangu-user-platform 项目,不受外部工程目录(如 `/Users/felix/hbxhWorkSpace/.cursorrules`)中其他规范的影响。当本规范与外部规范冲突时,以本规范为准。
> **重要声明**:本规范仅适用于 pangu-user-platform 项目,不受外部工程目录(如 `/Users/felix/pgWorkSpace/.cursorrules`)中其他规范的影响。当本规范与外部规范冲突时,以本规范为准。
## 作者规范(必须遵守)

View File

@ -7,7 +7,7 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
/**
* 启动程序
*
* @author Lion Li
* @author pangu
*/
@SpringBootApplication

View File

@ -6,7 +6,7 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
/**
* web容器中进行部署
*
* @author Lion Li
* @author pangu
*/
public class DromaraServletInitializer extends SpringBootServletInitializer {

View File

@ -58,7 +58,7 @@ import java.util.concurrent.TimeUnit;
/**
* 认证
*
* @author Lion Li
* @author pangu
*/
@Slf4j
@SaIgnore

View File

@ -40,7 +40,7 @@ import java.util.LinkedHashMap;
/**
* 验证码操作处理
*
* @author Lion Li
* @author pangu
*/
@SaIgnore
@Slf4j

View File

@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
/**
* 首页
*
* @author Lion Li
* @author pangu
*/
@SaIgnore
@RequiredArgsConstructor

View File

@ -5,7 +5,7 @@ import lombok.Data;
/**
* 验证码信息
*
* @author Michelle.Chung
* @author pangu
*/
@Data
public class CaptchaVo {

View File

@ -7,7 +7,7 @@ import java.util.List;
/**
* 登录租户对象
*
* @author Michelle.Chung
* @author pangu
*/
@Data
public class LoginTenantVo {

View File

@ -6,7 +6,7 @@ import lombok.Data;
/**
* 登录验证信息
*
* @author Michelle.Chung
* @author pangu
*/
@Data
public class LoginVo {

View File

@ -7,7 +7,7 @@ import lombok.Data;
/**
* 租户列表
*
* @author Lion Li
* @author pangu
*/
@Data
@AutoMapper(target = SysTenantVo.class)

View File

@ -27,7 +27,7 @@ import java.time.Duration;
/**
* 用户行为 侦听器的实现
*
* @author Lion Li
* @author pangu
*/
@RequiredArgsConstructor
@Component

View File

@ -10,7 +10,7 @@ import org.dromara.web.domain.vo.LoginVo;
/**
* 授权策略
*
* @author Michelle.Chung
* @author pangu
*/
public interface IAuthStrategy {

View File

@ -43,7 +43,7 @@ import java.util.function.Supplier;
/**
* 登录校验方法
*
* @author Lion Li
* @author pangu
*/
@RequiredArgsConstructor
@Slf4j

View File

@ -27,7 +27,7 @@ import org.springframework.stereotype.Service;
/**
* 注册校验方法
*
* @author Lion Li
* @author pangu
*/
@RequiredArgsConstructor
@Service

View File

@ -33,7 +33,7 @@ import org.springframework.stereotype.Service;
/**
* 邮件认证策略
*
* @author Michelle.Chung
* @author pangu
*/
@Slf4j
@Service("email" + IAuthStrategy.BASE_NAME)

View File

@ -36,7 +36,7 @@ import org.springframework.stereotype.Service;
/**
* 密码认证策略
*
* @author Michelle.Chung
* @author pangu
*/
@Slf4j
@Service("password" + IAuthStrategy.BASE_NAME)

View File

@ -33,7 +33,7 @@ import org.springframework.stereotype.Service;
/**
* 短信认证策略
*
* @author Michelle.Chung
* @author pangu
*/
@Slf4j
@Service("sms" + IAuthStrategy.BASE_NAME)

View File

@ -36,7 +36,7 @@ import java.util.Optional;
/**
* 第三方授权策略
*
* @author thiszhc is 三三
* @author pangu
*/
@Slf4j
@Service("social" + IAuthStrategy.BASE_NAME)

View File

@ -29,7 +29,7 @@ import org.springframework.stereotype.Service;
/**
* 小程序认证策略
*
* @author Michelle.Chung
* @author pangu
*/
@Slf4j
@Service("xcx" + IAuthStrategy.BASE_NAME)

View File

@ -125,6 +125,8 @@ security:
# H5公开接口
- /h5/auth/**
- /h5/base/**
# 开放API应用签名鉴权不走登录
- /open/api/**
# 多租户配置
tenant:

View File

@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test;
/**
* 断言单元测试案例
*
* @author Lion Li
* @author pangu
*/
@DisplayName("断言单元测试案例")
public class AssertUnitTest {

View File

@ -10,7 +10,7 @@ import java.util.concurrent.TimeUnit;
/**
* 单元测试案例
*
* @author Lion Li
* @author pangu
*/
@SpringBootTest // 此注解只能在 springboot 主包下使用 需包含 main 方法与 yml 配置文件
@DisplayName("单元测试案例")

View File

@ -17,7 +17,7 @@ import java.util.stream.Stream;
/**
* 带参数单元测试案例
*
* @author Lion Li
* @author pangu
*/
@DisplayName("带参数单元测试案例")
public class ParamUnitTest {

View File

@ -6,7 +6,7 @@ import org.springframework.boot.test.context.SpringBootTest;
/**
* 标签单元测试案例
*
* @author Lion Li
* @author pangu
*/
@SpringBootTest
@DisplayName("标签单元测试案例")

View File

@ -7,7 +7,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
/**
* 程序注解配置
*
* @author Lion Li
* @author pangu
*/
@AutoConfiguration
@EnableAspectJAutoProxy

View File

@ -13,7 +13,7 @@ import java.util.concurrent.*;
/**
* 线程池配置
*
* @author Lion Li
* @author pangu
**/
@Slf4j
@AutoConfiguration

View File

@ -13,7 +13,7 @@ import java.util.Properties;
/**
* 校验框架配置类
*
* @author Lion Li
* @author pangu
*/
@AutoConfiguration(before = ValidationAutoConfiguration.class)
public class ValidatorConfig {

View File

@ -3,7 +3,7 @@ package org.dromara.common.core.constant;
/**
* 缓存的key 常量
*
* @author Lion Li
* @author pangu
*/
public interface CacheConstants {

View File

@ -12,7 +12,7 @@ package org.dromara.common.core.constant;
* <p>
* 例子: test#60stest#0#60stest#0#1m#1000test#1h#0#500test#1h#0#500#0
*
* @author Lion Li
* @author pangu
*/
public interface CacheNames {

View File

@ -3,7 +3,7 @@ package org.dromara.common.core.constant;
/**
* 通用常量信息
*
* @author ruoyi
* @author pangu
*/
public interface Constants {

View File

@ -3,7 +3,7 @@ package org.dromara.common.core.constant;
/**
* 全局的key常量 (业务无关的key)
*
* @author Lion Li
* @author pangu
*/
public interface GlobalConstants {

View File

@ -3,7 +3,7 @@ package org.dromara.common.core.constant;
/**
* 返回状态码
*
* @author Lion Li
* @author pangu
*/
public interface HttpStatus {
/**

View File

@ -7,7 +7,7 @@ import cn.hutool.core.lang.RegexPool;
* <p>
* 常用正则表达式集合更多正则见: https://any86.github.io/any-rule/
*
* @author Feng
* @author pangu
*/
public interface RegexConstants extends RegexPool {

View File

@ -3,7 +3,7 @@ package org.dromara.common.core.constant;
/**
* 系统常量信息
*
* @author Lion Li
* @author pangu
*/
public interface SystemConstants {

View File

@ -3,7 +3,7 @@ package org.dromara.common.core.constant;
/**
* 租户常量信息
*
* @author Lion Li
* @author pangu
*/
public interface TenantConstants {

View File

@ -10,7 +10,7 @@ import java.io.Serializable;
/**
* 响应信息主体
*
* @author Lion Li
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -12,7 +12,7 @@ import java.util.Objects;
/**
* 办理任务请求对象
*
* @author may
* @author pangu
*/
@Data
public class CompleteTaskDTO implements Serializable {

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 部门
*
* @author AprilWind
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 字典数据DTO
*
* @author AprilWind
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 字典类型DTO
*
* @author AprilWind
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 抄送
*
* @author may
* @author pangu
*/
@Data
public class FlowCopyDTO implements Serializable {

View File

@ -8,7 +8,7 @@ import java.io.Serializable;
/**
* 流程实例业务扩展对象
*
* @author may
* @author pangu
* @date 2025-08-05
*/
@Data

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* OSS对象
*
* @author Lion Li
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 岗位
*
* @author AprilWind
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 角色
*
* @author Lion Li
* @author pangu
*/
@Data

View File

@ -13,7 +13,7 @@ import java.util.Objects;
/**
* 启动流程对象
*
* @author may
* @author pangu
*/
@Data
public class StartProcessDTO implements Serializable {

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 启动流程返回对象
*
* @author Lion Li
* @author pangu
*/
@Data
public class StartProcessReturnDTO implements Serializable {

View File

@ -14,7 +14,7 @@ import java.util.stream.Collectors;
/**
* 任务受让人
*
* @author AprilWind
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -11,7 +11,7 @@ import java.util.Date;
/**
* 用户
*
* @author Michelle.Chung
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 当前在线会话
*
* @author ruoyi
* @author pangu
*/
@Data

View File

@ -8,7 +8,7 @@ import java.io.Serializable;
/**
* 删除流程监听
*
* @author AprilWind
* @author pangu
*/
@Data
public class ProcessDeleteEvent implements Serializable {

View File

@ -9,7 +9,7 @@ import java.util.Map;
/**
* 总体流程监听
*
* @author may
* @author pangu
*/
@Data
public class ProcessEvent implements Serializable {

View File

@ -9,7 +9,7 @@ import java.util.Map;
/**
* 流程任务监听
*
* @author may
* @author pangu
*/
@Data
public class ProcessTaskEvent implements Serializable {

View File

@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
/**
* 邮件登录对象
*
* @author Lion Li
* @author pangu
*/
@Data

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 用户登录对象
*
* @author Lion Li
* @author pangu
*/
@Data

View File

@ -13,7 +13,7 @@ import java.util.Set;
/**
* 登录用户身份权限
*
* @author Lion Li
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -8,7 +8,7 @@ import org.hibernate.validator.constraints.Length;
/**
* 密码登录对象
*
* @author Lion Li
* @author pangu
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -8,7 +8,7 @@ import org.hibernate.validator.constraints.Length;
/**
* 用户注册对象
*
* @author Lion Li
* @author pangu
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
/**
* 短信登录对象
*
* @author Lion Li
* @author pangu
*/
@Data

View File

@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
/**
* 三方登录对象
*
* @author Lion Li
* @author pangu
*/
@Data

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 任务受让人
*
* @author AprilWind
* @author pangu
*/
@Data
@NoArgsConstructor

View File

@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
/**
* 三方登录对象
*
* @author Lion Li
* @author pangu
*/
@Data

View File

@ -9,7 +9,7 @@ import java.io.Serial;
/**
* 小程序登录用户身份权限
*
* @author Lion Li
* @author pangu
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -15,7 +15,7 @@ import java.util.stream.Collectors;
/**
* 业务状态枚举
*
* @author may
* @author pangu
*/
@Getter
@AllArgsConstructor

View File

@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 设备类型
*
* @author Lion Li
* @author pangu
*/
@Getter
@AllArgsConstructor

View File

@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 登录类型
*
* @author Lion Li
* @author pangu
*/
@Getter
@AllArgsConstructor

View File

@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 用户状态
*
* @author ruoyi
* @author pangu
*/
@Getter
@AllArgsConstructor

View File

@ -7,7 +7,7 @@ import org.dromara.common.core.utils.StringUtils;
/**
* 用户类型
*
* @author Lion Li
* @author pangu
*/
@Getter
@AllArgsConstructor

View File

@ -11,7 +11,7 @@ import java.io.Serial;
/**
* 业务异常支持占位符 {}
*
* @author ruoyi
* @author pangu
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -10,7 +10,7 @@ import java.io.Serial;
/**
* sse 特制异常
*
* @author LionLi
* @author pangu
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -12,7 +12,7 @@ import java.io.Serial;
/**
* 基础异常
*
* @author ruoyi
* @author pangu
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -7,7 +7,7 @@ import java.io.Serial;
/**
* 文件信息异常类
*
* @author ruoyi
* @author pangu
*/
public class FileException extends BaseException {

View File

@ -5,7 +5,7 @@ import java.io.Serial;
/**
* 文件名称超长限制异常类
*
* @author ruoyi
* @author pangu
*/
public class FileNameLengthLimitExceededException extends FileException {

View File

@ -5,7 +5,7 @@ import java.io.Serial;
/**
* 文件名大小限制异常类
*
* @author ruoyi
* @author pangu
*/
public class FileSizeLimitExceededException extends FileException {

View File

@ -5,7 +5,7 @@ import java.io.Serial;
/**
* 验证码错误异常类
*
* @author ruoyi
* @author pangu
*/
public class CaptchaException extends UserException {

View File

@ -5,7 +5,7 @@ import java.io.Serial;
/**
* 验证码失效异常类
*
* @author ruoyi
* @author pangu
*/
public class CaptchaExpireException extends UserException {

View File

@ -7,7 +7,7 @@ import java.io.Serial;
/**
* 用户信息异常类
*
* @author ruoyi
* @author pangu
*/
public class UserException extends BaseException {

View File

@ -10,7 +10,7 @@ import java.util.regex.Pattern;
* <p>初始化的时候将正则表达式加入缓存池当中</p>
* <p>提高正则表达式的性能避免重复编译相同的正则表达式</p>
*
* @author 21001
* @author pangu
*/
public class RegexPatternPoolFactory extends PatternPool {

View File

@ -12,7 +12,7 @@ import java.io.IOException;
/**
* yml 配置源工厂
*
* @author Lion Li
* @author pangu
*/
public class YmlPropertySourceFactory extends DefaultPropertySourceFactory {

View File

@ -9,7 +9,7 @@ import java.util.List;
/**
* 通用 参数配置服务
*
* @author Lion Li
* @author pangu
*/
public interface ConfigService {

View File

@ -8,7 +8,7 @@ import java.util.Map;
/**
* 通用 部门服务
*
* @author Lion Li
* @author pangu
*/
public interface DeptService {

View File

@ -9,7 +9,7 @@ import java.util.Map;
/**
* 通用 字典服务
*
* @author Lion Li
* @author pangu
*/
public interface DictService {

View File

@ -7,7 +7,7 @@ import java.util.List;
/**
* 通用 OSS服务
*
* @author Lion Li
* @author pangu
*/
public interface OssService {

View File

@ -5,7 +5,7 @@ import java.util.Set;
/**
* 用户权限处理
*
* @author Lion Li
* @author pangu
*/
public interface PermissionService {

View File

@ -6,7 +6,7 @@ import java.util.Map;
/**
* 通用 岗位服务
*
* @author AprilWind
* @author pangu
*/
public interface PostService {

View File

@ -6,7 +6,7 @@ import java.util.Map;
/**
* 通用 角色服务
*
* @author AprilWind
* @author pangu
*/
public interface RoleService {

View File

@ -6,7 +6,7 @@ import org.dromara.common.core.domain.model.TaskAssigneeBody;
/**
* 工作流设计器获取任务执行人
*
* @author Lion Li
* @author pangu
*/
public interface TaskAssigneeService {

View File

@ -8,7 +8,7 @@ import java.util.Map;
/**
* 通用 用户服务
*
* @author Lion Li
* @author pangu
*/
public interface UserService {

View File

@ -10,7 +10,7 @@ import java.util.Map;
/**
* 通用 工作流服务
*
* @author may
* @author pangu
*/
public interface WorkflowService {

View File

@ -16,7 +16,7 @@ import java.util.concurrent.TimeUnit;
/**
* 时间工具类
*
* @author ruoyi
* @author pangu
*/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
private static final String[] PARSE_PATTERNS = {

View File

@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
/**
* 脱敏工具类
*
* @author AprilWind
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class DesensitizedUtils extends DesensitizedUtil {

View File

@ -15,7 +15,7 @@ import java.util.Map;
* <p>参考文档<a href="https://mapstruct.plus/introduction/quick-start.html">mapstruct-plus</a></p>
*
*
* @author Michelle.Chung
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class MapstructUtils {

View File

@ -9,7 +9,7 @@ import org.springframework.context.i18n.LocaleContextHolder;
/**
* 获取i18n资源文件
*
* @author Lion Li
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class MessageUtils {

View File

@ -14,7 +14,7 @@ import java.net.UnknownHostException;
/**
* 增强网络相关工具类
*
* @author 秋辞未寒
* @author pangu
*/
@Slf4j
@NoArgsConstructor(access = AccessLevel.PRIVATE)

View File

@ -9,7 +9,7 @@ import java.util.function.Function;
/**
* 对象工具类
*
* @author 秋辞未寒
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ObjectUtils extends ObjectUtil {

View File

@ -27,7 +27,7 @@ import java.util.Map;
/**
* 客户端工具类提供获取请求参数响应处理头部信息等常用操作
*
* @author ruoyi
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ServletUtils extends JakartaServletUtil {

View File

@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
/**
* spring工具类
*
* @author Lion Li
* @author pangu
*/
@Component
public final class SpringUtils extends SpringUtil {

View File

@ -14,7 +14,7 @@ import java.util.stream.Collectors;
/**
* stream 流工具类
*
* @author Lion Li
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class StreamUtils {

View File

@ -14,7 +14,7 @@ import java.util.stream.Collectors;
/**
* 字符串工具类
*
* @author Lion Li
* @author pangu
*/
public class StringUtils extends org.apache.commons.lang3.StringUtils {

View File

@ -18,7 +18,7 @@ import java.util.stream.Stream;
/**
* 扩展 hutool TreeUtil 封装系统树构建
*
* @author Lion Li
* @author pangu
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class TreeBuildUtils extends TreeUtil {

Some files were not shown because too many files have changed in this diff Show More