目录
1、业务场景
(1)、数据库已有四张表;
(2)、四张表:
patrol_scheme_info:主表,存储方案基本信息;
patrol_scheme_worker_info:主表关联表1,存储方案相关人员信息;
patrol_scheme_area_info:主表关联表2,存储方案相关区域信息;
patrol_scheme_area_point_info:关联表2的子表,存储区域内具体点位信息;
(3)、四张表通过各自的主键关联;
(4)、需要实现:
前端:点击复制按钮后,得到主表1对应数据的副本,需要更改名称(原名称+副本+创建时间);
后端:新的副本数据需要包含四个表的所有相关数据,然后对必要信息进行修改,其他不变。
2、开发环境和工具
因为该业务功能是在我实习公司已有项目下的拓展,所以环境依赖较多,我将重点阐述代码逻辑,开发环境和工具只会简单带过;
(1)、IDE:IntelliJ IDEA 2022.1
(2)、数据库:Navicat 16 for MySQL
(3)、测试:Postman
(4)、JDK:jdk-11.0.15
(5)、Spring Boot Version:2.2.5.RELEASE
(6)、modelVersion:4.0.0
(7)、pomVersion:0.0.1-SNAPSHOT
(8)、数据库表设计:
patrol_scheme_info | |||||||
字段名 | 类型 | 长度 | 小数点 | 不是null | 虚拟 | 主键 | 注释 |
id | int | 11 | √ | 1 | 主键id | ||
company_id | int | 11 | √ | 公司id | |||
scheme_name | varchar | 250 | √ | 方案名称 | |||
deleted | tinyint | 1 | √ | 0:未删除,1:已删除 | |||
create_date | timestamp | √ | 创建时间 | ||||
update_date | datetime |