This commit is contained in:
zc
2026-06-12 16:35:54 +08:00
parent 33540f7d10
commit ee01b284ee
36 changed files with 571 additions and 575 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
# ContiNew Admin 中后台管理框架 # ContiNew Admin 中后台管理框架
<a href="https://github.com/wms-org/wms-admin" title="Release" target="_blank"> <a href="https://github.com/wms-org/mes-admin" title="Release" target="_blank">
<img src="https://img.shields.io/badge/SNAPSHOT-v3.6.0-%23ff3f59.svg" alt="Release" /> <img src="https://img.shields.io/badge/SNAPSHOT-v3.6.0-%23ff3f59.svg" alt="Release" />
</a> </a>
<a href="https://github.com/wms-org/wms-starter" title="ContiNew Starter" target="_blank"> <a href="https://github.com/wms-org/wms-starter" title="ContiNew Starter" target="_blank">
@@ -9,33 +9,33 @@
<a href="https://spring.io/projects/spring-boot" title="Spring Boot" target="_blank"> <a href="https://spring.io/projects/spring-boot" title="Spring Boot" target="_blank">
<img src="https://img.shields.io/badge/Spring Boot-3.2.12-%236CB52D.svg?logo=Spring-Boot" alt="Spring Boot" /> <img src="https://img.shields.io/badge/Spring Boot-3.2.12-%236CB52D.svg?logo=Spring-Boot" alt="Spring Boot" />
</a> </a>
<a href="https://github.com/wms-org/wms-admin" title="Open JDK" target="_blank"> <a href="https://github.com/wms-org/mes-admin" title="Open JDK" target="_blank">
<img src="https://img.shields.io/badge/Open JDK-17-%236CB52D.svg?logo=OpenJDK&logoColor=FFF" alt="Open JDK" /> <img src="https://img.shields.io/badge/Open JDK-17-%236CB52D.svg?logo=OpenJDK&logoColor=FFF" alt="Open JDK" />
</a> </a>
<a href="https://app.codacy.com/gh/wms-org/wms-admin/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade" title="Codacy" target="_blank"> <a href="https://app.codacy.com/gh/wms-org/mes-admin/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade" title="Codacy" target="_blank">
<img src="https://app.codacy.com/project/badge/Grade/19e3e2395d554efe902c3822e65db30e" alt="Codacy" /> <img src="https://app.codacy.com/project/badge/Grade/19e3e2395d554efe902c3822e65db30e" alt="Codacy" />
</a> </a>
<a href="https://sonarcloud.io/summary/new_code?id=Charles7c_wms-admin" title="Sonar" target="_blank"> <a href="https://sonarcloud.io/summary/new_code?id=Charles7c_mes-admin" title="Sonar" target="_blank">
<img src="https://sonarcloud.io/api/project_badges/measure?project=Charles7c_wms-admin&metric=alert_status" alt="Sonar" /> <img src="https://sonarcloud.io/api/project_badges/measure?project=Charles7c_mes-admin&metric=alert_status" alt="Sonar" />
</a> </a>
<br /> <br />
<a href="https://github.com/wms-org/wms-admin/blob/dev/LICENSE" title="License" target="_blank"> <a href="https://github.com/wms-org/mes-admin/blob/dev/LICENSE" title="License" target="_blank">
<img src="https://img.shields.io/badge/License-Apache--2.0-blue.svg" alt="License" /> <img src="https://img.shields.io/badge/License-Apache--2.0-blue.svg" alt="License" />
</a> </a>
<a href="https://github.com/wms-org/wms-admin" title="GitHub Stars" target="_blank"> <a href="https://github.com/wms-org/mes-admin" title="GitHub Stars" target="_blank">
<img src="https://img.shields.io/github/stars/wms-org/wms-admin?style=social" alt="GitHub Stars" /> <img src="https://img.shields.io/github/stars/wms-org/mes-admin?style=social" alt="GitHub Stars" />
</a> </a>
<a href="https://github.com/wms-org/wms-admin" title="GitHub Forks" target="_blank"> <a href="https://github.com/wms-org/mes-admin" title="GitHub Forks" target="_blank">
<img src="https://img.shields.io/github/forks/wms-org/wms-admin?style=social" alt="GitHub Forks" /> <img src="https://img.shields.io/github/forks/wms-org/mes-admin?style=social" alt="GitHub Forks" />
</a> </a>
<a href="https://gitee.com/wms/wms-admin" title="Gitee Stars" target="_blank"> <a href="https://gitee.com/wms/mes-admin" title="Gitee Stars" target="_blank">
<img src="https://gitee.com/wms/wms-admin/badge/star.svg?theme=dark" alt="Gitee Stars" /> <img src="https://gitee.com/wms/mes-admin/badge/star.svg?theme=dark" alt="Gitee Stars" />
</a> </a>
<a href="https://gitee.com/wms/wms-admin" title="Gitee Forks" target="_blank"> <a href="https://gitee.com/wms/mes-admin" title="Gitee Forks" target="_blank">
<img src="https://gitee.com/wms/wms-admin/badge/fork.svg?theme=dark" alt="Gitee Forks" /> <img src="https://gitee.com/wms/mes-admin/badge/fork.svg?theme=dark" alt="Gitee Forks" />
</a> </a>
<a href="https://gitcode.com/wms/wms-admin" title="GitCode Stars" target="_blank"> <a href="https://gitcode.com/wms/mes-admin" title="GitCode Stars" target="_blank">
<img src="https://gitcode.com/wms/wms-admin/star/badge.svg" alt="GitCode Stars" /> <img src="https://gitcode.com/wms/mes-admin/star/badge.svg" alt="GitCode Stars" />
</a> </a>
📚 [在线文档](https://wms.top) | 🚀 [演示地址](https://admin.wms.top)(账号/密码admin/admin123 📚 [在线文档](https://wms.top) | 🚀 [演示地址](https://admin.wms.top)(账号/密码admin/admin123
@@ -50,9 +50,9 @@ ContiNew AdminContinue New Admin持续迭代优化的前后端分离中后
| | 后端 | 前端 | | | 后端 | 前端 |
| :------ | :----------------------------------------------------------- | :----------------------------------------------------------- | | :------ | :----------------------------------------------------------- | :----------------------------------------------------------- |
| Gitee | [wms/wms-admin](https://gitee.com/wms/wms-admin) | [wms/wms-admin-ui](https://gitee.com/wms/wms-admin-ui) | | Gitee | [wms/mes-admin](https://gitee.com/wms/mes-admin) | [wms/mes-admin-ui](https://gitee.com/wms/mes-admin-ui) |
| GitCode | [wms/wms-admin](https://gitcode.com/wms/wms-admin) | [wms/wms-admin-ui](https://gitcode.com/wms/wms-admin-ui) | | GitCode | [wms/mes-admin](https://gitcode.com/wms/mes-admin) | [wms/mes-admin-ui](https://gitcode.com/wms/mes-admin-ui) |
| GitHub | [wms-org/wms-admin](https://github.com/wms-org/wms-admin) | [wms-org/wms-admin-ui](https://github.com/wms-org/wms-admin-ui) | | GitHub | [wms-org/mes-admin](https://github.com/wms-org/mes-admin) | [wms-org/mes-admin-ui](https://github.com/wms-org/mes-admin-ui) |
## 项目起源 ## 项目起源
@@ -266,7 +266,7 @@ public class DeptController extends BaseController<DeptService, DeptResp, DeptDe
```bash ```bash
# 1.克隆本项目 # 1.克隆本项目
git clone https://github.com/wms-org/wms-admin.git git clone https://github.com/wms-org/mes-admin.git
# 2.在 IDEIntelliJ IDEA/Eclipse中打开本项目 # 2.在 IDEIntelliJ IDEA/Eclipse中打开本项目
@@ -280,9 +280,9 @@ git clone https://github.com/wms-org/wms-admin.git
# 5.部署 # 5.部署
# 5.1 Docker 部署 # 5.1 Docker 部署
# 5.1.1 服务器安装好 docker 及 docker-compose参考https://blog.charles7c.top/categories/fragments/2022/10/31/CentOS%E5%AE%89%E8%A3%85Docker # 5.1.1 服务器安装好 docker 及 docker-compose参考https://blog.charles7c.top/categories/fragments/2022/10/31/CentOS%E5%AE%89%E8%A3%85Docker
# 5.1.2 执行 mvn package 进行项目打包,将 target/app 目录下的所有内容放到 /docker/wms-admin 目录下 # 5.1.2 执行 mvn package 进行项目打包,将 target/app 目录下的所有内容放到 /docker/mes-admin 目录下
# 5.1.3 将 docker 目录上传到服务器 / 目录下并授权chmod -R 777 /docker # 5.1.3 将 docker 目录上传到服务器 / 目录下并授权chmod -R 777 /docker
# 5.1.4 修改 docker-compose.yml 中的 MySQL 配置、Redis 配置、wms-admin-server 配置、Nginx 配置 # 5.1.4 修改 docker-compose.yml 中的 MySQL 配置、Redis 配置、mes-admin-server 配置、Nginx 配置
# 5.1.5 执行 docker-compose up -d 创建并后台运行所有容器 # 5.1.5 执行 docker-compose up -d 创建并后台运行所有容器
# 5.2 其他方式部署 # 5.2 其他方式部署
``` ```
@@ -290,10 +290,10 @@ git clone https://github.com/wms-org/wms-admin.git
## 项目结构 ## 项目结构
> [!TIP] > [!TIP]
> 后端采用按功能拆分模块的开发方式,下方项目目录结构是按照模块的层次顺序进行介绍的,实际 IDE 中 `wms-admin-common` 模块会因为字母排序原因排在上方。 > 后端采用按功能拆分模块的开发方式,下方项目目录结构是按照模块的层次顺序进行介绍的,实际 IDE 中 `mes-admin-common` 模块会因为字母排序原因排在上方。
``` ```
wms-admin mes-admin
├─ wms-webapiAPI 及打包部署模块) ├─ wms-webapiAPI 及打包部署模块)
│ ├─ src │ ├─ src
│ │ ├─ main │ │ ├─ main
@@ -461,7 +461,7 @@ ContiNew Admin 的分支目前分为下个大版本的开发分支和上个大
2. 然后,将 fork 过来的项目(即您的项目)克隆到本地 2. 然后,将 fork 过来的项目(即您的项目)克隆到本地
3. 切换到当前仍在维护的分支(请务必充分了解分支使用说明,可进群联系维护者确认) 3. 切换到当前仍在维护的分支(请务必充分了解分支使用说明,可进群联系维护者确认)
4. 开始修改代码,修改完成后,将代码 commit 并 push 到您的远程仓库 4. 开始修改代码,修改完成后,将代码 commit 并 push 到您的远程仓库
5. 在 Gitee 或 Github 上新建 pull requestpr选择好源和目标按模板要求填写说明信息后提交即可多多参考 [已批准合并的 pr 记录](https://github.com/wms-org/wms-admin/pulls?q=is%3Apr+is%3Amerged),会大大增加批准合并率) 5. 在 Gitee 或 Github 上新建 pull requestpr选择好源和目标按模板要求填写说明信息后提交即可多多参考 [已批准合并的 pr 记录](https://github.com/wms-org/mes-admin/pulls?q=is%3Apr+is%3Amerged),会大大增加批准合并率)
6. 最后,耐心等待维护者合并您的请求即可 6. 最后,耐心等待维护者合并您的请求即可
请记住,如果您有任何疑问或需要帮助,我们将随时提供支持。 请记住,如果您有任何疑问或需要帮助,我们将随时提供支持。
@@ -469,7 +469,7 @@ ContiNew Admin 的分支目前分为下个大版本的开发分支和上个大
> [!IMPORTANT] > [!IMPORTANT]
> 欢迎大家为 ContiNew Admin 贡献代码,我们非常感谢您的支持!为了更好地管理项目,维护者有一些要求: > 欢迎大家为 ContiNew Admin 贡献代码,我们非常感谢您的支持!为了更好地管理项目,维护者有一些要求:
> >
> 1. 请确保代码、配置文件的结构和命名规范良好,完善的代码注释甚至包括接口文档参数示例,并遵循阿里巴巴的 <a href="https://github.com/wms-org/wms-admin/blob/dev/.style/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C(%E9%BB%84%E5%B1%B1%E7%89%88).pdf" target="_blank">《Java开发手册(黄山版)》</a> 中的代码规范,保证代码质量和可维护性 > 1. 请确保代码、配置文件的结构和命名规范良好,完善的代码注释甚至包括接口文档参数示例,并遵循阿里巴巴的 <a href="https://github.com/wms-org/mes-admin/blob/dev/.style/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C(%E9%BB%84%E5%B1%B1%E7%89%88).pdf" target="_blank">《Java开发手册(黄山版)》</a> 中的代码规范,保证代码质量和可维护性
> 2. 在提交代码前,请按照 [Angular 提交规范](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular) 编写 commit 的 message建议在 IntelliJ IDEA 中下载并安装 Git Commit Template 插件,以便按照规范进行 commit > 2. 在提交代码前,请按照 [Angular 提交规范](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular) 编写 commit 的 message建议在 IntelliJ IDEA 中下载并安装 Git Commit Template 插件,以便按照规范进行 commit
> 3. 提交代码之前,请关闭所有代码窗口,执行 `mvn compile` 命令(代码格式化插件会在项目编译时对全局代码进行格式修正),编译通过后,不要再打开查看任何代码窗口,直接提交即可,以免不同的 IDE 配置会自动进行代码格式化 > 3. 提交代码之前,请关闭所有代码窗口,执行 `mvn compile` 命令(代码格式化插件会在项目编译时对全局代码进行格式修正),编译通过后,不要再打开查看任何代码窗口,直接提交即可,以免不同的 IDE 配置会自动进行代码格式化
@@ -487,8 +487,8 @@ ContiNew Admin 的分支目前分为下个大版本的开发分支和上个大
感谢参与贡献的每一位小伙伴🥰 感谢参与贡献的每一位小伙伴🥰
<a href="https://github.com/wms-org/wms-admin/graphs/contributors"> <a href="https://github.com/wms-org/mes-admin/graphs/contributors">
<img src="https://opencollective.com/wms-admin/contributors.svg?width=890&button=false" alt="contributors" /> <img src="https://opencollective.com/mes-admin/contributors.svg?width=890&button=false" alt="contributors" />
</a> </a>
### 特别鸣谢 ### 特别鸣谢
@@ -499,9 +499,9 @@ ContiNew Admin 的分支目前分为下个大版本的开发分支和上个大
## License ## License
- 遵循 <a href="https://github.com/wms-org/wms-admin/blob/dev/LICENSE" target="_blank">Apache-2.0</a> 开源许可协议 - 遵循 <a href="https://github.com/wms-org/mes-admin/blob/dev/LICENSE" target="_blank">Apache-2.0</a> 开源许可协议
- Copyright © 2022-present <a href="https://blog.charles7c.top" target="_blank">Charles7c</a> - Copyright © 2022-present <a href="https://blog.charles7c.top" target="_blank">Charles7c</a>
## GitHub Star 趋势 ## GitHub Star 趋势
![GitHub Star 趋势](https://starchart.cc/charles7c/wms-admin.svg) ![GitHub Star 趋势](https://starchart.cc/charles7c/mes-admin.svg)

View File

@@ -48,10 +48,10 @@ services:
- /docker/redis/data/:/data/ - /docker/redis/data/:/data/
- /docker/redis/logs/:/logs/ - /docker/redis/logs/:/logs/
command: 'redis-server /usr/local/redis/config/redis.conf --appendonly yes --requirepass 你的 Redis 密码' command: 'redis-server /usr/local/redis/config/redis.conf --appendonly yes --requirepass 你的 Redis 密码'
wms-admin-server: mes-admin-server:
build: ./wms-admin build: ./mes-admin
restart: always restart: always
container_name: wms-admin-server container_name: mes-admin-server
ports: ports:
- '18000:18000' - '18000:18000'
- '1789:1789' - '1789:1789'
@@ -70,17 +70,17 @@ services:
SCHEDULE_PORT: 1788 SCHEDULE_PORT: 1788
SCHEDULE_TOKEN: 任务调度服务端 Token SCHEDULE_TOKEN: 任务调度服务端 Token
volumes: volumes:
- /docker/wms-admin/config/:/app/config/ - /docker/mes-admin/config/:/app/config/
- /docker/wms-admin/data/file/:/app/data/file/ - /docker/mes-admin/data/file/:/app/data/file/
- /docker/wms-admin/logs/:/app/logs/ - /docker/mes-admin/logs/:/app/logs/
- /docker/wms-admin/lib/:/app/lib/ - /docker/mes-admin/lib/:/app/lib/
depends_on: depends_on:
- redis - redis
- mysql - mysql
schedule-server: schedule-server:
build: ./schedule-server build: ./schedule-server
restart: always restart: always
container_name: wms-admin-schedule-server container_name: mes-admin-schedule-server
ports: ports:
- '18001:18001' - '18001:18001'
- '1788:1788' - '1788:1788'
@@ -109,4 +109,4 @@ services:
- /docker/nginx/cert/:/etc/nginx/cert/ - /docker/nginx/cert/:/etc/nginx/cert/
- /docker/nginx/logs/:/var/log/nginx/ - /docker/nginx/logs/:/var/log/nginx/
# 前端页面目录 # 前端页面目录
- /docker/wms-admin/html/:/usr/share/nginx/html/ - /docker/mes-admin/html/:/usr/share/nginx/html/

View File

@@ -16,6 +16,7 @@ import java.util.List;
* @author Charles7c * @author Charles7c
* @since 2023/9/3 21:50 * @since 2023/9/3 21:50
*/ */
public interface DataPermissionMapper<T> extends BaseMapper<T> { public interface DataPermissionMapper<T> extends BaseMapper<T> {
/** /**

View File

@@ -1,7 +1,7 @@
--- ### Spring 配置 --- ### Spring 配置
spring: spring:
application: application:
name: wms-admin-schedule-server name: mes-admin-schedule-server
## 环境配置 ## 环境配置
profiles: profiles:
# 启用的环境 # 启用的环境

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import top.mes.admin.system.model.entity.ClientDO; import top.mes.admin.system.model.entity.ClientDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -9,5 +10,6 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author KAI * @author KAI
* @since 2024/12/03 16:04 * @since 2024/12/03 16:04
*/ */
@Mapper
public interface ClientMapper extends BaseMapper<ClientDO> { public interface ClientMapper extends BaseMapper<ClientDO> {
} }

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import top.mes.admin.system.model.entity.DeptDO; import top.mes.admin.system.model.entity.DeptDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -9,5 +10,6 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author Charles7c * @author Charles7c
* @since 2023/1/22 17:56 * @since 2023/1/22 17:56
*/ */
@Mapper
public interface DeptMapper extends BaseMapper<DeptDO> { public interface DeptMapper extends BaseMapper<DeptDO> {
} }

View File

@@ -2,6 +2,7 @@ package top.mes.admin.system.mapper;
import com.alicp.jetcache.anno.Cached; import com.alicp.jetcache.anno.Cached;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.mes.admin.common.constant.CacheConstants; import top.mes.admin.common.constant.CacheConstants;
import top.mes.admin.system.model.entity.DictItemDO; import top.mes.admin.system.model.entity.DictItemDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -15,6 +16,7 @@ import java.util.List;
* @author Charles7c * @author Charles7c
* @since 2023/9/11 21:29 * @since 2023/9/11 21:29
*/ */
@Repository
public interface DictItemMapper extends BaseMapper<DictItemDO> { public interface DictItemMapper extends BaseMapper<DictItemDO> {
/** /**

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import top.mes.admin.system.model.entity.DictDO; import top.mes.admin.system.model.entity.DictDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -9,5 +10,6 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author Charles7c * @author Charles7c
* @since 2023/9/11 21:29 * @since 2023/9/11 21:29
*/ */
@Mapper
public interface DictMapper extends BaseMapper<DictDO> { public interface DictMapper extends BaseMapper<DictDO> {
} }

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import top.mes.admin.system.model.entity.MenuDO; import top.mes.admin.system.model.entity.MenuDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -13,6 +14,7 @@ import java.util.Set;
* @author Charles7c * @author Charles7c
* @since 2023/2/15 20:30 * @since 2023/2/15 20:30
*/ */
@Mapper
public interface MenuMapper extends BaseMapper<MenuDO> { public interface MenuMapper extends BaseMapper<MenuDO> {
/** /**

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import top.mes.admin.system.model.entity.RoleDeptDO; import top.mes.admin.system.model.entity.RoleDeptDO;
@@ -13,6 +14,7 @@ import java.util.List;
* @author Charles7c * @author Charles7c
* @since 2023/2/18 21:57 * @since 2023/2/18 21:57
*/ */
@Mapper
public interface RoleDeptMapper extends BaseMapper<RoleDeptDO> { public interface RoleDeptMapper extends BaseMapper<RoleDeptDO> {
/** /**

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import top.mes.admin.system.model.entity.RoleDO; import top.mes.admin.system.model.entity.RoleDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -9,5 +10,6 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author Charles7c * @author Charles7c
* @since 2023/2/8 23:17 * @since 2023/2/8 23:17
*/ */
@Mapper
public interface RoleMapper extends BaseMapper<RoleDO> { public interface RoleMapper extends BaseMapper<RoleDO> {
} }

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import top.mes.admin.system.model.entity.RoleMenuDO; import top.mes.admin.system.model.entity.RoleMenuDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -11,6 +12,7 @@ import java.util.List;
* @author Charles7c * @author Charles7c
* @since 2023/2/15 20:30 * @since 2023/2/15 20:30
*/ */
@Mapper
public interface RoleMenuMapper extends BaseMapper<RoleMenuDO> { public interface RoleMenuMapper extends BaseMapper<RoleMenuDO> {
/** /**

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import top.mes.admin.system.model.entity.StorageDO; import top.mes.admin.system.model.entity.StorageDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -9,5 +10,6 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author Charles7c * @author Charles7c
* @since 2023/12/26 22:09 * @since 2023/12/26 22:09
*/ */
@Mapper
public interface StorageMapper extends BaseMapper<StorageDO> { public interface StorageMapper extends BaseMapper<StorageDO> {
} }

View File

@@ -3,6 +3,7 @@ package top.mes.admin.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import top.mes.admin.common.config.mybatis.DataPermissionMapper; import top.mes.admin.common.config.mybatis.DataPermissionMapper;
@@ -19,6 +20,7 @@ import java.util.List;
* @author Charles7c * @author Charles7c
* @since 2022/12/22 21:47 * @since 2022/12/22 21:47
*/ */
@Mapper
public interface UserMapper extends DataPermissionMapper<UserDO> { public interface UserMapper extends DataPermissionMapper<UserDO> {
/** /**

View File

@@ -3,6 +3,7 @@ package top.mes.admin.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import top.mes.admin.system.model.entity.UserRoleDO; import top.mes.admin.system.model.entity.UserRoleDO;
import top.mes.admin.system.model.resp.role.RoleUserResp; import top.mes.admin.system.model.resp.role.RoleUserResp;
@@ -14,6 +15,7 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author Charles7c * @author Charles7c
* @since 2023/2/13 23:13 * @since 2023/2/13 23:13
*/ */
@Mapper
public interface UserRoleMapper extends BaseMapper<UserRoleDO> { public interface UserRoleMapper extends BaseMapper<UserRoleDO> {
/** /**

View File

@@ -1,5 +1,6 @@
package top.mes.admin.system.mapper; package top.mes.admin.system.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import top.mes.admin.system.model.entity.UserSocialDO; import top.mes.admin.system.model.entity.UserSocialDO;
import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.base.BaseMapper;
@@ -10,6 +11,7 @@ import top.continew.starter.data.mp.base.BaseMapper;
* @author Charles7c * @author Charles7c
* @since 2023/10/11 22:10 * @since 2023/10/11 22:10
*/ */
@Mapper
public interface UserSocialMapper extends BaseMapper<UserSocialDO> { public interface UserSocialMapper extends BaseMapper<UserSocialDO> {
/** /**

View File

@@ -77,7 +77,7 @@ public class StorageReq implements Serializable {
/** /**
* Bucket/存储路径 * Bucket/存储路径
*/ */
@Schema(description = "Bucket/存储路径", example = "C:/wms-admin/data/file/") @Schema(description = "Bucket/存储路径", example = "C:/mes-admin/data/file/")
@Length(max = 255, message = "Bucket长度不能超过 {max} 个字符", groups = ValidationGroup.Storage.OSS.class) @Length(max = 255, message = "Bucket长度不能超过 {max} 个字符", groups = ValidationGroup.Storage.OSS.class)
@Length(max = 255, message = "存储路径长度不能超过 {max} 个字符", groups = ValidationGroup.Storage.Local.class) @Length(max = 255, message = "存储路径长度不能超过 {max} 个字符", groups = ValidationGroup.Storage.Local.class)
@NotBlank(message = "Bucket不能为空", groups = ValidationGroup.Storage.OSS.class) @NotBlank(message = "Bucket不能为空", groups = ValidationGroup.Storage.OSS.class)

View File

@@ -68,7 +68,7 @@ public class StorageResp extends BaseDetailResp {
/** /**
* Bucket/存储路径 * Bucket/存储路径
*/ */
@Schema(description = "Bucket/存储路径", example = "C:/wms-admin/data/file/") @Schema(description = "Bucket/存储路径", example = "C:/mes-admin/data/file/")
private String bucketName; private String bucketName;
/** /**

View File

@@ -50,7 +50,7 @@ public class GenConfigDO implements Serializable {
/** /**
* 模块名称 * 模块名称
*/ */
@Schema(description = "模块名称", example = "wms-admin-system") @Schema(description = "模块名称", example = "mes-admin-system")
@NotBlank(message = "模块名称不能为空") @NotBlank(message = "模块名称不能为空")
@Length(max = 60, message = "模块名称不能超过 {max} 个字符") @Length(max = 60, message = "模块名称不能超过 {max} 个字符")
private String moduleName; private String moduleName;

View File

@@ -20,7 +20,7 @@ public class GeneratePreviewResp implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Schema(description = "生成的文件路径", example = "wms-admin\\wms-admin\\wms-admin-generator\\src\\main\\java\\top\\wms\\admin\\generator\\service") @Schema(description = "生成的文件路径", example = "mes-admin\\mes-admin\\mes-admin-generator\\src\\main\\java\\top\\wms\\admin\\generator\\service")
private String path; private String path;
/** /**

View File

@@ -245,10 +245,10 @@ public class GeneratorServiceImpl implements GeneratorService {
List<GeneratePreviewResp> generatePreviewList = this.preview(tableName); List<GeneratePreviewResp> generatePreviewList = this.preview(tableName);
// 生成代码 // 生成代码
for (GeneratePreviewResp generatePreview : generatePreviewList) { for (GeneratePreviewResp generatePreview : generatePreviewList) {
// 后端:wms-admin/wms-system/src/main/java/top/wms/admin/system/service/impl/XxxServiceImpl.java // 后端mes-admin/wms-system/src/main/java/top/wms/admin/system/service/impl/XxxServiceImpl.java
// 前端:wms-admin/wms-admin-ui/src/views/system/user/index.vue // 前端mes-admin/mes-admin-ui/src/views/system/user/index.vue
File file = new File(projectPath + generatePreview.getPath() File file = new File(projectPath + generatePreview.getPath()
.replace("wms-admin\\wms-admin", ""), generatePreview.getFileName()); .replace("mes-admin\\mes-admin", ""), generatePreview.getFileName());
// 如果已经存在,且不允许覆盖,则跳过 // 如果已经存在,且不允许覆盖,则跳过
if (!file.exists() || Boolean.TRUE.equals(genConfigMapper.selectById(tableName).getIsOverride())) { if (!file.exists() || Boolean.TRUE.equals(genConfigMapper.selectById(tableName).getIsOverride())) {
FileUtil.writeUtf8String(generatePreview.getContent(), file); FileUtil.writeUtf8String(generatePreview.getContent(), file);
@@ -335,14 +335,14 @@ public class GeneratorServiceImpl implements GeneratorService {
.getAppName() + "-ui"); .getAppName() + "-ui");
String packagePath; String packagePath;
if (generatePreview.isBackend()) { if (generatePreview.isBackend()) {
// 例如:wms-admin/wms-system/src/main/java/top/wms/admin/system/service/impl // 例如mes-admin/wms-system/src/main/java/top/wms/admin/system/service/impl
packagePath = String.join(File.separator, backendBasicPackagePath, templateConfig.getPackageName() packagePath = String.join(File.separator, backendBasicPackagePath, templateConfig.getPackageName()
.replace(StringConstants.DOT, File.separator)); .replace(StringConstants.DOT, File.separator));
} else { } else {
// 例如:wms-admin/wms-admin-ui/src/views/system // 例如mes-admin/mes-admin-ui/src/views/system
packagePath = String.join(File.separator, frontendBasicPackagePath, templateConfig.getPackageName() packagePath = String.join(File.separator, frontendBasicPackagePath, templateConfig.getPackageName()
.replace(StringConstants.SLASH, File.separator), genConfig.getApiModuleName()); .replace(StringConstants.SLASH, File.separator), genConfig.getApiModuleName());
// 例如:wms-admin/wms-admin-ui/src/views/system/user // 例如mes-admin/mes-admin-ui/src/views/system/user
packagePath = ".vue".equals(templateConfig.getExtension()) packagePath = ".vue".equals(templateConfig.getExtension())
? packagePath + File.separator + StrUtil.lowerFirst(genConfig.getClassNamePrefix()) ? packagePath + File.separator + StrUtil.lowerFirst(genConfig.getClassNamePrefix())
: packagePath; : packagePath;
@@ -358,8 +358,8 @@ public class GeneratorServiceImpl implements GeneratorService {
*/ */
private void generateCode(List<GeneratePreviewResp> generatePreviewList, GenConfigDO genConfig) { private void generateCode(List<GeneratePreviewResp> generatePreviewList, GenConfigDO genConfig) {
for (GeneratePreviewResp generatePreview : generatePreviewList) { for (GeneratePreviewResp generatePreview : generatePreviewList) {
// 后端:wms-admin/wms-system/src/main/java/top/wms/admin/system/service/impl/XxxServiceImpl.java // 后端mes-admin/wms-system/src/main/java/top/wms/admin/system/service/impl/XxxServiceImpl.java
// 前端:wms-admin/wms-admin-ui/src/views/system/user/index.vue // 前端mes-admin/mes-admin-ui/src/views/system/user/index.vue
File file = new File(SystemUtil.getUserInfo().getTempDir() + generatePreview.getPath(), generatePreview File file = new File(SystemUtil.getUserInfo().getTempDir() + generatePreview.getPath(), generatePreview
.getFileName()); .getFileName());
// 如果已经存在,且不允许覆盖,则跳过 // 如果已经存在,且不允许覆盖,则跳过
@@ -379,7 +379,7 @@ public class GeneratorServiceImpl implements GeneratorService {
private String buildBackendBasicPackagePath(GenConfigDO genConfig, private String buildBackendBasicPackagePath(GenConfigDO genConfig,
GeneratorProperties.TemplateConfig templateConfig) { GeneratorProperties.TemplateConfig templateConfig) {
String extension = templateConfig.getExtension(); String extension = templateConfig.getExtension();
// 例如:wms-admin/wms-system/src/main/java/top/wms/admin/system // 例如mes-admin/wms-system/src/main/java/top/wms/admin/system
return String.join(File.separator, projectProperties.getAppName(), projectProperties.getAppName(), genConfig return String.join(File.separator, projectProperties.getAppName(), projectProperties.getAppName(), genConfig
.getModuleName(), "src", "main", FileNameUtil.EXT_JAVA.equals(extension) .getModuleName(), "src", "main", FileNameUtil.EXT_JAVA.equals(extension)
? "java" ? "java"

View File

@@ -35,7 +35,7 @@ public class JobLogQuery implements Serializable {
/** /**
* 任务组 * 任务组
*/ */
@Schema(description = "任务组", example = "wms-admin") @Schema(description = "任务组", example = "mes-admin")
private String groupName; private String groupName;
/** /**

View File

@@ -25,7 +25,7 @@ public class JobQuery implements Serializable {
/** /**
* 任务组 * 任务组
*/ */
@Schema(description = "任务组", example = "wms-admin") @Schema(description = "任务组", example = "mes-admin")
private String groupName; private String groupName;
/** /**

View File

@@ -27,7 +27,7 @@ public class JobReq implements Serializable {
/** /**
* 任务组 * 任务组
*/ */
@Schema(description = "任务组", example = "wms-admin") @Schema(description = "任务组", example = "mes-admin")
@NotBlank(message = "任务组不能为空") @NotBlank(message = "任务组不能为空")
private String groupName; private String groupName;

View File

@@ -29,7 +29,7 @@ public class JobInstanceResp implements Serializable {
/** /**
* 任务组 * 任务组
*/ */
@Schema(description = "任务组", example = "wms-admin") @Schema(description = "任务组", example = "mes-admin")
private String groupName; private String groupName;
/** /**

View File

@@ -32,7 +32,7 @@ public class JobLogResp implements Serializable {
/** /**
* 任务组 * 任务组
*/ */
@Schema(description = "任务组", example = "wms-admin") @Schema(description = "任务组", example = "mes-admin")
private String groupName; private String groupName;
/** /**

View File

@@ -31,7 +31,7 @@ public class JobResp implements Serializable {
/** /**
* 任务组 * 任务组
*/ */
@Schema(description = "任务组", example = "wms-admin") @Schema(description = "任务组", example = "mes-admin")
private String groupName; private String groupName;
/** /**

View File

@@ -13,6 +13,11 @@
<packaging>pom</packaging> <packaging>pom</packaging>
<description>插件模块(存放代码生成、任务调度等扩展模块)</description> <description>插件模块(存放代码生成、任务调度等扩展模块)</description>
<modules>
<module>mes-plugin-schedule</module>
<module>mes-plugin-generator</module>
</modules>
<dependencies> <dependencies>
<!-- 公共模块(存放公共工具类,公共配置等) --> <!-- 公共模块(存放公共工具类,公共配置等) -->
<dependency> <dependency>

View File

@@ -101,24 +101,6 @@
<version>2.1.0</version> <version>2.1.0</version>
</dependency> </dependency>
<!-- 本地库MvCameraControlWrapper -->
<dependency>
<groupId>com.hikvision</groupId>
<artifactId>MvCameraControlWrapper</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/Library/MvCameraControlWrapper.jar</systemPath>
</dependency>
<!-- 本地库JNA (宇视SDK依赖旧版本) -->
<dependency>
<groupId>com.sun.jna</groupId>
<artifactId>jna</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/jna.jar</systemPath>
</dependency>
<!-- 串口通信依赖 --> <!-- 串口通信依赖 -->
<dependency> <dependency>
<groupId>com.fazecast</groupId> <groupId>com.fazecast</groupId>

View File

@@ -31,12 +31,12 @@ import top.continew.starter.web.model.R;
@SpringBootApplication @SpringBootApplication
@RequiredArgsConstructor @RequiredArgsConstructor
@EnableScheduling @EnableScheduling
public class WmsAdminApplication { public class MesAdminApplication {
private final ProjectProperties projectProperties; private final ProjectProperties projectProperties;
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(WmsAdminApplication.class, args); SpringApplication.run(MesAdminApplication.class, args);
} }
@Hidden @Hidden

View File

@@ -1,18 +0,0 @@
package top.mes.admin.config.webSocket;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
import top.mes.admin.controller.weighManage.ah.ScaleWebSocketHandler;
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
// 注册WebSocket端点允许所有跨域请求
registry.addHandler(new ScaleWebSocketHandler(), "/ws/scale").setAllowedOrigins("*");
}
}

View File

@@ -28,15 +28,25 @@ import java.util.function.BooleanSupplier;
public class DemoEnvironmentJob { public class DemoEnvironmentJob {
private final DictItemMapper dictItemMapper; private final DictItemMapper dictItemMapper;
private final DictMapper dictMapper; private final DictMapper dictMapper;
private final StorageMapper storageMapper; private final StorageMapper storageMapper;
private final UserMapper userMapper; private final UserMapper userMapper;
private final UserRoleMapper userRoleMapper; private final UserRoleMapper userRoleMapper;
private final UserSocialMapper userSocialMapper; private final UserSocialMapper userSocialMapper;
private final RoleMapper roleMapper; private final RoleMapper roleMapper;
private final RoleDeptMapper roleDeptMapper; private final RoleDeptMapper roleDeptMapper;
private final RoleMenuMapper roleMenuMapper; private final RoleMenuMapper roleMenuMapper;
private final MenuMapper menuMapper; private final MenuMapper menuMapper;
private final DeptMapper deptMapper; private final DeptMapper deptMapper;
private final ClientMapper clientsMapper; private final ClientMapper clientsMapper;

View File

@@ -18,17 +18,9 @@ spring:
spring.datasource: spring.datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
# 请务必提前创建好名为 wms_admin 的数据库,如果使用其他数据库名请注意同步修改 DB_NAME 配置 # 请务必提前创建好名为 wms_admin 的数据库,如果使用其他数据库名请注意同步修改 DB_NAME 配置
url: jdbc:p6spy:mysql://127.0.0.1:3306/wms_th?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true url: jdbc:p6spy:mysql://127.0.0.1:3306/mes?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: root username: root
password: root password: root
# password: test123$
# PostgreSQL 配置
# url: jdbc:p6spy:mysql://192.168.2.30:${DB_PORT:3306}/continew?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
# username: ${DB_USER:root}
# password: ${DB_PWD:SQLsql123}
# url: jdbc:p6spy:mysql://81.68.71.142:${DB_PORT:3306}/continew?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
# username: ${DB_USER:root}
# password: ${DB_PWD:MYsql12@}
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
# Hikari 连接池配置 # Hikari 连接池配置
hikari: hikari:
@@ -55,12 +47,12 @@ spring.data:
## Redis 配置(单机模式) ## Redis 配置(单机模式)
redis: redis:
# 地址 # 地址
# host: ${REDIS_HOST:192.168.2.30} host: ${REDIS_HOST:192.168.2.30}
host: ${REDIS_HOST:127.0.0.1} # host: ${REDIS_HOST:127.0.0.1}
# 端口(默认 6379 # 端口(默认 6379
port: ${REDIS_PORT:6379} port: ${REDIS_PORT:6379}
# 密码(未设置密码时请注释掉) # 密码(未设置密码时请注释掉)
# password: ${REDIS_PWD:redis2025} password: ${REDIS_PWD:redis2025}
# 数据库索引 # 数据库索引
database: ${REDIS_DB:0} database: ${REDIS_DB:0}
# 连接超时时间 # 连接超时时间
@@ -286,7 +278,7 @@ snail-job:
# 命名空间 ID # 命名空间 ID
namespace: ${SCHEDULE_NAMESPACE:764d604ec6fc45f68cd92514c40e9e1a} namespace: ${SCHEDULE_NAMESPACE:764d604ec6fc45f68cd92514c40e9e1a}
# 分组名 # 分组名
group: ${SCHEDULE_GROUP:wms-admin} group: ${SCHEDULE_GROUP:mes-admin}
# 令牌 # 令牌
token: ${SCHEDULE_TOKEN:SJ_Wyz3dmsdbDOkDujOTSSoBjGQP1BMsVnj} token: ${SCHEDULE_TOKEN:SJ_Wyz3dmsdbDOkDujOTSSoBjGQP1BMsVnj}
## 服务端配置(任务调度中心) ## 服务端配置(任务调度中心)

View File

@@ -276,7 +276,7 @@ snail-job:
# 命名空间 ID # 命名空间 ID
namespace: ${SCHEDULE_NAMESPACE:764d604ec6fc45f68cd92514c40e9e1a} namespace: ${SCHEDULE_NAMESPACE:764d604ec6fc45f68cd92514c40e9e1a}
# 分组名 # 分组名
group: ${SCHEDULE_GROUP:wms-admin} group: ${SCHEDULE_GROUP:mes-admin}
# 令牌 # 令牌
token: ${SCHEDULE_TOKEN:SJ_Wyz3dmsdbDOkDujOTSSoBjGQP1BMsVnj} token: ${SCHEDULE_TOKEN:SJ_Wyz3dmsdbDOkDujOTSSoBjGQP1BMsVnj}
## 服务端配置(任务调度中心) ## 服务端配置(任务调度中心)

View File

@@ -3,7 +3,7 @@ project:
# 名称 # 名称
name: Wms Admin name: Wms Admin
# 应用名称 # 应用名称
app-name: wms-admin app-name: mes-admin
# 版本 # 版本
version: 3.6.0-SNAPSHOT version: 3.6.0-SNAPSHOT
# 描述 # 描述
@@ -18,7 +18,7 @@ project:
## 许可协议信息配置 ## 许可协议信息配置
license: license:
name: Apache-2.0 name: Apache-2.0
url: https://github.com/wms-org/wms-admin/blob/dev/LICENSE url: https://github.com/wms-org/mes-admin/blob/dev/LICENSE
--- ### 日志配置 --- ### 日志配置
continew-starter.log: continew-starter.log: