diff --git a/doc/后端开发约定.md b/doc/后端开发约定.md new file mode 100644 index 00000000..7f9ac6f2 --- /dev/null +++ b/doc/后端开发约定.md @@ -0,0 +1,15 @@ +## 能力超市后端开发约定 + +### 关于数据库或orm + +- 数据库版本管理工具使用flyway,请将文件resource目录下对应位置;文件名称使用 R__XXX 或 Vn.n__XXX ,R开头文件表明该文件为可重复执行sql,当文件内容更改时,该sql文件会在启动时再次执行一次,即该文件无版本执行限制,常用于数据初始化或数据迁移;V开头的文件为版本约束文件,常用于数据库表DDL操作,使用场景一般为创表、加字段、加索引等ddl操作,文件一旦被执行过,不会再次重复执行; +- 使用flyway管理的ddl语句,对表的操作语句不要指定Schema(Database),防止在不同地区部署的数据库名称不一致导致执行异常; +- 使用flyway管理的ddl语句,增加表的字段时不要指定新增字段位于已有字段后;防止表内不存在指定表字段导致ddl失败; + +### 关于编码风格checkstyle + +- 使用idea的同事可以安装checkstyle插件,对更改的文件内容进行代码格式化; + +### 关于性能 + +- 减少使用递归的使用 \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java b/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java index 9ecb2558..d52cd427 100644 --- a/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java +++ b/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java @@ -132,8 +132,10 @@ public class ResourceController { PageData page = resourceService.page(params); page.getList().forEach(item -> { item.setInfoList(resourceService.selectAttrsByResourceId(item.getId())); - String deptName = sysDeptService.get(item.getDeptId()).getName(); - item.setDeptName(StringUtils.isNotBlank(deptName) ? deptName : "--"); + if (item.getDeptId() != null) { + String deptName = sysDeptService.get(item.getDeptId()).getName(); + item.setDeptName(StringUtils.isNotBlank(deptName) ? deptName : "--"); + } }); return new Result>().ok(page); } @@ -561,7 +563,7 @@ public class ResourceController { @GetMapping("/list") @ApiOperation("能力查询") @LogOperation("能力查询") - public Result list(@ApiIgnore @RequestParam Map params){ + public Result list(@ApiIgnore @RequestParam Map params) { return new Result<>().ok(resourceService.list(params)); }