# erveryday-fresh **Repository Path**: wzlguet/erveryday-fresh ## Basic Information - **Project Name**: erveryday-fresh - **Description**: 每日生鲜项目,关于社区生鲜,方便买菜的一个软件(还在开发中) - **Primary Language**: Java - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: http://47.120.5.245/home(服务器已过期) - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-08-10 - **Last Updated**: 2024-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: Vue, SpringBoot, 每日生鲜 ## README # erveryday-fresh #### 介绍 每日生鲜项目 ### 体验地址http://47.120.5.245/home ###### > 申请管理员联系QQ或邮箱:1945416845@qq.com (备注项目名称来意) ### 简介 everyday-fresh是一款基于Spring Boot2.3+Vue2.x的前后端分离开发的类似生鲜超市的项目,拥有完成的权限角色管理,可以使用Vue前端开发,及拉及会、简单易用! ### 项目演示 everyday-fresh项目可无缝对接前端项目vue,前端和后端项目都是在同一个根目录下 ![image-20231123113045362](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123113045362.png) ### 技术选型 | 技术 | 版本 | 说明 | | ---------------------- | :----------: | :-----------------------------------: | | SpringBoot | 2.5.9 | 容器+MVC框架 | | Redis | 6.x | 分布式缓存 | | MyBatis | 3.5.1 | ORM框架-写动态SQL和连表查询的神! | | MyBatis-Plus | 3.5.3.2 | MyBatis增强工具-懒人必备 | | MyBatis-Plus Generator | 3.5.1 | 数据层代码生成器 | | Swagger-UI | 3.0.0 | 文档生产工具 | | Hutool | 5.8.0 | Java工具类库 | | JWT | 0.9.1 | JWT登录支持-权限 | | Lombok | 1.18.24 | 简化对象封装工具 | | mysql-connector-java | 8.0.3 | 数据库连接工具 | | POI | 4.1.2 | 数据导入导出技术 | | auth0 | 3.10.3 | 权限依赖工具 | | alipay-sdk-java | 4.22.110.ALL | 集成支付宝沙箱支付 | | commons-lang3 (pool) | 3.8.x | 常用工具类 | | PageHelper | 5.2.0 | PageHelper分页插件-动态SQLmybatis的神 | | guava | 27.0.1-jre | JSON数据处理 | | knife4j | 2.0.9 | knife4j增强文档-对于swagger增强 | | logback | 1.2.10 | 日志工具 | | Slf4j | 1.2.2 | 日志工具 | | quartz | 2.5.9 | 定时任务工具 | | junit | 4.13.2 | 测试工具 | ### 数据库表结构 ![diagram](F:\diagram.png) > 数据库表结构文件地址:[springboot/sql · truly/erveryday-fresh - 码云 - 开源中国 (gitee.com)](https://gitee.com/wzlguet/erveryday-fresh/tree/master/springboot/sql) ### 使用流程 #### 环境搭建 简化依赖服务,只需安装最常用的MySql和Redis服务即可,服务安装具体参考[mall在Windows环境下的部署](https://gitee.com/link?target=https%3A%2F%2Fwww.macrozheng.com%2Fmall%2Fdeploy%2Fmall_deploy_windows.html) ,数据库中需要导入`everyday-fresh.sql`脚本。 #### 开发规约 ##### 项目包结构 ```java src ├── common -- 用于存放通用代码 | ├── api -- 通用结果集封装类 | ├── config -- 通用配置类 | ├── domain -- 通用封装对象 | ├── exception -- 全局异常处理相关类 | └── service -- 通用业务类 ├── config -- SpringBoot中的Java配置 ├── domain -- 共用封装对象 ├── generator -- MyBatis-Plus代码生成器 ├── modules -- 存放业务代码的基础包 | └── ums -- 权限管理模块业务代码 | ├── controller -- 该模块相关接口 | ├── dto -- 该模块数据传输封装对象 | ├── mapper -- 该模块相关Mapper接口 | ├── model -- 该模块相关实体类 | └── service -- 该模块相关业务处理类 └── security -- SpringSecurity认证授权相关代码 ├── annotation -- 相关注解 ├── aspect -- 相关切面 ├── component -- 认证授权相关组件 ├── config -- 相关配置 └── util -- 相关工具类 ``` ##### 资源文件说明 ```java resources ├── mapper -- MyBatis中mapper.xml存放位置 ├── application.yml -- SpringBoot通用配置文件 ├── application-dev.yml -- SpringBoot开发环境配置文件 ├── application-prod.yml -- SpringBoot生产环境配置文件 └── generator.properties -- MyBatis-Plus代码生成器配置 ``` #### 接口定义规则 - 创建表记录:POST /{控制器路由名称}/create - 修改表记录:POST /{控制器路由名称}/update/{id} - 删除指定表记录:POST /{控制器路由名称}/delete/{id} - 分页查询表记录:GET /{控制器路由名称}/list - 获取指定记录详情:GET /{控制器路由名称}/{id} - 具体参数及返回结果定义可以运行代码查看Swagger-UI的Api文档:[http://localhost:8080/swagger-ui/](https://gitee.com/link?target=http%3A%2F%2Flocalhost%3A8080%2Fswagger-ui%2F) - Knife4j增强文(推荐):http://localhost:9090/doc.html ![image-20231123124900040](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123124900040.png) ### 项目运行 直接运行启动类`SpringbootAPPlication`的`main`函数即可。 ### 业务代码开发流程 #### 创建业务表 > 直接新建一个数据库,名称自定义,然后运行SQL文件 ![image-20231123125356529](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125356529.png) ### 项目示例图 ![image-20231123125609824](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125609824.png) ![image-20231123125628138](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125628138.png) ![image-20231123125650376](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125650376.png) ![image-20231123125714398](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125714398.png) ![image-20231123125805101](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125805101.png) ![image-20231123125818178](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125818178.png) ![image-20231123125836654](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125836654.png) ![image-20231123125858324](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125858324.png) ![image-20231123125924489](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125924489.png) ![image-20231123125949714](C:\Users\35\AppData\Roaming\Typora\typora-user-images\image-20231123125949714.png)