diff --git a/README.md b/README.md index 75e2c5f0..8b362a7f 100644 --- a/README.md +++ b/README.md @@ -1,92 +1,132 @@ -# laws_sinotruk_server +框架继承注意要点 +=== +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.0,Jwt 3.11.0 + +- 数据库连接池:阿里巴巴Druid 1.1.22 + +- 缓存框架:redis + +- 日志打印:logback + +- 其他:fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。 -## Getting started +## 开发环境 -To make it easy for you to get started with GitLab, here's a list of recommended next steps. +- 语言:Java 8 -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! +- IDE(JAVA):IDEA安装lombok插件 -## Add your files +- 依赖管理:Maven -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: +- 数据库: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`下 + +## 专项文档 + +#### 一、查询过滤器用法 ``` -cd existing_repo -git remote add origin http://10.10.10.43:9090/laws-sinotruk/laws_sinotruk_server.git -git branch -M master -git push -uf origin master +QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(?, req.getParameterMap()); ``` -## Integrate with your tools +代码示例: -- [ ] [Set up project integrations](http://10.10.10.43:9090/laws-sinotruk/laws_sinotruk_server/-/settings/integrations) +``` -## Collaborate with your team + @GetMapping(value = "/list") + public Result> list(JeroDemo jeroDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Result> result = new Result>(); + + //调用QueryGenerator的initQueryWrapper + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(jeroDemo, req.getParameterMap()); + + Page page = new Page(pageNo, pageSize); + IPage pageList = JeroDemoService.page(page, queryWrapper); + result.setSuccess(true); + result.setResult(pageList); + return result; + } -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) +``` -## Test and Deploy -Use the built-in continuous integration in GitLab. -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) +- 查询规则 (本规则不适用于高级查询,高级查询有自己对应的查询类型可以选择 ) -*** +| 查询模式 | 用法 | 说明 | +|---------- |-------------------------------------------------------|------------------| +| 模糊查询 | 支持左右模糊和全模糊 需要在查询输入框内前或后带\*或是前后全部带\* | | +| 取非查询 | 在查询输入框前面输入! 则查询该字段不等于输入值的数据(数值类型不支持此种查询,可以将数值字段定义为字符串类型的) | | +| \> \>= < <= | 同取非查询 在输入框前面输入对应特殊字符即表示走对应规则查询 | | +| in查询 | 若传入的数据带,(逗号) 则表示该查询为in查询 | | +| 多选字段模糊查询 | 上述4 有一个特例,若某一查询字段前后都带逗号 则会将其视为走这种查询方式 ,该查询方式是将查询条件以逗号分割再遍历数组 将每个元素作like查询 用or拼接,例如 现在name传入值 ,a,b,c, 那么结果sql就是 name like '%a%' or name like '%b%' or name like '%c%' | | -# Editing this README -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. +#### 三、代码生成器 -## Suggestions for a good README -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. +> 功能说明: 一键生成的代码(包括: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 -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.