Compare commits
No commits in common. "de1c45404369b18ca9692c88d21423929bbf6ea1" and "f31a3f22382c68d06e2ab15cdec73f440c045e1d" have entirely different histories.
de1c454043
...
f31a3f2238
|
@ -0,0 +1,256 @@
|
|||
# Gitlab安装
|
||||
|
||||
完全笔记《安装GitLabel》 :https://www.yuque.com/bunny-6ixda/bgxtva/wtw4x4r8kbvxwgac?singleDoc#
|
||||
|
||||
## Docker安装
|
||||
|
||||
- docker镜像:
|
||||
|
||||
- https://hub.docker.com/r/gitlab/gitlab-ee/tags?name=17.9.6
|
||||
- https://hub.docker.com/r/gitlab/gitlab-runner/tags?name=17.11.0
|
||||
|
||||
```bash
|
||||
sudo apt-get remove docker docker-engine docker.io containerd runc
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
sudo apt-get install ca-certificates curl gnupg lsb-release
|
||||
# 添加Docker官方GPG密钥
|
||||
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
|
||||
# 安装docker
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io
|
||||
# 默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo,设置完成后退出当前用户之后再进入既可
|
||||
sudo usermod -aG docker $USER
|
||||
# 运行docker
|
||||
sudo systemctl start docker
|
||||
# 安装工具
|
||||
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
|
||||
# 重启docker
|
||||
sudo service docker restart
|
||||
# 重启终端生效
|
||||
exit
|
||||
```
|
||||
|
||||
配置镜像源
|
||||
|
||||
```bash
|
||||
# 创建目录
|
||||
sudo mkdir -p /etc/docker
|
||||
# 写入配置文件
|
||||
sudo tee /etc/docker/daemon.json <<-'EOF'
|
||||
{
|
||||
"registry-mirrors": [
|
||||
"https://docker-0.unsee.tech",
|
||||
"https://docker-cf.registry.cyou",
|
||||
"https://docker.1panel.live"
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
# 重启docker服务
|
||||
sudo systemctl daemon-reload && sudo systemctl restart docker
|
||||
```
|
||||
|
||||
## 环境搭建
|
||||
|
||||
### 安装JDK21
|
||||
|
||||
```bash
|
||||
# 安装JDK21
|
||||
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb
|
||||
sudo dpkg -i jdk-21_linux-x64_bin.deb
|
||||
java --version
|
||||
```
|
||||
|
||||
### Maven 3.8.8安装
|
||||
|
||||
#### 安装
|
||||
|
||||
```bash
|
||||
# 安装maven
|
||||
wget https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
|
||||
sudo mkdir -p /opt/maven
|
||||
sudo tar -xzf apache-maven-3.8.8-bin.tar.gz -C /opt/maven
|
||||
sudo mv /opt/maven/apache-maven-3.8.8 /opt/maven/maven-3.8.8
|
||||
|
||||
# 修改镜像配置
|
||||
cd /opt/maven/maven-3.8.8/conf
|
||||
# 赋予权限修改
|
||||
sudo chmod 666 settings.xml
|
||||
|
||||
# 编写配置
|
||||
sudo vim /etc/profile
|
||||
|
||||
# 添加以下内容
|
||||
# export PATH=$PATH:/opt/maven/maven-3.8.8/bin
|
||||
|
||||
# 刷新配置
|
||||
source /etc/profile
|
||||
mvn -V
|
||||
```
|
||||
|
||||
#### maven的镜像
|
||||
|
||||
```xml
|
||||
<mirror>
|
||||
<id>aliyun</id>
|
||||
<name>Aliyun Maven Mirror</name>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
<mirrorOf>central</mirrorOf>
|
||||
</mirror>
|
||||
```
|
||||
|
||||
## 安装Gitlab
|
||||
|
||||
```bash
|
||||
# Ubuntu
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/gitlab-ce_18.0.0-ce.0_amd64.deb
|
||||
|
||||
# dpkg
|
||||
sudo dpkg -i gitlab-ce_18.0.0-ce.0_amd64.deb
|
||||
```
|
||||
|
||||
### 编辑配置
|
||||
|
||||
```bash
|
||||
# 编辑站点
|
||||
sudo vim /etc/gitlab/gitlab.rb
|
||||
```
|
||||
|
||||
修改下面内容
|
||||
|
||||
```bash
|
||||
external_url 'http://192.168.95.134:3001'
|
||||
```
|
||||
|
||||
应用配置
|
||||
|
||||
```bash
|
||||
# 应用配置
|
||||
sudo gitlab-ctl reconfigure
|
||||
```
|
||||
|
||||
### 常用命令
|
||||
|
||||
```bash
|
||||
# 服务控制
|
||||
sudo gitlab-ctl start
|
||||
sudo gitlab-ctl status
|
||||
sudo gitlab-ctl stop
|
||||
|
||||
# 应用配置
|
||||
sudo gitlab-ctl reconfigure
|
||||
|
||||
# 重启
|
||||
sudo gitlab-ctl restart
|
||||
```
|
||||
|
||||
### 查看密码
|
||||
|
||||
```bash
|
||||
# 24 小时后自动删除
|
||||
sudo cat /etc/gitlab/initial_root_password
|
||||
```
|
||||
|
||||
## 安装Gitlab-Runner
|
||||
|
||||
```bash
|
||||
# 需要 gitlab-runner-helper-images
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner-helper-images/gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
sudo dpkg -i gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
|
||||
# 之后安装 gitlab-runner
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/gitlab-runner_18.0.1-1_amd64.deb
|
||||
sudo dpkg -i gitlab-runner_18.0.1-1_amd64.deb
|
||||
```
|
||||
|
||||
### 先下载后安装
|
||||
|
||||
```bash
|
||||
# Ubuntu
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner-helper-images/gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/gitlab-runner_18.0.1-1_amd64.deb
|
||||
|
||||
# dpkg
|
||||
sudo dpkg -i gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
sudo dpkg -i gitlab-runner_18.0.1-1_amd64.deb
|
||||
```
|
||||
|
||||
### 配置Gitlab-Runner用户
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> 如果有需要清理缓存:`sudo rm -rf /opt/maven/maven-3.8.8/conf/builds/**`**
|
||||
>
|
||||
> gitlab-ce:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/
|
||||
>
|
||||
> gitlab-runner-helper-images:https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner-helper-images/
|
||||
>
|
||||
> gitlab-runner:https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/
|
||||
|
||||
```bash
|
||||
sudo gitlab-runner uninstall
|
||||
sudo gitlab-runner install --working-directory /home/gitlab-runner --user root
|
||||
sudo systemctl restart gitlab-runner
|
||||
```
|
||||
|
||||
### 检查 GitLab Runner 配置
|
||||
|
||||
```bash
|
||||
sudo vim /etc/gitlab-runner/config.toml
|
||||
```
|
||||
|
||||
修改文件
|
||||
|
||||
```bash
|
||||
[[runners]]
|
||||
name = "my-runner"
|
||||
executor = "shell"
|
||||
shell = "bash"
|
||||
user = "gitlab-runner" # 确保用户有权限
|
||||
working_directory = "/home/gitlab-runner"
|
||||
```
|
||||
|
||||
### 检查 Maven 安装目录权限
|
||||
|
||||
```bash
|
||||
sudo chmod 777 -R /opt/maven/maven-3.8.8
|
||||
sudo chmod 777 -R /opt/maven/maven-3.8.8/
|
||||
sudo chown -R gitlab-runner:gitlab-runner /opt/maven/maven-3.8.8/
|
||||
```
|
||||
|
||||
## CI/CD脚本示例
|
||||
|
||||
如果构建出现`pending`情况大部分情况下,是文件写错了,要么是`Gitlab-Runner`标签没写对
|
||||
|
||||
```yml
|
||||
stages:
|
||||
- build
|
||||
- build-docker
|
||||
- deploy
|
||||
|
||||
variables:
|
||||
CONTAINER_NAME: "bunny-auth-server"
|
||||
DOCKER_TAG: "4.0.0"
|
||||
|
||||
build-job:
|
||||
stage: build
|
||||
script:
|
||||
- echo "Compiling the code..."
|
||||
- mvn clean package -DskipTests
|
||||
- echo "Compile complete."
|
||||
- docker pull openjdk:24-ea-17-jdk-oraclelinux9
|
||||
- echo "docker pull complete."
|
||||
- docker build -f Dockerfile -t $CONTAINER_NAME:$DOCKER_TAG .
|
||||
- echo "Application successfully deployed."
|
||||
|
||||
deploy-job:
|
||||
stage: deploy
|
||||
environment: production
|
||||
script:
|
||||
- echo "Deploying application..."
|
||||
- docker stop $CONTAINER_NAME || true
|
||||
- docker rm $CONTAINER_NAME || true
|
||||
- docker run -d -p 7070:7070 -p 8000:8000 --name $CONTAINER_NAME --restart always $CONTAINER_NAME:$DOCKER_TAG
|
||||
- echo "Application successfully deployed."
|
||||
```
|
283
ReadMe-en.md
283
ReadMe-en.md
|
@ -1,283 +0,0 @@
|
|||
# BunnyAuth Dynamic Permission Control Introduction
|
||||
|
||||
   <img alt="GitHub License" src="https://img.shields.io/github/license/BunnyMaster/bunny-admin-server">  
|
||||
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> Open-source permission template: [Pure-admin](https://pure-admin.github.io/vue-pure-admin/)
|
||||
>
|
||||
> **Pure-admin Documentation**: https://pure-admin.github.io/pure-admin-doc
|
||||
>
|
||||
> **Default Credentials**
|
||||
>
|
||||
> The project includes a default administrator with user `id` `1` in the database:
|
||||
>
|
||||
> Username: `Administrator`
|
||||
>
|
||||
> Password: `admin123`
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> If the password for the administrator [`Administrator`] is incorrect during initial login:
|
||||
>
|
||||
> Locate the `sys_user` table in the database and replace the password for `Administrator` with the following:
|
||||
>
|
||||
> `$2a$10$h5BUwmMaVcEuu7Bz0TPPy.PQV8JP6CFJlbHTgT78G1s0YPIu2kfXe`
|
||||
|
||||
Flexible permission control with multi-platform file upload support.
|
||||
|
||||
## 📽️ Video Tutorials
|
||||
|
||||
**Introduction Videos**
|
||||
|
||||
- [RBAC URL Permission Database and Backend Design](https://www.bilibili.com/video/BV1nGVazrEKf/)
|
||||
- [Bunny-Admin Configuration Guide](https://www.bilibili.com/video/BV177VazMEiM/)
|
||||
- [Bunny-Admin User Operations](https://www.bilibili.com/video/BV1B7VazME72/)
|
||||
- [Bunny-Admin Role Permissions](https://www.bilibili.com/video/BV1ELVazzEnC/)
|
||||
- [Bunny-Admin Remaining Business Logic](https://www.bilibili.com/video/BV1ELVazzE7S/)
|
||||
- [Code Generator](https://www.bilibili.com/video/BV1d4Lxz9E3j/?vd_source=d42b5b664efb958be39eef8ee1196a7e)
|
||||
|
||||
**GitHub Repositories**
|
||||
|
||||
- Permission Backend: https://github.com/BunnyMaster/bunny-admin-server
|
||||
- Permission Frontend: https://github.com/BunnyMaster/bunny-admin-web
|
||||
- Code Generator: https://github.com/BunnyMaster/generator-code-server
|
||||
|
||||
**Gitee Repositories**
|
||||
|
||||
- Permission Backend: https://gitee.com/BunnyBoss/bunny-admin-server
|
||||
- Permission Frontend: https://gitee.com/BunnyBoss/bunny-admin-web
|
||||
- Code Generator: https://gitee.com/BunnyBoss/generator-code-server
|
||||
|
||||
## 🚀 Project Overview
|
||||
|
||||
A modern dynamic permission control system based on Spring Security 6, providing a complete RBAC permission management solution. Supports frontend-backend separation architecture and flexible fine-grained permission control.
|
||||
|
||||
## 😋 Controller Annotation Guide
|
||||
|
||||
The project is URL-based for easy permission interface definition. Permissions can be added or deleted via URLs, even if the interface does not exist in the project.
|
||||
|
||||
For example, if a role needs access to all interfaces under `dept`, the URL can be written as `api/dept/**`. For specific interfaces like `/api/dept/aaa/bbb`, the URL can be customized accordingly.
|
||||
|
||||
For paginated queries with URL parameters, use `/api/dept/*/*` for flexible permission control.
|
||||
|
||||
In scenarios where interfaces directly represent permissions, manually adding each URL is tedious. Instead, Swagger annotations and the custom `PermissionTag` annotation can be used. Reflection-based permission addition is also supported. Refer to the `ReadMe` in the controller directory for details.
|
||||
|
||||
## ✨ Major Updates
|
||||
|
||||
### Core Improvements
|
||||
|
||||
**v4.0.0**
|
||||
|
||||
- **Complete Refactoring**: Backend interfaces, entity classes, and frontend optimizations.
|
||||
- **Batch Operations Support**:
|
||||
- ✅ Menu Management: Enhanced attribute content.
|
||||
- ✅ Permission Management: JSON/Excel import/export.
|
||||
- ✅ Role Management: Excel batch updates.
|
||||
- ✅ Multi-language Configuration: JSON/Excel updates (full replacement mode).
|
||||
|
||||
**v4.0.1**
|
||||
|
||||
- File system supports multiple platforms with manual configuration.
|
||||
- Reference documentation: https://x-file-storage.xuyanwu.cn/#/
|
||||
- File deletion and download require implementing the `FileRecorder` interface. The code and controllers are in the `file` directory. Modify as needed based on the [x-file-storage] documentation.
|
||||
|
||||
## 🧠 Usage Tips
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> Multi-language Usage Tips:
|
||||
>
|
||||
> While direct JSON file manipulation may be challenging for some users, JSON offers unique advantages in multi-language projects:
|
||||
>
|
||||
> 1. Structured format for easy AI parsing.
|
||||
> 2. Efficient translation workflow:
|
||||
> - Developers only need to complete the Chinese version.
|
||||
> - Upload JSON to AI translation tools.
|
||||
> - Simple commands generate English/Traditional Chinese/Korean versions.
|
||||
> 3. Saves significant development time with a "write once, adapt for multiple languages" approach.
|
||||
|
||||
## 🔐 Permission Control System
|
||||
|
||||

|
||||
|
||||
### Access Rules Configuration
|
||||
|
||||
Configured via `WebSecurityConfig`:
|
||||
|
||||
| Path Type | Example | Access Requirement | Configuration Method |
|
||||
| ----------------- | ----------------- | ------------------ | ------------------------------- |
|
||||
| Public Interface | `/api/public/**` | No authentication | Path contains `public` keyword |
|
||||
| Private Interface | `/api/private/**` | Requires login | Path contains `private` keyword |
|
||||
|
||||
### Path Matching Strategy
|
||||
|
||||
```java
|
||||
public static String[] annotations = { ... };
|
||||
|
||||
// Configuration Example
|
||||
http.authorizeHttpRequests(auth -> auth
|
||||
.authorizeHttpRequests(authorize -> authorize
|
||||
.requestMatchers(annotations).permitAll()
|
||||
);
|
||||
```
|
||||
|
||||
### Maven Project Structure
|
||||
|
||||
```
|
||||
bunny-auth/
|
||||
├── auth-api # Interface Layer
|
||||
├── auth-core # Core Module
|
||||
│ ├── config # Security Configuration
|
||||
│ └── domain # Domain
|
||||
│ └── ...... # And more...
|
||||
├── service # Business Implementation
|
||||
└── dao # Data Persistence Layer
|
||||
```
|
||||
|
||||
## 🛠️ Use Cases
|
||||
|
||||
### 1. Frontend-Only Control Mode
|
||||
|
||||
Frontend details: https://pure-admin.cn/pages/RBAC/#%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE
|
||||
|
||||

|
||||
|
||||
- **Page Control**:
|
||||
1. Assign roles to route menus.
|
||||
2. Assign roles to users.
|
||||
- **Button Control**:
|
||||
```ts
|
||||
// Frontend Permission Codes
|
||||
const auth = {
|
||||
add: ['i18nType::add'],
|
||||
update: ['i18nType::update'],
|
||||
delete: ['i18nType::delete'],
|
||||
};
|
||||
```
|
||||
|
||||
### 2. Backend-Only Control Mode
|
||||
|
||||
- Interface-level permissions: For pagination, use `/api/permission/*/*`.
|
||||
|
||||
```java
|
||||
@Tag(name = "System Permissions")
|
||||
@PermissionTag(permission = "permission::*")
|
||||
@RestController
|
||||
@RequestMapping("api/permission")
|
||||
public class PermissionController {
|
||||
@Operation(summary = "Pagination Query")
|
||||
@PermissionTag(permission = "permission::query")
|
||||
@GetMapping("{page}/{limit}")
|
||||
public Result<PageResult<PermissionVo>> getPermissionPage(
|
||||
@PathVariable Integer page,
|
||||
@PathVariable Integer limit) {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Full-Stack Control Mode
|
||||
|
||||
Combine the above two approaches.
|
||||
|
||||
## 🛡️ Security Configuration
|
||||
|
||||
### Path Matching Strategy
|
||||
|
||||
AntPath details: https://juejin.cn/spost/7498247273660743732
|
||||
|
||||
| Pattern | Example | Description |
|
||||
| --------------- | --------------- | ----------------------- |
|
||||
| Exact Match | `/api/user` | Matches exact path |
|
||||
| Single Wildcard | `/api/user/*` | Matches single level |
|
||||
| Multi Wildcard | `/api/user/**` | Matches multiple levels |
|
||||
| Method Specific | `GET /api/user` | Matches HTTP method |
|
||||
|
||||
## 🧰 Technology Stack
|
||||
|
||||
### 😄 Frontend
|
||||
|
||||
- Vue 3 + PureAdmin Template
|
||||
- Custom Permission Components
|
||||
- Internationalization Support
|
||||
|
||||
### 😃 Backend
|
||||
|
||||
- Spring Boot 3 + Spring Security 6
|
||||
- JDK 17
|
||||
- MySQL + Redis + MinIO
|
||||
- Swagger + Knife4j Documentation
|
||||
|
||||
### 😀 Development Environment
|
||||
|
||||
Docker startup varies by version:
|
||||
|
||||
```bash
|
||||
# Start dependency services with one command
|
||||
docker-compose up -d
|
||||
# For newer Docker versions
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## 📚 Best Practices
|
||||
|
||||
1. **Annotation Standards**:
|
||||
```java
|
||||
@Tag(name = "Module Name", description = "Module Description")
|
||||
@Operation(summary = "Interface Summary", tags = {"Permission Code"})
|
||||
// Or
|
||||
@Operation(summary = "Interface Summary", tags = "Permission Code")
|
||||
```
|
||||
2. **Permission Code Design**:
|
||||
- Module::Operation (e.g., `user::create`).
|
||||
- Hierarchical design (e.g., `system:user:update`).
|
||||
3. **Batch Operations**:
|
||||
- Manage permissions via Excel/JSON.
|
||||
- Regularly backup permission configurations.
|
||||
|
||||
## 🌟 Project Advantages
|
||||
|
||||
1. **True Dynamic Control** – No hardcoded permission logic.
|
||||
2. **Flexible Data Import** – Supports multiple file formats.
|
||||
3. **Fine-Grained Control** – Multi-level permissions from pages to buttons.
|
||||
4. **Modern Tech Stack** – Based on the latest Spring ecosystem.
|
||||
5. **Out-of-the-Box** – Complete Docker deployment solution.
|
||||
|
||||
## 📌 Notes
|
||||
|
||||
1. Multi-language updates fully replace existing configurations.
|
||||
2. Disable Swagger endpoints in production.
|
||||
3. Use Excel for complex permission management.
|
||||
|
||||
## 📈 Future Plans
|
||||
|
||||
None at the moment.
|
||||
|
||||
## 📏 Frontend-Backend Interface Standards
|
||||
|
||||
### 🌐 Frontend Example Standards
|
||||
|
||||
| **Action** | **API Layer** | **Pinia Layer** |
|
||||
| :----------- | :------------ | :-------------- |
|
||||
| Query Single | `getUser` | `loadUser` |
|
||||
| Query List | `getUserList` | `loadUserList` |
|
||||
| Pagination | `getUserPage` | `fetchUserPage` |
|
||||
| Add Data | `createUser` | `addUser` |
|
||||
| Update Data | `updateUser` | `editUser` |
|
||||
| Delete Data | `deleteUser` | `removeUser` |
|
||||
|
||||
### 🛟 Backend Interface Example Standards
|
||||
|
||||
Follows RESTful standards.
|
||||
|
||||
| **Action** | **RESTful** |
|
||||
| :----------- | :-------------------------- |
|
||||
| Query List | `GET /users` |
|
||||
| Pagination | `GET /users/{page}/{limit}` |
|
||||
| Query Single | `GET /users/{id}` |
|
||||
| Add | `POST /users` |
|
||||
| Update | `PUT /users/{id}` |
|
||||
| Delete | `DELETE /users/{id}` |
|
||||
|
||||

|
|
@ -1,8 +1,5 @@
|
|||
# BunnyAuth动态权限控制简介
|
||||
|
||||
|
||||
<img alt="GitHub License" src="https://img.shields.io/github/license/BunnyMaster/bunny-admin-server">
|
||||
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> 开源权限模板[Pure-admin](https://pure-admin.github.io/vue-pure-admin/)
|
||||
|
|
|
@ -3,8 +3,8 @@ package cn.bunny.services.controller.configuration;
|
|||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.configuration.dto.WebConfigurationDto;
|
||||
import cn.bunny.services.domain.configuration.entity.WebConfiguration;
|
||||
import cn.bunny.services.domain.system.configuration.dto.WebConfigurationDto;
|
||||
import cn.bunny.services.domain.system.configuration.entity.WebConfiguration;
|
||||
import cn.bunny.services.service.configuration.ConfigurationService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
package cn.bunny.services.controller.configuration;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.configuration.dto.EmailTemplateDto;
|
||||
import cn.bunny.services.domain.configuration.entity.EmailTemplate;
|
||||
import cn.bunny.services.domain.configuration.vo.EmailTemplateVo;
|
||||
import cn.bunny.services.domain.system.email.dto.EmailTemplateAddDto;
|
||||
import cn.bunny.services.domain.system.email.dto.EmailTemplateDto;
|
||||
import cn.bunny.services.domain.system.email.dto.EmailTemplateUpdateDto;
|
||||
import cn.bunny.services.domain.system.email.entity.EmailTemplate;
|
||||
import cn.bunny.services.domain.system.email.vo.EmailTemplateVo;
|
||||
import cn.bunny.services.service.configuration.EmailTemplateService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -54,15 +55,15 @@ public class EmailTemplateController {
|
|||
@Operation(summary = "添加邮件模板", description = "添加邮件模板")
|
||||
@PermissionTag(permission = "emailTemplate:add")
|
||||
@PostMapping()
|
||||
public Result<String> createEmailTemplate(@Validated(ValidationGroups.Add.class) @RequestBody EmailTemplateDto dto) {
|
||||
emailTemplateService.createEmailTemplate(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addEmailTemplate(@Valid @RequestBody EmailTemplateAddDto dto) {
|
||||
emailTemplateService.addEmailTemplate(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新邮件模板", description = "更新邮件模板")
|
||||
@PermissionTag(permission = "emailTemplate:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateEmailTemplate(@Validated(ValidationGroups.Update.class) @RequestBody EmailTemplateDto dto) {
|
||||
public Result<String> updateEmailTemplate(@Valid @RequestBody EmailTemplateUpdateDto dto) {
|
||||
emailTemplateService.updateEmailTemplate(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
package cn.bunny.services.controller.configuration;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.configuration.dto.EmailUsersDto;
|
||||
import cn.bunny.services.domain.configuration.entity.EmailUsers;
|
||||
import cn.bunny.services.domain.configuration.vo.EmailUsersVo;
|
||||
import cn.bunny.services.domain.system.email.dto.EmailUsersAddDto;
|
||||
import cn.bunny.services.domain.system.email.dto.EmailUsersDto;
|
||||
import cn.bunny.services.domain.system.email.dto.EmailUsersUpdateDto;
|
||||
import cn.bunny.services.domain.system.email.entity.EmailUsers;
|
||||
import cn.bunny.services.domain.system.email.vo.EmailUsersVo;
|
||||
import cn.bunny.services.service.configuration.EmailUsersService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -54,15 +55,15 @@ public class EmailUsersController {
|
|||
@Operation(summary = "添加邮箱用户配置", description = "添加邮箱用户配置")
|
||||
@PermissionTag(permission = "emailUsers:add")
|
||||
@PostMapping()
|
||||
public Result<String> createEmailUsers(@Validated(ValidationGroups.Add.class) @RequestBody EmailUsersDto dto) {
|
||||
emailUsersService.createEmailUsers(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addEmailUsers(@Valid @RequestBody EmailUsersAddDto dto) {
|
||||
emailUsersService.addEmailUsers(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新邮箱用户配置", description = "更新邮箱用户配置")
|
||||
@PermissionTag(permission = "emailUsers:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateEmailUsers(@Validated(ValidationGroups.Update.class) @RequestBody EmailUsersDto dto) {
|
||||
public Result<String> updateEmailUsers(@Valid @RequestBody EmailUsersUpdateDto dto) {
|
||||
emailUsersService.updateEmailUsers(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
package cn.bunny.services.controller.configuration;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.configuration.dto.I18nDto;
|
||||
import cn.bunny.services.domain.configuration.dto.I18nUpdateByFileDto;
|
||||
import cn.bunny.services.domain.configuration.entity.I18n;
|
||||
import cn.bunny.services.domain.configuration.vo.I18nVo;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nAddDto;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nDto;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nUpdateByFileDto;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nUpdateDto;
|
||||
import cn.bunny.services.domain.system.i18n.entity.I18n;
|
||||
import cn.bunny.services.domain.system.i18n.vo.I18nVo;
|
||||
import cn.bunny.services.service.configuration.I18nService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -17,7 +18,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -57,7 +57,7 @@ public class I18nController {
|
|||
@Operation(summary = "更新多语言", description = "更新多语言")
|
||||
@PermissionTag(permission = "i18n:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateI18n(@Validated(ValidationGroups.Update.class) @RequestBody I18nDto dto) {
|
||||
public Result<String> updateI18n(@Valid @RequestBody I18nUpdateDto dto) {
|
||||
i18nService.updateI18n(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
@ -65,9 +65,9 @@ public class I18nController {
|
|||
@Operation(summary = "添加多语言", description = "添加多语言")
|
||||
@PermissionTag(permission = "i18n:add")
|
||||
@PostMapping()
|
||||
public Result<String> createI18n(@Validated(ValidationGroups.Add.class) @RequestBody I18nDto dto) {
|
||||
i18nService.createI18n(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addI18n(@Valid @RequestBody I18nAddDto dto) {
|
||||
i18nService.addI18n(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除多语言", description = "删除多语言")
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
package cn.bunny.services.controller.configuration;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.configuration.dto.I18nTypeDto;
|
||||
import cn.bunny.services.domain.configuration.vo.I18nTypeVo;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nTypeAddDto;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nTypeDto;
|
||||
import cn.bunny.services.domain.system.i18n.dto.I18nTypeUpdateDto;
|
||||
import cn.bunny.services.domain.system.i18n.vo.I18nTypeVo;
|
||||
import cn.bunny.services.service.configuration.I18nTypeService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -35,15 +36,15 @@ public class I18nTypeController {
|
|||
@Operation(summary = "添加多语言类型", description = "添加多语言类型")
|
||||
@PermissionTag(permission = "i18n:query")
|
||||
@PostMapping()
|
||||
public Result<String> createI18nType(@Validated(ValidationGroups.Add.class) @RequestBody I18nTypeDto dto) {
|
||||
i18nTypeService.createI18nType(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addI18nType(@Valid @RequestBody I18nTypeAddDto dto) {
|
||||
i18nTypeService.addI18nType(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新多语言类型", description = "更新多语言类型")
|
||||
@PermissionTag(permission = "i18n:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateI18nType(@Validated(ValidationGroups.Update.class) @RequestBody I18nTypeDto dto) {
|
||||
public Result<String> updateI18nType(@Valid @RequestBody I18nTypeUpdateDto dto) {
|
||||
i18nTypeService.updateI18nType(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
package cn.bunny.services.controller.configuration;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.configuration.dto.MenuIconDto;
|
||||
import cn.bunny.services.domain.configuration.entity.MenuIcon;
|
||||
import cn.bunny.services.domain.configuration.vo.MenuIconVo;
|
||||
import cn.bunny.services.domain.system.menuIcon.dto.MenuIconAddDto;
|
||||
import cn.bunny.services.domain.system.menuIcon.dto.MenuIconDto;
|
||||
import cn.bunny.services.domain.system.menuIcon.dto.MenuIconUpdateDto;
|
||||
import cn.bunny.services.domain.system.menuIcon.entity.MenuIcon;
|
||||
import cn.bunny.services.domain.system.menuIcon.vo.MenuIconVo;
|
||||
import cn.bunny.services.service.configuration.MenuIconService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -53,15 +54,15 @@ public class MenuIconController {
|
|||
@Operation(summary = "添加菜单图标", description = "添加系统菜单图标")
|
||||
@PermissionTag(permission = "menuIcon:add")
|
||||
@PostMapping()
|
||||
public Result<String> createMenuIcon(@Validated(ValidationGroups.Add.class) @RequestBody MenuIconDto dto) {
|
||||
menuIconService.createMenuIcon(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addMenuIcon(@Valid @RequestBody MenuIconAddDto dto) {
|
||||
menuIconService.addMenuIcon(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新菜单图标", description = "更新系统菜单图标")
|
||||
@PermissionTag(permission = "menuIcon:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateMenuIcon(@Validated(ValidationGroups.Update.class) @RequestBody MenuIconDto dto) {
|
||||
public Result<String> updateMenuIcon(@Valid @RequestBody MenuIconUpdateDto dto) {
|
||||
menuIconService.updateMenuIcon(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,17 +1,16 @@
|
|||
package cn.bunny.services.controller.file;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.constant.FileStorageConstant;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.files.dto.FileUploadDto;
|
||||
import cn.bunny.services.domain.files.dto.FilesCreateOrUpdateDto;
|
||||
import cn.bunny.services.domain.files.dto.FilesDto;
|
||||
import cn.bunny.services.domain.files.entity.Files;
|
||||
import cn.bunny.services.domain.files.vo.FileInfoVo;
|
||||
import cn.bunny.services.domain.files.vo.FilesVo;
|
||||
import cn.bunny.services.domain.system.files.dto.FileUploadDto;
|
||||
import cn.bunny.services.domain.system.files.dto.FilesAddOrUpdateDto;
|
||||
import cn.bunny.services.domain.system.files.dto.FilesDto;
|
||||
import cn.bunny.services.domain.system.files.entity.Files;
|
||||
import cn.bunny.services.domain.system.files.vo.FileInfoVo;
|
||||
import cn.bunny.services.domain.system.files.vo.FilesVo;
|
||||
import cn.bunny.services.service.file.FilesService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -20,7 +19,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -60,7 +58,7 @@ public class FilesController {
|
|||
@Operation(summary = "更新文件", description = "更新系统文件")
|
||||
@PermissionTag(permission = "files:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateFiles(@Validated(ValidationGroups.Update.class) FilesCreateOrUpdateDto dto) {
|
||||
public Result<String> updateFiles(@Valid FilesAddOrUpdateDto dto) {
|
||||
filesService.updateFiles(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
@ -68,9 +66,9 @@ public class FilesController {
|
|||
@Operation(summary = "添加文件", description = "添加系统文件")
|
||||
@PermissionTag(permission = "files:add")
|
||||
@PostMapping()
|
||||
public Result<Object> createFiles(@Validated(ValidationGroups.Add.class) FilesCreateOrUpdateDto dto) {
|
||||
filesService.createFiles(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<Object> addFiles(@Valid FilesAddOrUpdateDto dto) {
|
||||
filesService.addFiles(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除文件", description = "删除系统文件")
|
||||
|
@ -99,14 +97,14 @@ public class FilesController {
|
|||
|
||||
@Operation(summary = "上传文件", description = "上传文件")
|
||||
@PostMapping("private/file")
|
||||
public Result<FileInfoVo> upload(@Valid FileUploadDto dto) {
|
||||
public Result<FileInfoVo> upload(FileUploadDto dto) {
|
||||
FileInfoVo vo = filesService.upload(dto);
|
||||
return Result.success(vo, ResultCodeEnum.SUCCESS_UPLOAD);
|
||||
}
|
||||
|
||||
@Operation(summary = "上传图片文件", description = "上传图片文件")
|
||||
@PostMapping("private/image")
|
||||
public Result<FileInfoVo> uploadImage(@Valid FileUploadDto dto) {
|
||||
public Result<FileInfoVo> uploadImage(FileUploadDto dto) {
|
||||
FileInfoVo vo = filesService.uploadFileByThumbnail(dto);
|
||||
return Result.success(vo, ResultCodeEnum.SUCCESS_UPLOAD);
|
||||
}
|
||||
|
|
|
@ -4,9 +4,9 @@ import cn.bunny.services.aop.annotation.PermissionTag;
|
|||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.files.dto.FilesParDetailDto;
|
||||
import cn.bunny.services.domain.files.entity.FilesParDetail;
|
||||
import cn.bunny.services.domain.files.vo.FilesParDetailVo;
|
||||
import cn.bunny.services.domain.system.files.dto.FilesParDetailDto;
|
||||
import cn.bunny.services.domain.system.files.entity.FilesParDetail;
|
||||
import cn.bunny.services.domain.system.files.vo.FilesParDetailVo;
|
||||
import cn.bunny.services.service.file.FilesParDetailService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -52,9 +52,9 @@ public class FilesParDetailController {
|
|||
@Operation(summary = "添加文件分片信息表,仅在手动分片上传时使用", description = "添加文件分片信息表,仅在手动分片上传时使用")
|
||||
@PermissionTag(permission = "filesParDetail:add")
|
||||
@PostMapping()
|
||||
public Result<String> createFilesParDetail(@Valid @RequestBody FilesParDetailDto dto) {
|
||||
filesPardetailService.createFilesParDetail(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addFilesParDetail(@Valid @RequestBody FilesParDetailDto dto) {
|
||||
filesPardetailService.addFilesParDetail(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新文件分片信息表,仅在手动分片上传时使用", description = "更新文件分片信息表,仅在手动分片上传时使用")
|
||||
|
|
|
@ -4,9 +4,9 @@ import cn.bunny.services.aop.annotation.PermissionTag;
|
|||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.log.dto.ScheduleExecuteLogDto;
|
||||
import cn.bunny.services.domain.log.entity.ScheduleExecuteLog;
|
||||
import cn.bunny.services.domain.log.vo.ScheduleExecuteLogVo;
|
||||
import cn.bunny.services.domain.system.log.dto.ScheduleExecuteLogDto;
|
||||
import cn.bunny.services.domain.system.log.entity.ScheduleExecuteLog;
|
||||
import cn.bunny.services.domain.system.log.vo.ScheduleExecuteLogVo;
|
||||
import cn.bunny.services.service.log.ScheduleExecuteLogService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -4,10 +4,10 @@ import cn.bunny.services.aop.annotation.PermissionTag;
|
|||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.log.dto.UserLoginLogDto;
|
||||
import cn.bunny.services.domain.log.entity.UserLoginLog;
|
||||
import cn.bunny.services.domain.log.vo.UserLoginLogLocalVo;
|
||||
import cn.bunny.services.domain.log.vo.UserLoginLogVo;
|
||||
import cn.bunny.services.domain.system.log.dto.UserLoginLogDto;
|
||||
import cn.bunny.services.domain.system.log.entity.UserLoginLog;
|
||||
import cn.bunny.services.domain.system.log.vo.UserLoginLogLocalVo;
|
||||
import cn.bunny.services.domain.system.log.vo.UserLoginLogVo;
|
||||
import cn.bunny.services.service.log.UserLoginLogService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
package cn.bunny.services.controller.message;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.message.dto.MessageDto;
|
||||
import cn.bunny.services.domain.message.entity.Message;
|
||||
import cn.bunny.services.domain.message.vo.MessageDetailVo;
|
||||
import cn.bunny.services.domain.message.vo.MessageReceivedWithUserVo;
|
||||
import cn.bunny.services.domain.message.vo.MessageVo;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageAddDto;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageDto;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageUpdateDto;
|
||||
import cn.bunny.services.domain.system.message.entity.Message;
|
||||
import cn.bunny.services.domain.system.message.vo.MessageDetailVo;
|
||||
import cn.bunny.services.domain.system.message.vo.MessageReceivedWithUserVo;
|
||||
import cn.bunny.services.domain.system.message.vo.MessageVo;
|
||||
import cn.bunny.services.service.message.MessageService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -54,14 +55,14 @@ public class MessageController {
|
|||
|
||||
@Operation(summary = "添加系统消息", description = "添加系统消息")
|
||||
@PostMapping()
|
||||
public Result<String> createMessage(@Validated(ValidationGroups.Add.class) @RequestBody MessageDto dto) {
|
||||
messageService.createMessage(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addMessage(@Valid @RequestBody MessageAddDto dto) {
|
||||
messageService.addMessage(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更系统消息", description = "更新系统消息")
|
||||
@PutMapping()
|
||||
public Result<String> updateMessage(@Validated(ValidationGroups.Update.class) @RequestBody MessageDto dto) {
|
||||
public Result<String> updateMessage(@Valid @RequestBody MessageUpdateDto dto) {
|
||||
messageService.updateMessage(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -4,12 +4,12 @@ import cn.bunny.services.aop.annotation.PermissionTag;
|
|||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.message.dto.MessageReceivedDto;
|
||||
import cn.bunny.services.domain.message.dto.MessageReceivedUpdateDto;
|
||||
import cn.bunny.services.domain.message.dto.MessageUserDto;
|
||||
import cn.bunny.services.domain.message.entity.Message;
|
||||
import cn.bunny.services.domain.message.vo.MessageReceivedWithMessageVo;
|
||||
import cn.bunny.services.domain.message.vo.MessageUserVo;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageReceivedDto;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageReceivedUpdateDto;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageUserDto;
|
||||
import cn.bunny.services.domain.system.message.entity.Message;
|
||||
import cn.bunny.services.domain.system.message.vo.MessageReceivedWithMessageVo;
|
||||
import cn.bunny.services.domain.system.message.vo.MessageUserVo;
|
||||
import cn.bunny.services.service.message.MessageReceivedService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -83,7 +83,7 @@ public class MessageReceivedController {
|
|||
|
||||
@Operation(summary = "用户将消息标为已读", description = "用户将消息标为已读")
|
||||
@PutMapping("private/user/messages/read-status")
|
||||
public Result<String> markAsReadByUser(@RequestBody List<Long> ids) {
|
||||
public Result<String> markAsReadByUser(@Valid @RequestBody List<Long> ids) {
|
||||
messageReceivedService.markAsReadByUser(ids);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
package cn.bunny.services.controller.message;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.message.dto.MessageTypeDto;
|
||||
import cn.bunny.services.domain.message.entity.MessageType;
|
||||
import cn.bunny.services.domain.message.vo.MessageTypeVo;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageTypeAddDto;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageTypeDto;
|
||||
import cn.bunny.services.domain.system.message.dto.MessageTypeUpdateDto;
|
||||
import cn.bunny.services.domain.system.message.entity.MessageType;
|
||||
import cn.bunny.services.domain.system.message.vo.MessageTypeVo;
|
||||
import cn.bunny.services.service.message.MessageTypeService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -53,15 +54,15 @@ public class MessageTypeController {
|
|||
@Operation(summary = "添加消息类型", description = "添加系统消息类型")
|
||||
@PermissionTag(permission = "messageType:add")
|
||||
@PostMapping()
|
||||
public Result<String> createMessageType(@Validated(ValidationGroups.Add.class) @RequestBody MessageTypeDto dto) {
|
||||
messageTypeService.createMessageType(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addMessageType(@Valid @RequestBody MessageTypeAddDto dto) {
|
||||
messageTypeService.addMessageType(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新消息类型", description = "更新系统消息类型")
|
||||
@PermissionTag(permission = "messageType:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateMessageType(@Validated(ValidationGroups.Update.class) @RequestBody MessageTypeDto dto) {
|
||||
public Result<String> updateMessageType(@Valid @RequestBody MessageTypeUpdateDto dto) {
|
||||
messageTypeService.updateMessageType(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -2,20 +2,21 @@ package cn.bunny.services.controller.schedule;
|
|||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.aop.scanner.QuartzSchedulersScanner;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.schedule.dto.SchedulersDto;
|
||||
import cn.bunny.services.domain.schedule.entity.Schedulers;
|
||||
import cn.bunny.services.domain.schedule.vo.SchedulersVo;
|
||||
import cn.bunny.services.domain.system.quartz.dto.SchedulersAddDto;
|
||||
import cn.bunny.services.domain.system.quartz.dto.SchedulersDto;
|
||||
import cn.bunny.services.domain.system.quartz.dto.SchedulersUpdateDto;
|
||||
import cn.bunny.services.domain.system.quartz.entity.Schedulers;
|
||||
import cn.bunny.services.domain.system.quartz.vo.SchedulersVo;
|
||||
import cn.bunny.services.service.schedule.SchedulersService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -55,15 +56,15 @@ public class SchedulersController {
|
|||
@Operation(summary = "添加任务调度", description = "添加任务")
|
||||
@PermissionTag(permission = "schedulers:add")
|
||||
@PostMapping()
|
||||
public Result<Object> createSchedulers(@Validated(ValidationGroups.Add.class) @RequestBody SchedulersDto dto) {
|
||||
schedulersService.createSchedulers(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<Object> addSchedulers(@Valid @RequestBody SchedulersAddDto dto) {
|
||||
schedulersService.addSchedulers(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新任务调度", description = "更新任务")
|
||||
@PermissionTag(permission = "schedulers:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateSchedulers(@Validated(ValidationGroups.Update.class) @RequestBody SchedulersDto dto) {
|
||||
public Result<String> updateSchedulers(@Valid @RequestBody SchedulersUpdateDto dto) {
|
||||
schedulersService.updateSchedulers(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
@ -71,7 +72,7 @@ public class SchedulersController {
|
|||
@Operation(summary = "暂停任务调度", description = "暂停任务")
|
||||
@PermissionTag(permission = "schedulers:update")
|
||||
@PutMapping("pause")
|
||||
public Result<String> pause(@RequestBody SchedulersDto dto) {
|
||||
public Result<String> pause(@RequestBody SchedulersUpdateDto dto) {
|
||||
schedulersService.pauseScheduler(dto);
|
||||
return Result.success();
|
||||
}
|
||||
|
@ -79,7 +80,7 @@ public class SchedulersController {
|
|||
@Operation(summary = "恢复任务调度", description = "恢复任务")
|
||||
@PermissionTag(permission = "schedulers:update")
|
||||
@PutMapping("resume")
|
||||
public Result<String> resume(@RequestBody SchedulersDto dto) {
|
||||
public Result<String> resume(@RequestBody SchedulersUpdateDto dto) {
|
||||
schedulersService.resumeScheduler(dto);
|
||||
return Result.success();
|
||||
}
|
||||
|
@ -87,7 +88,7 @@ public class SchedulersController {
|
|||
@Operation(summary = "删除任务调度", description = "删除任务")
|
||||
@PermissionTag(permission = "schedulers:delete")
|
||||
@DeleteMapping()
|
||||
public Result<String> deleteSchedulers(@RequestBody SchedulersDto dto) {
|
||||
public Result<String> deleteSchedulers(@RequestBody SchedulersUpdateDto dto) {
|
||||
schedulersService.deleteSchedulers(dto);
|
||||
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
package cn.bunny.services.controller.schedule;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.schedule.dto.SchedulersGroupDto;
|
||||
import cn.bunny.services.domain.schedule.entity.SchedulersGroup;
|
||||
import cn.bunny.services.domain.schedule.vo.SchedulersGroupVo;
|
||||
import cn.bunny.services.domain.system.quartz.dto.SchedulersGroupAddDto;
|
||||
import cn.bunny.services.domain.system.quartz.dto.SchedulersGroupDto;
|
||||
import cn.bunny.services.domain.system.quartz.dto.SchedulersGroupUpdateDto;
|
||||
import cn.bunny.services.domain.system.quartz.entity.SchedulersGroup;
|
||||
import cn.bunny.services.domain.system.quartz.vo.SchedulersGroupVo;
|
||||
import cn.bunny.services.service.schedule.SchedulersGroupService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -53,15 +54,15 @@ public class SchedulersGroupController {
|
|||
@Operation(summary = "添加任务调度分组", description = "添加任务调度分组")
|
||||
@PermissionTag(permission = "schedulersGroup:add")
|
||||
@PostMapping()
|
||||
public Result<String> createSchedulersGroup(@Validated(ValidationGroups.Add.class) @RequestBody SchedulersGroupDto dto) {
|
||||
schedulersGroupService.createSchedulersGroup(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addSchedulersGroup(@Valid @RequestBody SchedulersGroupAddDto dto) {
|
||||
schedulersGroupService.addSchedulersGroup(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新任务调度分组", description = "更新任务调度分组")
|
||||
@PermissionTag(permission = "schedulersGroup:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateSchedulersGroup(@Validated(ValidationGroups.Update.class) @RequestBody SchedulersGroupDto dto) {
|
||||
public Result<String> updateSchedulersGroup(@Valid @RequestBody SchedulersGroupUpdateDto dto) {
|
||||
schedulersGroupService.updateSchedulersGroup(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
package cn.bunny.services.controller.system;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.DeptDto;
|
||||
import cn.bunny.services.domain.system.entity.Dept;
|
||||
import cn.bunny.services.domain.system.vo.DeptVo;
|
||||
import cn.bunny.services.domain.system.system.dto.dept.DeptAddDto;
|
||||
import cn.bunny.services.domain.system.system.dto.dept.DeptDto;
|
||||
import cn.bunny.services.domain.system.system.dto.dept.DeptUpdateDto;
|
||||
import cn.bunny.services.domain.system.system.entity.Dept;
|
||||
import cn.bunny.services.domain.system.system.vo.DeptVo;
|
||||
import cn.bunny.services.service.system.DeptService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -53,15 +54,15 @@ public class DeptController {
|
|||
@Operation(summary = "添加部门", description = "添加部门")
|
||||
@PermissionTag(permission = "dept:add")
|
||||
@PostMapping()
|
||||
public Result<String> createDept(@Validated(ValidationGroups.Add.class) @RequestBody DeptDto dto) {
|
||||
deptService.createDept(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addDept(@Valid @RequestBody DeptAddDto dto) {
|
||||
deptService.addDept(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新部门", description = "更新部门")
|
||||
@PermissionTag(permission = "dept:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateDept(@Validated(ValidationGroups.Update.class) @RequestBody DeptDto dto) {
|
||||
public Result<String> updateDept(@Valid @RequestBody DeptUpdateDto dto) {
|
||||
deptService.updateDept(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -2,15 +2,16 @@ package cn.bunny.services.controller.system;
|
|||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.aop.scanner.ControllerApiPermissionScanner;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.dto.scanner.ScannerControllerInfoVo;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.PermissionDto;
|
||||
import cn.bunny.services.domain.system.dto.PermissionUpdateBatchByParentIdDto;
|
||||
import cn.bunny.services.domain.system.entity.Permission;
|
||||
import cn.bunny.services.domain.system.vo.PermissionVo;
|
||||
import cn.bunny.services.domain.system.system.dto.power.PermissionAddDto;
|
||||
import cn.bunny.services.domain.system.system.dto.power.PermissionDto;
|
||||
import cn.bunny.services.domain.system.system.dto.power.PermissionUpdateBatchByParentIdDto;
|
||||
import cn.bunny.services.domain.system.system.dto.power.PermissionUpdateDto;
|
||||
import cn.bunny.services.domain.system.system.entity.Permission;
|
||||
import cn.bunny.services.domain.system.system.vo.PermissionVo;
|
||||
import cn.bunny.services.service.system.PermissionService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -19,7 +20,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
@ -59,15 +59,15 @@ public class PermissionController {
|
|||
@Operation(summary = "添加权限", description = "添加权限")
|
||||
@PermissionTag(permission = "permission::add")
|
||||
@PostMapping()
|
||||
public Result<String> createPermission(@Validated(ValidationGroups.Add.class) @RequestBody PermissionDto dto) {
|
||||
permissionService.createPermission(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addPermission(@Valid @RequestBody PermissionAddDto dto) {
|
||||
permissionService.addPermission(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新权限", description = "更新权限")
|
||||
@PermissionTag(permission = "permission::update")
|
||||
@PutMapping()
|
||||
public Result<String> updatePermission(@Validated(ValidationGroups.Update.class) @RequestBody PermissionDto dto) {
|
||||
public Result<String> updatePermission(@Valid @RequestBody PermissionUpdateDto dto) {
|
||||
permissionService.updatePermission(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public class PermissionController {
|
|||
@Operation(summary = "批量修改权", description = "批量修改权")
|
||||
@PermissionTag(permission = "permission::update")
|
||||
@PatchMapping("update/permissions/batch")
|
||||
public Result<String> updatePermissionBatch(@RequestBody List<PermissionDto> list) {
|
||||
public Result<String> updatePermissionBatch(@RequestBody List<PermissionUpdateDto> list) {
|
||||
permissionService.updatePermissionBatch(list);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
package cn.bunny.services.controller.system;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.RoleDto;
|
||||
import cn.bunny.services.domain.system.entity.Role;
|
||||
import cn.bunny.services.domain.system.vo.RoleVo;
|
||||
import cn.bunny.services.domain.system.system.dto.role.RoleAddDto;
|
||||
import cn.bunny.services.domain.system.system.dto.role.RoleDto;
|
||||
import cn.bunny.services.domain.system.system.dto.role.RoleUpdateDto;
|
||||
import cn.bunny.services.domain.system.system.entity.Role;
|
||||
import cn.bunny.services.domain.system.system.vo.RoleVo;
|
||||
import cn.bunny.services.service.system.RoleService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
@ -55,15 +56,15 @@ public class RoleController {
|
|||
@Operation(summary = "添加角色", description = "添加角色")
|
||||
@PermissionTag(permission = "role:add")
|
||||
@PostMapping()
|
||||
public Result<Object> addRole(@Validated(ValidationGroups.Add.class) @RequestBody RoleDto dto) {
|
||||
public Result<Object> addRole(@Valid @RequestBody RoleAddDto dto) {
|
||||
roleService.addRole(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新角色", description = "更新角色")
|
||||
@PermissionTag(permission = "role:update")
|
||||
@PutMapping()
|
||||
public Result<Object> updateRole(@Validated(ValidationGroups.Update.class) @RequestBody RoleDto dto) {
|
||||
public Result<Object> updateRole(@Valid @RequestBody RoleUpdateDto dto) {
|
||||
roleService.updateRole(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package cn.bunny.services.controller.system;
|
|||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.AssignPowersToRoleDto;
|
||||
import cn.bunny.services.domain.system.system.dto.AssignPowersToRoleDto;
|
||||
import cn.bunny.services.service.system.RolePermissionService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
@ -39,8 +39,8 @@ public class RolePermissionController {
|
|||
@Operation(summary = "为角色分配权限", description = "为角色分配权限")
|
||||
@PermissionTag(permission = "rolePermission:update")
|
||||
@PostMapping()
|
||||
public Result<String> saveRolPermission(@Valid @RequestBody AssignPowersToRoleDto dto) {
|
||||
rolePermissionService.saveRolPermission(dto);
|
||||
public Result<String> addRolPermission(@Valid @RequestBody AssignPowersToRoleDto dto) {
|
||||
rolePermissionService.addRolPermission(dto);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
package cn.bunny.services.controller.system;
|
||||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.RouterDto;
|
||||
import cn.bunny.services.domain.system.vo.router.RouterManageVo;
|
||||
import cn.bunny.services.domain.system.vo.router.WebUserRouterVo;
|
||||
import cn.bunny.services.domain.system.system.dto.router.RouterAddDto;
|
||||
import cn.bunny.services.domain.system.system.dto.router.RouterUpdateDto;
|
||||
import cn.bunny.services.domain.system.system.vo.router.RouterManageVo;
|
||||
import cn.bunny.services.domain.system.system.vo.router.WebUserRouterVo;
|
||||
import cn.bunny.services.service.system.RouterService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -52,15 +52,15 @@ public class RouterController {
|
|||
@Operation(summary = "添加路由菜单", description = "添加路由菜单")
|
||||
@PermissionTag(permission = "router:add")
|
||||
@PostMapping()
|
||||
public Result<String> createRouter(@Validated({ValidationGroups.Add.class}) @RequestBody RouterDto dto) {
|
||||
routerService.createRouter(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<String> addRouter(@Valid @RequestBody RouterAddDto dto) {
|
||||
routerService.addRouter(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新路由菜单", description = "更新路由菜单")
|
||||
@PermissionTag(permission = "router:update")
|
||||
@PutMapping()
|
||||
public Result<String> updateRouter(@Validated({ValidationGroups.Update.class}) @RequestBody RouterDto dto) {
|
||||
public Result<String> updateRouter(@Valid @RequestBody RouterUpdateDto dto) {
|
||||
routerService.updateRouter(dto);
|
||||
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -4,12 +4,12 @@ import cn.bunny.services.aop.annotation.PermissionTag;
|
|||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.result.PageResult;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.user.AdminUserAddDto;
|
||||
import cn.bunny.services.domain.system.dto.user.AdminUserDto;
|
||||
import cn.bunny.services.domain.system.dto.user.AdminUserUpdateDto;
|
||||
import cn.bunny.services.domain.system.entity.AdminUser;
|
||||
import cn.bunny.services.domain.system.vo.user.AdminUserVo;
|
||||
import cn.bunny.services.domain.system.vo.user.UserVo;
|
||||
import cn.bunny.services.domain.system.system.dto.user.AdminUserAddDto;
|
||||
import cn.bunny.services.domain.system.system.dto.user.AdminUserDto;
|
||||
import cn.bunny.services.domain.system.system.dto.user.AdminUserUpdateDto;
|
||||
import cn.bunny.services.domain.system.system.entity.AdminUser;
|
||||
import cn.bunny.services.domain.system.system.vo.user.AdminUserVo;
|
||||
import cn.bunny.services.domain.system.system.vo.user.UserVo;
|
||||
import cn.bunny.services.service.system.UserService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -49,9 +49,9 @@ public class UserController {
|
|||
@Operation(summary = "添加用户", description = "添加用户信息")
|
||||
@PermissionTag(permission = "user:add")
|
||||
@PostMapping()
|
||||
public Result<Object> createUserByAdmin(@Valid @RequestBody AdminUserAddDto dto) {
|
||||
userService.createUserByAdmin(dto);
|
||||
return Result.success(ResultCodeEnum.CREATE_SUCCESS);
|
||||
public Result<Object> addUserByAdmin(@Valid @RequestBody AdminUserAddDto dto) {
|
||||
userService.addUserByAdmin(dto);
|
||||
return Result.success(ResultCodeEnum.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
@Operation(summary = "更新用户", description = "更新用户信息,需要更新Redis中的内容")
|
||||
|
|
|
@ -4,10 +4,10 @@ import cn.bunny.services.context.BaseContext;
|
|||
import cn.bunny.services.domain.common.enums.ResultCodeEnum;
|
||||
import cn.bunny.services.domain.common.model.vo.LoginVo;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.user.AdminUserUpdateByLocalUserDto;
|
||||
import cn.bunny.services.domain.system.dto.user.LoginDto;
|
||||
import cn.bunny.services.domain.system.dto.user.RefreshTokenDto;
|
||||
import cn.bunny.services.domain.system.vo.user.RefreshTokenVo;
|
||||
import cn.bunny.services.domain.system.system.dto.user.AdminUserUpdateByLocalUserDto;
|
||||
import cn.bunny.services.domain.system.system.dto.user.LoginDto;
|
||||
import cn.bunny.services.domain.system.system.dto.user.RefreshTokenDto;
|
||||
import cn.bunny.services.domain.system.system.vo.user.RefreshTokenVo;
|
||||
import cn.bunny.services.exception.AuthCustomerException;
|
||||
import cn.bunny.services.service.system.UserLoginService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
|
@ -2,7 +2,7 @@ package cn.bunny.services.controller.system;
|
|||
|
||||
import cn.bunny.services.aop.annotation.PermissionTag;
|
||||
import cn.bunny.services.domain.common.model.vo.result.Result;
|
||||
import cn.bunny.services.domain.system.dto.user.AssignRolesToUsersDto;
|
||||
import cn.bunny.services.domain.system.system.dto.user.AssignRolesToUsersDto;
|
||||
import cn.bunny.services.service.system.UserRoleService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
|
|
@ -3,7 +3,7 @@ package impl;
|
|||
import cn.bunny.services.AuthServiceApplication;
|
||||
import cn.bunny.services.aop.scanner.ControllerApiPermissionScanner;
|
||||
import cn.bunny.services.domain.common.model.dto.scanner.ScannerControllerInfoVo;
|
||||
import cn.bunny.services.domain.system.entity.Permission;
|
||||
import cn.bunny.services.domain.system.system.entity.Permission;
|
||||
import cn.bunny.services.service.system.PermissionService;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
package cn.bunny.services.domain.common;
|
||||
|
||||
public interface ValidationGroups {
|
||||
interface QUERY {
|
||||
}
|
||||
|
||||
interface Add {
|
||||
}
|
||||
|
||||
interface Update {
|
||||
}
|
||||
}
|
|
@ -9,7 +9,7 @@ import lombok.Getter;
|
|||
public enum ResultCodeEnum {
|
||||
// 成功操作 200
|
||||
SUCCESS(200, "操作成功"),
|
||||
CREATE_SUCCESS(200, "添加成功"),
|
||||
ADD_SUCCESS(200, "添加成功"),
|
||||
UPDATE_SUCCESS(200, "修改成功"),
|
||||
DELETE_SUCCESS(200, "删除成功"),
|
||||
SORT_SUCCESS(200, "排序成功"),
|
||||
|
@ -54,7 +54,7 @@ public enum ResultCodeEnum {
|
|||
AUTHENTICATION_EXPIRED(208, "身份验证过期"),
|
||||
SESSION_EXPIRATION(208, "会话过期"),
|
||||
FAIL_NO_ACCESS_DENIED_USER_LOCKED(208, "该账户已封禁"),
|
||||
|
||||
|
||||
// 209
|
||||
THE_SAME_USER_HAS_LOGGED_IN(209, "相同用户已登录"),
|
||||
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailTemplateDto", title = "邮箱模板请求内容", description = "邮箱模板请求内容")
|
||||
public class EmailTemplateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "templateName", title = "模板名称")
|
||||
@NotBlank(message = "模板名称不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String templateName;
|
||||
|
||||
@Schema(name = "emailUser", title = "配置邮件用户")
|
||||
@NotNull(message = "配置邮件用户不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private Long emailUser;
|
||||
|
||||
@Schema(name = "subject", title = "主题")
|
||||
@NotBlank(message = "主题不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String subject;
|
||||
|
||||
@Schema(name = "body", title = "邮件内容")
|
||||
@NotBlank(message = "邮件内容不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String body;
|
||||
|
||||
@Schema(name = "type", title = "邮件类型")
|
||||
private String type;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否默认")
|
||||
@NotNull(message = "是否默认不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private Boolean isDefault;
|
||||
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nDto对象", title = "多语言分页查询", description = "多语言分页查询")
|
||||
public class I18nDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "keyName", title = "多语言key")
|
||||
@NotBlank(message = "多语言key不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String keyName;
|
||||
|
||||
@Schema(name = "translation", title = "多语言翻译名称")
|
||||
@NotBlank(message = "多语言翻译名称不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String translation;
|
||||
|
||||
@Schema(name = "typeName", title = "多语言类型名称")
|
||||
@NotBlank(message = "多语言类型名称不能为空", groups = {ValidationGroups.Add.class})
|
||||
private String typeName;
|
||||
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MenuIconDto对象", title = "系统菜单图标分页查询", description = "系统菜单图标管理")
|
||||
public class MenuIconDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "iconCode", title = "icon类名")
|
||||
@NotBlank(message = "iconCode不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String iconCode;
|
||||
|
||||
@Schema(name = "iconName", title = "icon 名称")
|
||||
@NotBlank(message = "icon 名称不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String iconName;
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
package cn.bunny.services.domain.system.configuration.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.entity;
|
||||
package cn.bunny.services.domain.system.configuration.entity;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
@ -0,0 +1,41 @@
|
|||
package cn.bunny.services.domain.system.email.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailTemplateAddDto对象", title = "添加邮箱模板", description = "添加邮箱模板")
|
||||
public class EmailTemplateAddDto {
|
||||
|
||||
@Schema(name = "templateName", title = "模板名称")
|
||||
@NotBlank(message = "模板名称不能为空")
|
||||
private String templateName;
|
||||
|
||||
@Schema(name = "emailUser", title = "配置邮件用户")
|
||||
@NotNull(message = "配置邮件用户不能为空")
|
||||
private Long emailUser;
|
||||
|
||||
@Schema(name = "subject", title = "主题")
|
||||
@NotBlank(message = "主题不能为空")
|
||||
private String subject;
|
||||
|
||||
@Schema(name = "body", title = "邮件内容")
|
||||
@NotBlank(message = "邮件内容不能为空")
|
||||
private String body;
|
||||
|
||||
@Schema(name = "type", title = "邮件类型")
|
||||
private String type;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否默认")
|
||||
@NotNull(message = "是否默认不能为空")
|
||||
private Boolean isDefault;
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package cn.bunny.services.domain.system.email.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailTemplateDto", title = "邮箱模板请求内容", description = "邮箱模板请求内容")
|
||||
public class EmailTemplateDto {
|
||||
|
||||
@Schema(name = "templateName", title = "模板名称")
|
||||
private String templateName;
|
||||
|
||||
@Schema(name = "subject", title = "主题")
|
||||
private String subject;
|
||||
|
||||
@Schema(name = "body", title = "邮件内容")
|
||||
private String body;
|
||||
|
||||
@Schema(name = "type", title = "邮件类型")
|
||||
private String type;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否默认")
|
||||
private Boolean isDefault;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package cn.bunny.services.domain.system.email.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailTemplateUpdateDto对象", title = "更新邮箱模板", description = "更新邮箱模板")
|
||||
public class EmailTemplateUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "templateName", title = "模板名称")
|
||||
@NotBlank(message = "模板名称不能为空")
|
||||
private String templateName;
|
||||
|
||||
@Schema(name = "emailUser", title = "配置邮件用户")
|
||||
@NotNull(message = "配置邮件用户不能为空")
|
||||
private Long emailUser;
|
||||
|
||||
@Schema(name = "subject", title = "主题")
|
||||
@NotBlank(message = "主题不能为空")
|
||||
private String subject;
|
||||
|
||||
@Schema(name = "body", title = "邮件内容")
|
||||
@NotBlank(message = "邮件内容不能为空")
|
||||
private String body;
|
||||
|
||||
@Schema(name = "type", title = "邮件类型")
|
||||
private String type;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否默认")
|
||||
@NotNull(message = "是否默认不能为空")
|
||||
private Boolean isDefault;
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package cn.bunny.services.domain.system.email.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "EmailUsersAddDto对象", title = "添加邮箱用户发送配置", description = "添加邮箱用户发送配置")
|
||||
public class EmailUsersAddDto {
|
||||
|
||||
@Schema(name = "email", title = "邮箱")
|
||||
@NotBlank(message = "邮箱不能为空")
|
||||
private String email;
|
||||
|
||||
@Schema(name = "password", title = "密码")
|
||||
@NotBlank(message = "密码不能为空")
|
||||
private String password;
|
||||
|
||||
@Schema(name = "host", title = "Host地址")
|
||||
@NotBlank(message = "Host地址不能为空")
|
||||
private String host;
|
||||
|
||||
@Schema(name = "port", title = "端口号")
|
||||
@NotNull(message = "端口号不能为空")
|
||||
private Integer port;
|
||||
|
||||
@Schema(name = "smtpAgreement", title = "邮箱协议")
|
||||
private String smtpAgreement;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否为默认邮件")
|
||||
private Boolean isDefault = false;
|
||||
|
||||
@Schema(name = "openSSL", description = "启用SSL")
|
||||
private Boolean openSSL;
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package cn.bunny.services.domain.system.email.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailUsersDto对象", title = "邮箱用户发送配置分页查询", description = "邮箱用户发送配置分页查询")
|
||||
public class EmailUsersDto {
|
||||
|
||||
@Schema(name = "email", title = "邮箱")
|
||||
private String email;
|
||||
|
||||
@Schema(name = "host", title = "Host地址")
|
||||
private String host;
|
||||
|
||||
@Schema(name = "port", title = "端口号")
|
||||
private Integer port;
|
||||
|
||||
@Schema(name = "smtpAgreement", title = "邮箱协议")
|
||||
private String smtpAgreement;
|
||||
|
||||
@Schema(name = "openSSL", description = "启用SSL")
|
||||
private Boolean openSSL;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
package cn.bunny.services.domain.system.email.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups.Add;
|
||||
import cn.bunny.services.domain.common.ValidationGroups.Update;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
@ -14,27 +12,27 @@ import lombok.NoArgsConstructor;
|
|||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "EmailUsersDto对象", title = "邮箱用户发送配置分页查询", description = "邮箱用户发送配置分页查询")
|
||||
public class EmailUsersDto {
|
||||
@Schema(name = "EmailUsersUpdateDto对象", title = "更新邮箱用户发送配置", description = "更新邮箱用户发送配置")
|
||||
public class EmailUsersUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {Update.class})
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "email", title = "邮箱")
|
||||
@NotBlank(message = "邮箱不能为空", groups = {Add.class, Update.class})
|
||||
@NotBlank(message = "邮箱不能为空")
|
||||
private String email;
|
||||
|
||||
@Schema(name = "password", title = "密码")
|
||||
@NotBlank(message = "密码不能为空", groups = {Add.class, Update.class})
|
||||
@NotBlank(message = "密码不能为空")
|
||||
private String password;
|
||||
|
||||
@Schema(name = "host", title = "Host地址")
|
||||
@NotBlank(message = "Host地址不能为空", groups = {Add.class, Update.class})
|
||||
@NotBlank(message = "Host地址不能为空")
|
||||
private String host;
|
||||
|
||||
@Schema(name = "port", title = "端口号")
|
||||
@NotNull(message = "端口号不能为空", groups = {Add.class, Update.class})
|
||||
@NotNull(message = "端口号不能为空")
|
||||
private Integer port;
|
||||
|
||||
@Schema(name = "smtpAgreement", title = "邮箱协议")
|
||||
|
@ -46,4 +44,6 @@ public class EmailUsersDto {
|
|||
@Schema(name = "openSSL", description = "启用SSL")
|
||||
private Boolean openSSL;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.entity;
|
||||
package cn.bunny.services.domain.system.email.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.entity;
|
||||
package cn.bunny.services.domain.system.email.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.vo;
|
||||
package cn.bunny.services.domain.system.email.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.vo;
|
||||
package cn.bunny.services.domain.system.email.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.dto;
|
||||
package cn.bunny.services.domain.system.files.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
|
@ -1,11 +1,8 @@
|
|||
package cn.bunny.services.domain.files.dto;
|
||||
package cn.bunny.services.domain.system.files.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -16,23 +13,21 @@ import java.util.List;
|
|||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "FilesSaveOrUpdateDto对象", title = "添加/更新文件", description = "添加/更新文件")
|
||||
public class FilesCreateOrUpdateDto {
|
||||
@Schema(name = "FilesAddDto对象", title = "添加文件", description = "添加文件")
|
||||
public class FilesAddOrUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "更新id不为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "filepath", title = "文件在服务器上的存储路径")
|
||||
@NotBlank(message = "存储路径不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "存储路径不能为空")
|
||||
private String filepath;
|
||||
|
||||
@Schema(name = "downloadCount", title = "下载数量")
|
||||
@Min(value = 0L, message = "最小值为0", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@Min(value = 0L, message = "最小值为0")
|
||||
private Integer downloadCount = 0;
|
||||
|
||||
@Schema(name = "files", title = "文件列表,添加时为列表")
|
||||
@NotEmpty(message = "文件不能为空", groups = {ValidationGroups.Add.class})
|
||||
private List<MultipartFile> files;
|
||||
|
||||
@Schema(name = "file", title = "文件,修改时为 file")
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.dto;
|
||||
package cn.bunny.services.domain.system.files.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.dto;
|
||||
package cn.bunny.services.domain.system.files.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.dto;
|
||||
package cn.bunny.services.domain.system.files.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.entity;
|
||||
package cn.bunny.services.domain.system.files.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.entity;
|
||||
package cn.bunny.services.domain.system.files.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.vo;
|
||||
package cn.bunny.services.domain.system.files.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.vo;
|
||||
package cn.bunny.services.domain.system.files.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.files.vo;
|
||||
package cn.bunny.services.domain.system.files.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -0,0 +1,30 @@
|
|||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nAddDto对象", title = "多语言添加", description = "多语言添加")
|
||||
public class I18nAddDto {
|
||||
|
||||
@Schema(name = "keyName", title = "多语言key")
|
||||
@NotBlank(message = "多语言key不能为空")
|
||||
private String keyName;
|
||||
|
||||
@Schema(name = "translation", title = "多语言翻译名称")
|
||||
@NotBlank(message = "多语言翻译名称不能为空")
|
||||
private String translation;
|
||||
|
||||
@Schema(name = "typeName", title = "多语言类型名称")
|
||||
@NotBlank(message = "多语言类型名称不能为空")
|
||||
private String typeName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nDto对象", title = "多语言分页查询", description = "多语言分页查询")
|
||||
public class I18nDto {
|
||||
|
||||
@Schema(name = "keyName", title = "多语言key")
|
||||
private String keyName;
|
||||
|
||||
@Schema(name = "translation", title = "多语言翻译名称")
|
||||
private String translation;
|
||||
|
||||
@Schema(name = "typeName", title = "多语言类型名称")
|
||||
private String typeName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "I18nTypeAddDto对象", title = "多语言类型添加", description = "多语言类型添加内容")
|
||||
public class I18nTypeAddDto {
|
||||
|
||||
@Schema(name = "typeName", title = "多语言类型(比如zh,en)")
|
||||
@NotBlank(message = "多语言类型不能为空")
|
||||
private String typeName;
|
||||
|
||||
@Schema(name = "summary", title = "名称解释(比如中文,英文)")
|
||||
@NotBlank(message = "名称解释不能为空")
|
||||
private String summary;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否为默认")
|
||||
private Boolean isDefault = false;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nTypeDto对象", title = "多语言类型", description = "多语言类型")
|
||||
public class I18nTypeDto {
|
||||
|
||||
@Schema(name = "typeName", title = "多语言类型(比如zh,en)")
|
||||
private String typeName;
|
||||
|
||||
@Schema(name = "summary", title = "名称解释(比如中文,英文)")
|
||||
private String summary;
|
||||
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
@ -11,19 +10,19 @@ import lombok.NoArgsConstructor;
|
|||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "I18nTypeDto对象", title = "多语言类型", description = "多语言类型")
|
||||
public class I18nTypeDto {
|
||||
@Schema(name = "I18nTypeUpdateDto对象", title = "多语言类型更新", description = "多语言类型更新内容")
|
||||
public class I18nTypeUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "typeName", title = "多语言类型(比如zh,en)")
|
||||
@NotBlank(message = "多语言类型不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "多语言类型不能为空")
|
||||
private String typeName;
|
||||
|
||||
@Schema(name = "summary", title = "名称解释(比如中文,英文)")
|
||||
@NotBlank(message = "名称解释不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "名称解释不能为空")
|
||||
private String summary;
|
||||
|
||||
@Schema(name = "isDefault", title = "是否为默认")
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.dto;
|
||||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
|
@ -0,0 +1,34 @@
|
|||
package cn.bunny.services.domain.system.i18n.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "I18nUpdateDto对象", title = "多语言更新", description = "多语言更新")
|
||||
public class I18nUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "keyName", title = "多语言key")
|
||||
@NotBlank(message = "多语言key不能为空")
|
||||
private String keyName;
|
||||
|
||||
@Schema(name = "translation", title = "多语言翻译名称")
|
||||
@NotBlank(message = "多语言翻译名称不能为空")
|
||||
private String translation;
|
||||
|
||||
@Schema(name = "typeId", title = "多语言类型id")
|
||||
private Long typeId;
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.entity;
|
||||
package cn.bunny.services.domain.system.i18n.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.entity;
|
||||
package cn.bunny.services.domain.system.i18n.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.vo;
|
||||
package cn.bunny.services.domain.system.i18n.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.vo;
|
||||
package cn.bunny.services.domain.system.i18n.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.dto;
|
||||
package cn.bunny.services.domain.system.log.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.dto;
|
||||
package cn.bunny.services.domain.system.log.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.entity;
|
||||
package cn.bunny.services.domain.system.log.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.entity;
|
||||
package cn.bunny.services.domain.system.log.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.vo;
|
||||
package cn.bunny.services.domain.system.log.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.vo;
|
||||
package cn.bunny.services.domain.system.log.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseVo;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.log.vo;
|
||||
package cn.bunny.services.domain.system.log.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
@ -0,0 +1,26 @@
|
|||
package cn.bunny.services.domain.system.menuIcon.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MenuIconAddDto对象", title = "添加系统菜单图标", description = "添加系统菜单图标")
|
||||
public class MenuIconAddDto {
|
||||
|
||||
@Schema(name = "iconCode", title = "icon类名")
|
||||
@NotBlank(message = "iconCode不能为空")
|
||||
private String iconCode;
|
||||
|
||||
@Schema(name = "iconName", title = "icon 名称")
|
||||
@NotBlank(message = "icon 名称不能为空")
|
||||
private String iconName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package cn.bunny.services.domain.system.menuIcon.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MenuIconDto对象", title = "系统菜单图标分页查询", description = "系统菜单图标管理")
|
||||
public class MenuIconDto {
|
||||
|
||||
@Schema(name = "iconCode", title = "icon类名")
|
||||
private String iconCode;
|
||||
|
||||
@Schema(name = "iconName", title = "icon 名称")
|
||||
private String iconName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package cn.bunny.services.domain.system.menuIcon.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MenuIconUpdateDto对象", title = "更新系统菜单图标", description = "系统菜单图标管理")
|
||||
public class MenuIconUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "iconCode", title = "icon类名")
|
||||
@NotBlank(message = "iconCode不能为空")
|
||||
@NotNull(message = "iconCode不能为空")
|
||||
private String iconCode;
|
||||
|
||||
@Schema(name = "iconName", title = "icon 名称")
|
||||
@NotBlank(message = "icon 名称不能为空")
|
||||
@NotNull(message = "icon 名称不能为空")
|
||||
private String iconName;
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.entity;
|
||||
package cn.bunny.services.domain.system.menuIcon.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.configuration.vo;
|
||||
package cn.bunny.services.domain.system.menuIcon.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,6 +1,5 @@
|
|||
package cn.bunny.services.domain.message.dto;
|
||||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
@ -14,41 +13,36 @@ import java.util.List;
|
|||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "MessageDto对象", title = "消息分页查询", description = "消息分页查询")
|
||||
public class MessageDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
@Schema(name = "MessageAddDto对象", title = "添加系统消息", description = "添加系统消息")
|
||||
public class MessageAddDto {
|
||||
|
||||
@Schema(name = "title", title = "消息标题")
|
||||
@NotBlank(message = "消息标题 不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "消息标题 不能为空")
|
||||
private String title;
|
||||
|
||||
@Schema(name = "receivedUserIds", title = "接收人用户ID")
|
||||
private List<Long> receivedUserIds = new ArrayList<>();
|
||||
|
||||
@Schema(name = "sendUserId", title = "发送人用户ID")
|
||||
@NotNull(message = "发送人用户ID 不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long sendUserId;
|
||||
|
||||
@Schema(name = "messageTypeId", title = "消息类型")
|
||||
@NotNull(message = "消息类型 不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotNull(message = "消息类型 不能为空")
|
||||
private Long messageTypeId;
|
||||
|
||||
@Schema(name = "cover", title = "封面")
|
||||
private String cover;
|
||||
|
||||
@Schema(name = "summary", title = "消息简介")
|
||||
@NotBlank(message = "消息简介 不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "消息简介 不能为空")
|
||||
private String summary;
|
||||
|
||||
@Schema(name = "content", title = "消息内容")
|
||||
@NotBlank(message = "消息内容 不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "消息内容 不能为空")
|
||||
private String content;
|
||||
|
||||
@Schema(name = "editorType", title = "编辑器类型")
|
||||
@NotBlank(message = "编辑器类型 不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
@NotBlank(message = "编辑器类型 不能为空")
|
||||
private String editorType;
|
||||
|
||||
@Schema(name = "status", title = "0:未读 1:已读")
|
||||
|
@ -60,10 +54,4 @@ public class MessageDto {
|
|||
@Schema(name = "extra", title = "消息等级详情")
|
||||
private String extra;
|
||||
|
||||
@Schema(name = "sendNickname", title = "发送人用户昵称")
|
||||
private String sendNickname;
|
||||
|
||||
@Schema(name = "messageType", title = "消息类型")
|
||||
private String messageType;
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MessageDto对象", title = "消息分页查询", description = "消息分页查询")
|
||||
public class MessageDto {
|
||||
|
||||
@Schema(name = "title", title = "消息标题")
|
||||
private String title;
|
||||
|
||||
@Schema(name = "sendNickname", title = "发送人用户昵称")
|
||||
private String sendNickname;
|
||||
|
||||
@Schema(name = "messageType", title = "消息类型")
|
||||
private String messageType;
|
||||
|
||||
@Schema(name = "level", title = "消息等级")
|
||||
private String level;
|
||||
|
||||
@Schema(name = "extra", title = "消息等级详情")
|
||||
private String extra;
|
||||
|
||||
@Schema(name = "editorType", title = "编辑器类型")
|
||||
private String editorType;
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.dto;
|
||||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.dto;
|
||||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -0,0 +1,29 @@
|
|||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Schema(name = "MessageTypeAddDto对象", title = "添加系统消息类型", description = "添加系统消息类型")
|
||||
public class MessageTypeAddDto {
|
||||
|
||||
@Schema(name = "messageName", title = "消息名称")
|
||||
@NotBlank(message = "消息名称 不能为空")
|
||||
private String messageName;
|
||||
|
||||
@Schema(name = "messageType", title = "sys:系统消息,user用户消息")
|
||||
@NotBlank(message = "消息类型 不能为空")
|
||||
private String messageType;
|
||||
|
||||
@Schema(name = "summary", title = "消息备注")
|
||||
private String summary;
|
||||
|
||||
@Schema(name = "status", title = "消息类型")
|
||||
private Boolean status = true;
|
||||
|
||||
}
|
|
@ -1,9 +1,6 @@
|
|||
package cn.bunny.services.domain.message.dto;
|
||||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
@ -16,24 +13,18 @@ import lombok.NoArgsConstructor;
|
|||
@Schema(name = "MessageType对象", title = "系统消息类型分页查询", description = "系统消息类型分页查询")
|
||||
public class MessageTypeDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
@Schema(name = "status", title = "1:启用 0:禁用")
|
||||
private Boolean status;
|
||||
|
||||
@Schema(name = "messageName", title = "消息名称")
|
||||
@NotBlank(message = "消息名称 不能为空", groups = {ValidationGroups.Add.class})
|
||||
private String messageName;
|
||||
|
||||
@Schema(name = "messageType", title = "sys:系统消息,user用户消息")
|
||||
@NotBlank(message = "消息类型 不能为空", groups = {ValidationGroups.Add.class})
|
||||
private String messageType;
|
||||
|
||||
@Schema(name = "summary", title = "消息备注")
|
||||
private String summary;
|
||||
|
||||
@Schema(name = "status", title = "消息类型")
|
||||
private Boolean status;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MessageTypeUpdateDto对象", title = "更新系统消息类型", description = "更新系统消息类型")
|
||||
public class MessageTypeUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "status", title = "1:启用 0:禁用")
|
||||
private Boolean status;
|
||||
|
||||
@Schema(name = "messageName", title = "消息名称")
|
||||
private String messageName;
|
||||
|
||||
@Schema(name = "messageType", title = "sys:系统消息,user用户消息")
|
||||
private String messageType;
|
||||
|
||||
@Schema(name = "summary", title = "消息备注")
|
||||
private String summary;
|
||||
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "MessageUpdateDto对象", title = "更新系统消息", description = "系统消息")
|
||||
public class MessageUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "title", title = "消息标题")
|
||||
@NotNull(message = "消息标题 不能为空")
|
||||
@NotBlank(message = "消息标题 不能为空")
|
||||
private String title;
|
||||
|
||||
@Schema(name = "receivedUserIds", title = "接收人用户ID列表")
|
||||
private List<Long> receivedUserIds;
|
||||
|
||||
@Schema(name = "sendUserId", title = "发送人用户ID")
|
||||
@NotNull(message = "发送人用户ID 不能为空")
|
||||
private Long sendUserId;
|
||||
|
||||
@Schema(name = "messageTypeId", title = "消息类型")
|
||||
@NotNull(message = "消息类型 不能为空")
|
||||
private Long messageTypeId;
|
||||
|
||||
@Schema(name = "cover", title = "封面")
|
||||
private String cover;
|
||||
|
||||
@Schema(name = "summary", title = "消息简介")
|
||||
@NotBlank(message = "消息简介 不能为空")
|
||||
@NotNull(message = "消息简介 不能为空")
|
||||
private String summary;
|
||||
|
||||
@Schema(name = "content", title = "消息内容")
|
||||
@NotBlank(message = "消息内容 不能为空")
|
||||
@NotNull(message = "消息内容 不能为空")
|
||||
private String content;
|
||||
|
||||
@Schema(name = "editorType", title = "编辑器类型")
|
||||
@NotBlank(message = "编辑器类型 不能为空")
|
||||
@NotNull(message = "编辑器类型 不能为空")
|
||||
private String editorType;
|
||||
|
||||
@Schema(name = "level", title = "消息等级")
|
||||
private String level;
|
||||
|
||||
@Schema(name = "extra", title = "消息等级详情")
|
||||
private String extra;
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.dto;
|
||||
package cn.bunny.services.domain.system.message.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.entity;
|
||||
package cn.bunny.services.domain.system.message.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.entity;
|
||||
package cn.bunny.services.domain.system.message.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.entity;
|
||||
package cn.bunny.services.domain.system.message.entity;
|
||||
|
||||
import cn.bunny.services.domain.common.model.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.vo;
|
||||
package cn.bunny.services.domain.system.message.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.vo;
|
||||
package cn.bunny.services.domain.system.message.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.vo;
|
||||
package cn.bunny.services.domain.system.message.vo;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.vo;
|
||||
package cn.bunny.services.domain.system.message.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.vo;
|
||||
package cn.bunny.services.domain.system.message.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
|
@ -1,4 +1,4 @@
|
|||
package cn.bunny.services.domain.message.vo;
|
||||
package cn.bunny.services.domain.system.message.vo;
|
||||
|
||||
import cn.bunny.services.domain.common.model.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
|
@ -0,0 +1,39 @@
|
|||
package cn.bunny.services.domain.system.quartz.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersAddDto对象", title = "添加Schedulers", description = "添加Schedulers")
|
||||
public class SchedulersAddDto {
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
@NotBlank(message = "任务名称不能为空")
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
@NotBlank(message = "任务分组不能为空")
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "cronExpression", title = "corn表达式")
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
private String cronExpression;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package cn.bunny.services.domain.schedule.dto;
|
||||
package cn.bunny.services.domain.system.quartz.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -16,26 +15,18 @@ import lombok.NoArgsConstructor;
|
|||
public class SchedulersDto {
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
@NotBlank(message = "任务名称不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
@NotBlank(message = "任务分组不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
@NotBlank(message = "任务详情不能为空", groups = {ValidationGroups.Update.class})
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
@NotBlank(message = "corn表达式不能为空", groups = {ValidationGroups.Add.class})
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "cronExpression", title = "corn表达式")
|
||||
@NotBlank(message = "corn表达式不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String cronExpression;
|
||||
|
||||
|
||||
@Schema(name = "triggerName", title = "触发器名称")
|
||||
private String triggerName;
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package cn.bunny.services.domain.system.quartz.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersGroupAddDto对象", title = "添加任务调度分组", description = "添加任务调度分组")
|
||||
public class SchedulersGroupAddDto {
|
||||
|
||||
@Schema(name = "groupName", title = "分组名称")
|
||||
@NotBlank(message = "分组名称不能为空")
|
||||
private String groupName;
|
||||
|
||||
@Schema(name = "description", title = "分组详情")
|
||||
private String description;
|
||||
|
||||
}
|
|
@ -1,9 +1,6 @@
|
|||
package cn.bunny.services.domain.schedule.dto;
|
||||
package cn.bunny.services.domain.system.quartz.dto;
|
||||
|
||||
import cn.bunny.services.domain.common.ValidationGroups;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
@ -15,13 +12,8 @@ import lombok.NoArgsConstructor;
|
|||
@Builder
|
||||
@Schema(name = "SchedulersGroupDto对象", title = "任务调度分组分页查询", description = "任务调度分组分页查询")
|
||||
public class SchedulersGroupDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空", groups = {ValidationGroups.Update.class})
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "groupName", title = "分组名称")
|
||||
@NotBlank(message = "分组名称不能为空", groups = {ValidationGroups.Add.class, ValidationGroups.Update.class})
|
||||
private String groupName;
|
||||
|
||||
@Schema(name = "description", title = "分组详情")
|
|
@ -0,0 +1,29 @@
|
|||
package cn.bunny.services.domain.system.quartz.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersGroupUpdateDto对象", title = "更新任务调度分组", description = "更新任务调度分组")
|
||||
public class SchedulersGroupUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "groupName", title = "分组名称")
|
||||
@NotBlank(message = "分组名称不能为空")
|
||||
private String groupName;
|
||||
|
||||
@Schema(name = "description", title = "分组详情")
|
||||
private String description;
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue