Files
2023-08-17 09:42:40 +08:00

133 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
框架继承注意要点
===
1. 在本框架中搭建工作流模块,重新设计工作流模块
(包括用户对审批节点配置增减;待办、已办、已发、监控、草稿的设计;流程过程中加签;发起时可配置人员节点选择;
每个人显示自己关联的流程图+显示流程节点对应的办理人;节点未到时发起人可修改已配置的审批人员等等)
2. 所有与工作流相关的表都使用`activiti_`开头
3. 熟悉后端的双语操作(预留但不开发,仅中文即可)
4. 熟悉文档库属性配置相关代码(重汽需要将文档库标签扩充成 国内标准法规标签、海外标准法规标签、企业标准标签三部分),补充注释
5. 去除无效的application配置项
6. 分析代码,删掉不用的代码和包,为后续开发搭好基础。留下相关接口为:文档管理-文档库、文档工具-文档拆分、文档工具-文档对比、业务支持-对外报告管理(改名为资料中心)、
信息中心-文档动态、信息中心-我的消息、个人中心-我的收藏、日志中心-操作日志、系统管理(全部)、开发工具全部(仅给开发用)
7. 分析结果由项目二组提供excel说明项目框架各部分范围(高嵩负责)
中间件要求
===
1. 数据库 Mysql 5.7
2. 缓存 Redis 7.0
3. 搜索引擎 EasticSearch 7.9
4. 文件上传 Minio 任意版本
5. 支持K8S部署 docker
6. 工作流 Activiti 6.0.0
jero-boot 低代码开发平台
===============
当前最新版本: 2.5.1(发布日期:20210126
## 后端技术架构
- 基础框架:Spring Boot 2.3.5.RELEASE
- 持久层框架:Mybatis-plus 3.4.1
- 安全框架:Apache Shiro 1.7.0Jwt 3.11.0
- 数据库连接池:阿里巴巴Druid 1.1.22
- 缓存框架:redis
- 日志打印:logback
- 其他:fastjsonpoiSwagger-uiquartz, lombok(简化代码)等。
## 开发环境
- 语言:Java 8
- IDE(JAVA)IDEA安装lombok插件
- 依赖管理:Maven
- 数据库:MySQL5.7+
- 缓存:Redis
## 数据库设计规范
- 数据库表名全部使用小写,多个单词之间使用 _ 隔开
- 字段内容全部使用小写,多个单词之间使用 _ 隔开,并且每个字段需要有注释
- 每个表中都需要有id,用varchar(36
- 新建的表中必须要有创建人(create_by)、创建时间(create_time)、更新人(update_by)、更新时间(update_time)、所属部门(sys_code)五个字段
- create_by 和 update_by 存用户账号
- id的增长规则设定保持统一,统一按照框架生成的内容形成
## 系统规范
- 日志记录
方法中使用`@AutoLog` 记录日志
- 异常处理
所有异常使用`JeroBootException`抛出
- 权限控制
需要进行数据权限控制
- 项目模块创建
后续创建模块在`jero-boot-modules.com.jero.modules.laws`
`jero-boot-modules.com.jero.modules.project`下创建
- 系统导入
系统导入使用注解`@ExcelImport`进行字段校验
- 系统常量定义在`com.jero.common.constant.CommonConstant`
## 专项文档
#### 一、查询过滤器用法
```
QueryWrapper<?> queryWrapper = QueryGenerator.initQueryWrapper(?, req.getParameterMap());
```
代码示例:
```
@GetMapping(value = "/list")
public Result<IPage<JeroDemo>> list(JeroDemo jeroDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<JeroDemo>> result = new Result<IPage<JeroDemo>>();
//调用QueryGenerator的initQueryWrapper
QueryWrapper<JeroDemo> queryWrapper = QueryGenerator.initQueryWrapper(jeroDemo, req.getParameterMap());
Page<JeroDemo> page = new Page<JeroDemo>(pageNo, pageSize);
IPage<JeroDemo> pageList = JeroDemoService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
return result;
}
```
- 查询规则 (本规则不适用于高级查询,高级查询有自己对应的查询类型可以选择 )
| 查询模式 | 用法 | 说明 |
|---------- |-------------------------------------------------------|------------------|
| 模糊查询 | 支持左右模糊和全模糊 需要在查询输入框内前或后带\*或是前后全部带\* | |
| 取非查询 | 在查询输入框前面输入! 则查询该字段不等于输入值的数据(数值类型不支持此种查询,可以将数值字段定义为字符串类型的) | |
| \> \>= < <= | 同取非查询 在输入框前面输入对应特殊字符即表示走对应规则查询 | |
| in查询 | 若传入的数据带,(逗号) 则表示该查询为in查询 | |
| 多选字段模糊查询 | 上述4 有一个特例,若某一查询字段前后都带逗号 则会将其视为走这种查询方式 ,该查询方式是将查询条件以逗号分割再遍历数组 将每个元素作like查询 用or拼接,例如 现在name传入值 ,a,b,c, 那么结果sql就是 name like '%a%' or name like '%b%' or name like '%c%' | |
#### 三、代码生成器
> 功能说明: 一键生成的代码(包括:controller、service、dao、mapper、entity、vue
- 模板位置: src/main/resources/jero/code-template
- 文件配置路径: jero-boot/jero-boot-single-startup/src/main/resources/jero/jero_config.properties