Compare commits

...

14 Commits

Author SHA1 Message Date
神码-方晓辉 f3b302c9fd sync: 同步prod仓库的最新更新
- 新增区域权限过滤功能 (RegionPermissionHelper)
- 修复学生dept_id自动同步逻辑
- 修复学校班级ID精度丢失问题 (雪花ID改为自增)
- 新增SQL迁移脚本 (fix_student_dept_id, production_migrate_school_class_id)
- 更新前端组件 (学生、会员、学校管理)
- 品牌更新: ruoyi -> pangu

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 16:42:53 +08:00
神码-方晓辉 0b528e03d8 docs: 完善需求与系统设计文档、README
- 需求规格说明书:审核状态、修订记录V1.2,验收标准补充系统监控(服务监控)
- 系统设计文档:技术选型(Spring Boot 3.5.x、Sa-Token)、模块划分与 backend 结构一致
- README:项目结构、技术栈、构建与部署说明、系统监控说明

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 10:25:38 +08:00
神码-方晓辉 d6e922cc2f feat: 服务监控接口(OSHI)、菜单删除SQL、前端监控页错误处理
- 新增 /monitor/server 接口:ServerController + ServerVo,OSHI 采集 CPU/内存/JVM/磁盘
- 根 pom 与 pangu-system 增加 oshi-core 依赖
- 前端服务监控页:请求失败时关闭 loading 并提示
- SQL:V1.0.6 应用子菜单、V1.0.7 隐藏系统菜单、V1.0.8 删除系统菜单、V1.0.9 删除租户按钮菜单
- 发布计划与 PROD SQL 变更检查文档、年级/区域等脚本与业务调整

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 10:17:21 +08:00
神码-方晓辉 a9bbb30f99 fix: 业务功能按钮权限统一(v-hasPermi) 2026-02-05 15:48:07 +08:00
神码-方晓辉 e04cf47bdf feat: 会员区域字段、管理后台区域编辑与列表展示;分公司账号密码重置脚本;业务按钮权限修复方案 2026-02-05 15:11:24 +08:00
神码-方晓辉 add00c9992 feat: 新增学校自动添加年级 + 修复区域层级查询 + 清理区域数据
1. 新增学校时根据学段自动添加对应年级
2. 修复选择省/市时无法显示学校的bug(支持区域层级查询)
3. 区域树默认展开湖北省,平行显示市级
4. 新增区域数据清理SQL脚本(仅保留湖北省)
2026-02-05 11:21:58 +08:00
神码-方晓辉 72cb6668f3 年级管理增加学段字段(小学/初中/高中/中专/大学) 2026-02-05 10:16:30 +08:00
神码-方晓辉 80dd406f8c 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. 前端文案优化:
   - 将"教育身份"统一改为"任教信息"
2026-02-05 09:55:04 +08:00
神码-方晓辉 1a0b75e437 docs: 同步需求与技术方案文档 2026-02-04 10:32:02 +08:00
神码-方晓辉 6027a8c5df refactor: 修改后端欢迎语为盘古后台管理系统 2026-02-03 22:36:52 +08:00
神码-方晓辉 1d30e82a2d fix: 修复H5添加学生数据权限和学校树节点ID冲突问题
1. H5添加/编辑学生时同步设置 dept_id
2. 学校树节点ID添加类型前缀防止冲突
3. 前端使用正确的ID字段进行查询
2026-02-03 22:23:38 +08:00
神码-方晓辉 998d9aee35 fix: 修复学生管理数据权限问题
使用带 @DataPermission 注解的查询方法
2026-02-03 22:11:54 +08:00
神码-方晓辉 730f27c55e fix: 修复数据权限和操作日志IP记录问题
1. 学校管理使用带数据权限的查询方法
2. 修复操作日志IP地址无法记录的问题(异步线程获取不到请求上下文)
2026-02-03 22:07:11 +08:00
神码-方晓辉 6f47adf86e feat: 数据权限功能实现 - 学校作为部门节点
1. 学校/年级/班级/学生表增加 dept_id 字段
2. 添加 @DataPermission 数据权限注解
3. 学校创建时自动创建对应部门
4. 学校编辑对话框增加上级部门选择
5. 修复用户管理部门列显示问题
2026-02-03 21:45:14 +08:00
742 changed files with 10905 additions and 1101 deletions

View File

@ -6,9 +6,9 @@ alwaysApply: true
# 盘古用户平台Pangu User Platform项目规范 # 盘古用户平台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

@ -10,46 +10,38 @@
``` ```
pangu-user-platform/ # 项目根目录 pangu-user-platform/ # 项目根目录
├── pom.xml # ⭐ Maven父项目配置 (必须在根目录)
├── README.md # 项目说明文档 ├── README.md # 项目说明文档
├── backend/ # 后端代码 ├── backend/ # 后端代码 (RuoYi-Vue-Plus 5.5.x)
│ ├── README.md # 后端构建说明 (重要!) │ ├── README.md # 后端构建说明 (重要!)
│ ├── pangu-admin/ # 启动模块 (Spring Boot) │ ├── pom.xml # 后端父 POM
│ └── pom.xml # 子模块配置 ├── pangu-admin/ # 启动与认证入口 (Spring Boot)
│ ├── pangu-common/ # 公共模块 (工具类、常量) │ ├── pangu-common/ # 公共模块 (core/redis/security/satoken 等)
│ └── pom.xml ├── pangu-modules/ # 业务与系统模块
├── pangu-framework/ # 框架模块 (配置、拦截器) │ ├── pangu-system/ # 系统 (用户/角色/菜单/部门/字典/监控)
│ │ └── pom.xml │ │ ├── pangu-business/ # 业务 (学校/会员/学生/应用/基础数据/H5/开放API)
├── pangu-system/ # 业务模块 (学校、会员、学生、应用) │ ├── pangu-generator/ # 代码生成
│ │ └── pom.xml │ │ └── pangu-job/ # 定时任务
│ ├── sql/ # 数据库脚本 │ ├── pangu-extend/ # 扩展 (Monitor Admin、SnailJob Server 等)
└── scripts/ # 运维脚本 ├── script/ # 数据库脚本等
├── frontend/ # 前端代码 │ └── 各模块 pom.xml
│ └── frontend/ # Vue3 + Element Plus + Vite ├── frontend/ # 管理后台前端 (Vue3 + Element Plus + Vite)
├── package.json # 前端依赖配置 │ ├── package.json
└── README.md # 前端使用说明 └── src/
└── docs/ # 项目文档 └── docs/ # 项目文档
├── 01-需求文档/ ├── 01-需求文档/
├── 02-系统设计/ ├── 02-系统设计/
├── 03-数据库设计/ ├── 03-数据库设计/
├── 04-接口文档/ ├── 04-接口文档/
├── 05-前端UI规范/ ├── 05-前端UI规范/、05-技术方案/、05-模块技术方案/
├── 05-技术方案/
├── 05-模块技术方案/
├── 06-测试文档/ ├── 06-测试文档/
└── 07-运维文档/ └── 07-运维文档/
``` ```
### 📌 重要说明 ### 📌 重要说明
**根目录的 `pom.xml` 为什么不在 backend 目录?** - **后端构建**:在 `backend` 目录执行 `mvn clean package -DskipTests -pl pangu-admin -am`,生成 `pangu-admin/target/pangu-admin.jar`
- **前端构建**:在 `frontend` 目录执行 `npm run build:prod`,产出 `dist/`
这是 Maven 多模块项目的标准结构: - 详细说明请查看: [backend/README.md](backend/README.md)
- 根 `pom.xml` 是**父项目配置**,管理所有子模块
- Maven 构建**必须从根目录**执行: `mvn clean package`
- 不要移动到 backend 目录,否则构建会失败
详细说明请查看: [backend/README.md](backend/README.md)
--- ---
@ -81,7 +73,7 @@ mvn spring-boot:run
```bash ```bash
# 进入前端目录 # 进入前端目录
cd frontend/frontend cd frontend
# 安装依赖 # 安装依赖
npm install npm install
@ -90,7 +82,7 @@ npm install
npm run dev npm run dev
``` ```
**访问地址**: `http://localhost:80` **访问地址**: 以 vite 配置为准(如 `http://localhost:80`
**默认账号**: admin / admin123 **默认账号**: admin / admin123
@ -102,13 +94,12 @@ npm run dev
| 技术 | 说明 | 版本 | | 技术 | 说明 | 版本 |
|------|------|------| |------|------|------|
| Spring Boot | 基础框架 | 2.7.18 | | Spring Boot | 基础框架 | 3.5.x |
| Spring Security | 安全框架 | 5.7.x | | Sa-Token | 认证与权限 | 1.44.x |
| MyBatis-Plus | ORM框架 | 3.5.x | | MyBatis-Plus | ORM框架 | 3.5.x |
| MySQL | 数据库 | 8.0.x | | MySQL | 数据库 | 8.0+ |
| Redis | 缓存 | 6.0.x | | Redis / Redisson | 缓存 | 6.0+ |
| JWT | 认证 | 0.9.1 | | RuoYi-Vue-Plus | 基础框架 | 5.5.x |
| Druid | 连接池 | 1.2.x |
### 前端技术 ### 前端技术
@ -140,7 +131,7 @@ npm run dev
- 用户认证 (手机号+密码/验证码/微信) - 用户认证 (手机号+密码/验证码/微信)
- 权限管理 (超级管理员/分公司用户/学校用户) - 权限管理 (超级管理员/分公司用户/学校用户)
- 数据权限 (按区域/学校隔离) - 数据权限 (按区域/学校隔离)
- 系统监控 (在线用户、日志、缓存) - 系统监控 (在线用户、登录/操作日志、**服务监控**CPU/内存/JVM/磁盘)、缓存监控)
--- ---
@ -237,8 +228,8 @@ java -jar target/pangu-admin.jar
### 前端部署 ### 前端部署
```bash ```bash
cd frontend/frontend cd frontend
npm run build npm run build:prod
# 将 dist/ 目录部署到 Nginx # 将 dist/ 目录部署到 Nginx
``` ```
@ -274,4 +265,4 @@ npm run build
--- ---
*最后更新: 2026-02-02* *最后更新: 2026-02-05*

View File

@ -28,6 +28,7 @@
<mapstruct-plus.version>1.5.0</mapstruct-plus.version> <mapstruct-plus.version>1.5.0</mapstruct-plus.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<fastjson.version>1.2.83</fastjson.version> <fastjson.version>1.2.83</fastjson.version>
<oshi.version>6.4.0</oshi.version>
<skipTests>true</skipTests> <skipTests>true</skipTests>
<anyline.version>8.7.3-20251210</anyline.version> <anyline.version>8.7.3-20251210</anyline.version>
<therapi-javadoc.version>0.15.0</therapi-javadoc.version> <therapi-javadoc.version>0.15.0</therapi-javadoc.version>
@ -237,6 +238,11 @@
<artifactId>ip2region</artifactId> <artifactId>ip2region</artifactId>
<version>${ip2region.version}</version> <version>${ip2region.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2019 RuoYi-Vue-Plus Copyright (c) 2019 PanGu
Permission is hereby granted, free of charge, to any person obtaining a copy of Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in this software and associated documentation files (the "Software"), to deal in

View File

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

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
/** /**
* 首页 * 首页
* *
* @author Lion Li * @author pangu
*/ */
@SaIgnore @SaIgnore
@RequiredArgsConstructor @RequiredArgsConstructor
@ -22,7 +22,7 @@ public class IndexController {
*/ */
@GetMapping("/") @GetMapping("/")
public String index() { public String index() {
return StringUtils.format("欢迎使用{}后台管理框架,请通过前端地址访问。", SpringUtils.getApplicationName()); return "欢迎使用盘古后台管理系统,请通过前端地址访问。";
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@ import java.util.Map;
/** /**
* 通用 角色服务 * 通用 角色服务
* *
* @author AprilWind * @author pangu
*/ */
public interface RoleService { 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 { public interface TaskAssigneeService {

View File

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

View File

@ -10,7 +10,7 @@ import java.util.Map;
/** /**
* 通用 工作流服务 * 通用 工作流服务
* *
* @author may * @author pangu
*/ */
public interface WorkflowService { 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 { public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
private static final String[] PARSE_PATTERNS = { private static final String[] PARSE_PATTERNS = {

View File

@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
/** /**
* 脱敏工具类 * 脱敏工具类
* *
* @author AprilWind * @author pangu
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class DesensitizedUtils extends DesensitizedUtil { 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> * <p>参考文档<a href="https://mapstruct.plus/introduction/quick-start.html">mapstruct-plus</a></p>
* *
* *
* @author Michelle.Chung * @author pangu
*/ */
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
public class MapstructUtils { public class MapstructUtils {

View File

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

View File

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

View File

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

View File

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

View File

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

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