# coder4j **Repository Path**: jj_3/coder4j ## Basic Information - **Project Name**: coder4j - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-10-17 - **Last Updated**: 2024-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 ## 前端 inetvine-web > vue3、ant-design-vue、vite ### 启动 ``` npm install npm run dev ``` ### 打包 ``` npm run build ``` ## 后端 inetvine-web-app > jdk1.8/11、maven、redis、mysql ### 代码结构 ### 统一应答 > Controller 中返回的数据统一使用 R,内置错误应答可以根据需要自行添加 ### 鉴权 > 主线程上调用 AuthUtil类,用于获取当前登录用户信息 ### 日志记录 > 接口请求日志、异常日志会自动记录 > 操作日志,可以在 Controller 中的方法上添加 @OperationLog 注解实现自动记录日志 > 业务日志,可以在任意线程上调用 LogUtil 快速记录日志 ### 表设计注意事项 #### 必选字段 > 框架包含操作日志记录、需要统一处理操作人信息,因此对数据表字段有特殊要求 > 创建数据表时,以下7个字段必须有 ```mysql `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', `create_time` datetime COMMENT '创建时间', `create_id` bigint COMMENT '创建人ID', `create_name` varchar(200) COMMENT '创建人名称', `update_time` datetime COMMENT '修改时间', `update_id` bigint COMMENT '修改人ID', `update_name` varchar(200) COMMENT '修改人名称', ``` #### 建议(可选) - 要作为查询条件的字段,需要设计为索引字段,在代码生成时,会读取索引字段,有索引字段后,代码生成时会进行如下操作: - 在 Query 对象中添加查询字段 - 在 Mapper 中创建默认查询条件,并自动运用到 列表查询、分页查询等场景 - 必填的字段,需要在表设计时设计为必填,在代码生成时,会在 Controller 中保存数据时,为必填字段生成非空判断逻辑 ### 后端代码生成 > 参见 test 中的 GeneratorTest示例 ```java public void createAllWithBaseEntity(){ //模版路径 String templatePath = "D:\\Projects\\wangteng\\snowy\\inetvine-web-app\\src\\main\\resources\\template"; //Java代码路径 String javaPath = "D:\\Projects\\wangteng\\snowy\\inetvine-web-app\\src\\main\\java\\com\\inetvine\\videoai\\module\\biz"; //作者名 String author = "keller"; TableParams tableParams = new TableParams(templatePath,javaPath,null,author); tableParams.initTables( //格式为 表名:类名前缀; 也可以只写表名,如 "tbl_camera" ,会生成默认的类名前缀 TblCamera "tbl_camera:Camera" // "tbl_algorithm:Algorithm", // "tbl_task:Task", // "tbl_task_algorithm:TaskAlgorithm", // "tbl_task_camera:TaskCamera", // "tbl_alarm_log:AlarmLog" ); service.createJavaAndVue(tableParams); } ``` 生成的代码示例: ### 通用 Mapper > Mapper 继承 BaseMapper ,即可使用通用Mapper中提供的各种方法 ### 通用 Service > Service 继承 BaseServiceImpl ,即可使用通用Service中提供的各种方法