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

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

项目结构介绍

后端项目

├─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版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
1月前
|
存储 缓存 监控
构建高效后端系统的关键要素
【10月更文挑战第12天】 本文将探讨如何通过合理的架构设计、数据库优化、缓存策略和性能调优等措施,构建一个稳定、高效的后端系统。我们将分享一些实用的技巧和最佳实践,帮助开发者提升后端系统的性能和用户体验。
32 1
|
1月前
|
算法 Java Linux
java制作海报五:java 后端整合 echarts 画出 折线图,项目放在linux上,echarts图上不显示中文,显示方框口口口
这篇文章介绍了如何在Java后端整合ECharts库来绘制折线图,并讨论了在Linux环境下ECharts图表中文显示问题。
39 1
|
1月前
|
存储 缓存 测试技术
构建高效后端系统的关键策略##
【10月更文挑战第2天】 在当今数字化时代,后端系统的性能和可扩展性对于任何技术驱动的企业都至关重要。本文将深入探讨如何通过优化数据库设计、实施缓存机制、采用微服务架构以及自动化测试等措施,构建一个既高效又可靠的后端系统。我们将从基础的代码优化开始,逐步讨论到架构级别的改进,最终目标是提供一个全面的指导方案,帮助开发者和企业提升其后端系统的性能和可维护性。 ##
55 2
|
1月前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
|
1月前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
31 0
|
1月前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
1月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。
|
7天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
6天前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
8天前
|
存储 SQL 数据库
深入浅出后端开发之数据库优化实战
【10月更文挑战第35天】在软件开发的世界里,数据库性能直接关系到应用的响应速度和用户体验。本文将带你了解如何通过合理的索引设计、查询优化以及恰当的数据存储策略来提升数据库性能。我们将一起探索这些技巧背后的原理,并通过实际案例感受优化带来的显著效果。
27 4

热门文章

最新文章