智能排班系统 【后端项目结构介绍+开发环境介绍+项目启动】

简介: 智能排班系统 【后端项目结构介绍+开发环境介绍+项目启动】

项目结构介绍

后端项目

├─file
│  └─data
│      ├─客流量数据
│      └─随机选择员工
├─shift-scheduling-calculate //算法模块
│  ├─src
│     └─main
│         └─java
│             └─com
│                 └─wskh
│                     ├─algo
│                     │  ├─personnel_scheduling
│                     │  │  └─others
│                     │  └─shift_generation
│                     │      └─heu
│                     ├─enums
│                     ├─output
│                     └─utils
├─shift-scheduling-calculate-service //算法服务模块
│  ├─src
│     ├─main
│     │  ├─java
│     │  │  └─com
│     │  │      └─dam
│     │  │          ├─aop
│     │  │          ├─component
│     │  │          ├─config
│     │  │          │  ├─cache
│     │  │          │  ├─feign
│     │  │          │  ├─sentinel
│     │  │          │  ├─thread
│     │  │          │  └─webSocket
│     │  │          ├─constant
│     │  │          ├─controller
│     │  │          ├─dao
│     │  │          ├─dto
│     │  │          ├─enums
│     │  │          ├─feign
│     │  │          ├─service
│     │  │          │  └─impl
│     │  │          └─utils
│     │  └─resources
│     │      └─mapper
│     └─test
│         └─java
├─sss-common //存放工具类、注解、常量类、全局异常、各个模块的实体类
│  ├─src
│     └─main
│         └─java
│             └─com
│                 └─dam
│                     ├─annotation //注解
│                     ├─config
│                     │  └─Mybatis // mybatis plus注解
│                     ├─constant // 常量
│                     ├─exception // 异常
│                     ├─model 
│                     │  ├─dto // 服务间传输数据类
│                     │  │  ├─scheduling_calculate
│                     │  │  ├─scheduling_calculate_service
│                     │  │  └─third_party
│                     │  ├─entity // 实体类
│                     │  │  ├─enterprise
│                     │  │  ├─quartz
│                     │  │  ├─shiftScheduling
│                     │  │  └─system
│                     │  │      └─monitor
│                     │  ├─enums // 枚举
│                     │  │  ├─log
│                     │  │  ├─quartz
│                     │  │  └─system
│                     │  ├─exception // 异常
│                     │  ├─result // 结果类封装
│                     │  └─vo // 封装返回给前端的数据
│                     │      ├─enterprise
│                     │      ├─scheduling_calculate_service
│                     │      ├─shiftScheduling
│                     │      │  └─applet
│                     │      ├─statistics
│                     │      │  ├─enterpriseManager
│                     │      │  ├─storeManager
│                     │      │  └─systemManager
│                     │      └─system
│                     ├─utils // 工具包
│                     │  ├─clone
│                     │  ├─date
│                     │  ├─http
│                     │  ├─ip
│                     │  ├─mail
│                     │  ├─password
│                     │  └─username
│                     └─xss
├─sss-enterprise // 企业数据管理模块
│  ├─src
│     ├─main
│     │  ├─java
│     │  │  └─com
│     │  │      └─dam
│     │  │          ├─aop
│     │  │          ├─config
│     │  │          │  ├─druid
│     │  │          │  ├─feign
│     │  │          │  ├─quartz
│     │  │          │  ├─rabbitMq
│     │  │          │  ├─redisson
│     │  │          │  └─thread
│     │  │          ├─controller
│     │  │          ├─custom
│     │  │          │  └─quartz // 定义定时任务要做什么
│     │  │          ├─dao
│     │  │          ├─dto
│     │  │          ├─feign
│     │  │          ├─service
│     │  │          │  └─impl
│     │  │          │      └─security
│     │  │          └─utils
│     │  │              └─spring
│     │  └─resources
│     │      ├─mapper
│     │      └─src
│     │          └─views
│     │              └─modules
│     │                  └─dam
│     └─test
│         └─java
├─sss-gateway // 网关模块
│  ├─src
│     └─main
│         ├─java
│         │  └─com
│         │      └─dam
│         │          └─config
│         └─resources
├─sss-security // spring security
│  ├─src
│     ├─main
│     │  ├─java
│     │  │  └─com
│     │  │      └─dam
│     │  │          ├─config
│     │  │          ├─constant
│     │  │          ├─custom
│     │  │          ├─filter
│     │  │          ├─service
│     │  │          │  └─impl
│     │  │          └─utils
│     │  └─resources
│     └─test
│         └─java
├─sss-system // 系统模块(用户、菜单、角色管理,登录日志、操作日志)
│  ├─src
│     └─main
│         ├─java
│         │  └─com
│         │      └─dam
│         │          ├─config
│         │          │  ├─feign
│         │          │  ├─mybatis
│         │          │  ├─register
│         │          │  └─thread
│         │          ├─dao
│         │          ├─exception
│         │          ├─feign
│         │          ├─service
│         │          │  └─impl
│         │          │      └─security
│         │          └─utils
│         │              ├─user_data_gererate
│         │              │  └─name
│         │              └─vo
│         └─resources
│             └─mapper
├─sss-system-server // 系统服务模块
│  ├─src
│     ├─main
│     │  ├─java
│     │  │  └─com
│     │  │      └─dam
│     │  │          ├─aop
│     │  │          ├─config
│     │  │          │  ├─feign
│     │  │          │  └─rabbitMq
│     │  │          └─controller
│     │  │              └─monitor
│     │  └─resources
│     └─test
│         └─java
├─sss-third-party // 第三方服务(oss、微信登录、邮件发送)
│  ├─src
│     └─main
│         ├─java
│         │  └─com
│         │      └─dam
│         │          ├─aop
│         │          ├─config
│         │          │  ├─feign
│         │          │  ├─mail
│         │          │  ├─rabbitMq
│         │          │  ├─swagger
│         │          │  └─wechatLogin
│         │          ├─controller
│         │          ├─feign
│         │          ├─listener
│         │          └─service
│         │              └─impl
│         └─resources


开发环境介绍

1686289368178.png

项目启动

环境准备

准备好上面提到的所有环境,启动nacos、redis、rabbitMQ


数据库准备

创建数据库

创建数据库的时候,字符集选择 utf8mb4,排序规则留空即可,如下图


执行sql

如果没有安装数据库可视化软件,可以使用命令行的方式来执行sql,操作可以参考博客命令行导入sql

准备工作

install部分包到本地maven仓库

刷新依赖

需要启动的模块

注意

开发的时候需要设置相应的环境,为了隔离我的环境和你们的环境,我在配置环境后面加上了-dam的后缀,active:dam表示启动项目的时候所激活的环境,但是为了保护我的服务器,我没有将带dam后缀的配置文件上传,所以需要麻烦你们在启动项目的时候激活dev环境。


后面项目上线的时候,需要将项目打包部署到服务器中,这时候使用的就是生产环境prod了,打包的时候不用修改active,因为运行Jar包的时候可以指定运行环境,如


java -jar sss-third-party-0.0.1-SNAPSHOT.jar --server.port=8160 --spring.profiles.active=prod

第三方服务

第三方服务模块主要用来集成第三方提供的服务,如阿里云的OSS对象存储服务、邮件发送服务、微信登录服务,后面如果需要引入其他的第三方服务,如短信服务、人脸识别服务。

网关模块

网关模块主要用来做请求转发、负载均衡,后面还可以新增其他功能,如何统一接口限流、ip禁用功能、灰色发布、统一业务处理等功能。


系统模块

该模块主要用来做系统的登录验证、权限控制,通过为角色分配操作菜单、操作功能,给用户分配角色,实现对账号的权限控制。


企业数据管理模块

企业数据模块主要用来管理企业信息、门店信息、门店的规则管理……


算法模块

算法模块主要提供排班计算、排班结果存储、排班月视图、周视图查看等服务。


系统账号

导入项目提供的sql之后,数据库里面内置了一些账号

  • 系统管理员:admin 123456
  • 企业管理员:one 123456
  • 门店管理员:two 123456(three、four、five往上都是门店管理员的用户名,密码都是123456)
相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
10月前
|
存储 前端开发 安全
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
400 5
|
12月前
|
小程序 安全 关系型数据库
专业打造一款圈子源码软件系统 / 后端 PHP 搭建部署一样实现利益化
本教程详解基于PHP后端与Uni-app的小程序开发全流程,涵盖技术选型、环境搭建、源码导入、接口对接及功能实现。采用Laravel/Symfony框架,结合MySQL/PostgreSQL数据库,使用WebSocket实现实时通信,并集成IM SDK实现音视频聊天。前端使用Uni-app开发,支持跨平台运行。教程包含完整部署流程与安全优化方案,助力快速搭建高性能、安全稳定的小程序系统。
668 5
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
770 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
自然语言处理 JavaScript 前端开发
一夜获千星!已获 1.7k+,Art Design Pro:Vue3 + Vite + TypeScript 打造的高颜值管理系统模板,这个让后端小哥直呼救命的后台系统
Art Design Pro 是一款基于 Vue 3、Vite 和 TypeScript 的高颜值后台管理系统模板,已获 1.7k+ 星标。项目专注于用户体验与视觉设计,支持主题切换、多语言、权限管理及图表展示等功能,内置常用业务组件,便于快速搭建现代化管理界面。其技术栈先进,开发体验流畅,适配多设备,满足企业级应用需求。项目地址:[GitHub](https://github.com/Daymychen/art-design-pro)。
2373 11
|
SQL API 容器
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:后端项目结构说明
GoWind Admin|风行是一款企业级前后端一体中后台框架,后端采用Go语言,基于Protobuf定义API,支持Buf代码生成与Docker部署。项目结构清晰,含API定义、服务实现、数据库ORM、配置管理及自动化脚本,开箱即用,助力高效开发。
600 0
|
JSON Cloud Native Go
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:后端权限控制
GoWind Admin「风行」是企业级中后台框架,集成Casbin与OPA实现API权限控制。支持RBAC、ABAC等模型,开箱即用,助力高效构建安全的前后端一体化系统。
997 1
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
843 17
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
646 6
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
784 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
人工智能 Java API
后端开发必看:零代码实现存量服务改造成MCP服务
本文介绍如何通过 **Nacos** 和 **Higress** 实现存量 Spring Boot 服务的零代码改造,使其支持 MCP 协议,供 AI Agent 调用。全程无需修改业务代码,仅通过配置完成服务注册、协议转换与工具映射,显著降低改造成本,提升服务的可集成性与智能化能力。
3321 1

热门文章

最新文章