智能运管平台
项目介绍:为客户和厂商之间提供物品报修及其处理的平台。客户通过小程序端对所需报修物品进行扫描即可上报维修单,厂商将会派出技术人员做好维修更换设备零件等一条龙服务。
采用技术栈
后端:SpringBoot
数据库:Mysql
前端:微信小程序、Thymeleaf、boostrap、jQuery
开发模式
采用MVP敏捷开发模式,先做好最小可运行部分的代码,之后更具客户的需求不断的完善。
项目结构
-
common ——公共部分模块
- tokenUtil ——用于安全机制
- UUIDUtil ——唯一Id工具
- QRCodeUtil ——二维码生成器
- vo
- RequestVo ——请求Vo
- ResponseVo ——相应Vo
-
meta ——对单表的常规CRUD操作,通过MybatisPlus自动生成
- xxx表
- entity
- dao
- service
- xxx表
-
role ——按照角色垂直拆分业务
- customer
- web ——web端接口
- api ——小程序端接口
- bservice ——业务逻辑
- service
- serviceImpl
- service
- supplier
- admin
- customer
数据传递
前后端采用json数据格式交互,请求头中封装token数据。
controller 采用类上加@RestController 或者 在方法上加@ResponseBody 即可返回Json数据格式数据。
接口参数采用 @RequestBody 即可解析前端传来的Json数据
业务层与控制层通过Map形式交互。
事务管理
需要数据处理的函数通过此注解。
@Transaction(rollbackfor = Exception.class)
若发生异常则做回滚操作
在判断逻辑判断为错误时,抛出自定义code异常,raise Exception(yourErrorCode)
接着在controller层统一try-catch。若发生异常则将Exception.getMessage()中的异常做Integer类型的强转,若强转成功即为自定义异常Code,若失败则为系统所抛异常。