From 79ea91641fd5fd4c49fb21a90eb193a155f92d5a Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Sun, 13 Oct 2024 21:29:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E5=8F=B8=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=E5=92=8C=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 DeptApi 中添加 getCompanyDept 接口,用于获取部门类型为公司的部门信息 - 在 DeptRespDTO、DeptDO、DeptListReqVO、DeptRespVO、DeptSaveReqVO 和 DeptSimpleRespVO 中添加 shortName 字段,用于存储部门简称 - 修改 LogInstanceMapper 中的 SQL 查询,移除不必要的左连接条件 - 在 LogReadDo 中删除 deleted 字段,简化数据结构 --- .../cn/iocoder/yudao/module/system/api/dept/DeptApi.java | 4 ++++ .../yudao/module/system/api/dept/dto/DeptRespDTO.java | 3 +++ .../yudao/module/system/api/dept/DeptApiImpl.java | 7 +++++++ .../controller/admin/dept/vo/dept/DeptListReqVO.java | 3 +++ .../system/controller/admin/dept/vo/dept/DeptRespVO.java | 3 +++ .../controller/admin/dept/vo/dept/DeptSaveReqVO.java | 3 +++ .../controller/admin/dept/vo/dept/DeptSimpleRespVO.java | 3 +++ .../yudao/module/system/dal/dataobject/dept/DeptDO.java | 4 ++++ .../module/system/dal/dataobject/worklog/LogReadDo.java | 5 ----- .../system/dal/mysql/worklog/LogInstanceMapper.java | 9 +++++---- 10 files changed, 35 insertions(+), 9 deletions(-) diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java index 602f2a69..5d78e764 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java @@ -91,4 +91,8 @@ public interface DeptApi { @PostMapping(PREFIX + "/getDeptListByFactoryIds") @Operation(summary = "根据工厂ids获取部门ids") CommonResult> getDeptListByFactoryIds(@RequestBody List factoryIds); + + @GetMapping("/getCompanyDept") + @Operation(summary = "获取部门类型为公司的部门信息") + CommonResult> getCompanyDept(); } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.java index 93db4209..6efff426 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.java @@ -13,6 +13,9 @@ public class DeptRespDTO { @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") private String name; + @Schema(description = "部门简称", example = "芋道") + private String shortName; + @Schema(description = "父部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long parentId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java index 9ecd4202..24a64626 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java @@ -127,4 +127,11 @@ public class DeptApiImpl implements DeptApi { Map map = deptDOS.stream().collect(Collectors.toMap(DeptDO::getFactoryId, DeptDO::getId)); return success(map); } + + @Override + @DataPermission(enable = false) + public CommonResult> getCompanyDept() { + List deptDOS = deptService.getCompanyDept(); + return success(BeanUtils.toBean(deptDOS, DeptRespDTO.class)); + } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java index 27af2e9f..e8496de4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.java @@ -10,6 +10,9 @@ public class DeptListReqVO { @Schema(description = "部门名称,模糊匹配", example = "芋道") private String name; + @Schema(description = "部门简称", example = "芋道") + private String shortName; + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") private Integer status; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java index ab2e19e9..9b276890 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java @@ -15,6 +15,9 @@ public class DeptRespVO { @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") private String name; + @Schema(description = "部门简称", example = "芋道") + private String shortName; + @Schema(description = "父部门 ID", example = "1024") private Long parentId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.java index fbe84023..d3128323 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.java @@ -22,6 +22,9 @@ public class DeptSaveReqVO { @Size(max = 30, message = "部门名称长度不能超过 30 个字符") private String name; + @Schema(description = "部门简称", example = "芋道") + private String shortName; + @Schema(description = "父部门 ID", example = "1024") private Long parentId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java index feab10fd..d66af8aa 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java @@ -17,6 +17,9 @@ public class DeptSimpleRespVO { @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") private String name; + @Schema(description = "部门简称", example = "芋道") + private String shortName; + @Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long parentId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.java index 3ad1ce63..46b1d0a7 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.java @@ -32,6 +32,10 @@ public class DeptDO extends TenantBaseDO { * 部门名称 */ private String name; + /** + * 简称 + */ + private String shortName; /** * 父部门ID * 关联 {@link #id} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/worklog/LogReadDo.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/worklog/LogReadDo.java index 61a916ea..5b6321cf 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/worklog/LogReadDo.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/worklog/LogReadDo.java @@ -51,9 +51,4 @@ public class LogReadDo extends BaseDO { * 1:已读 */ private Integer readStatus; - - /** - * 是否删除 - */ - private Boolean deleted; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java index 137bef3c..d7bba160 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogInstanceMapper.java @@ -62,10 +62,11 @@ public interface LogInstanceMapper extends BaseMapperX { queryWrapper.innerJoin(UserPostDO.class, "userPost", UserPostDO::getUserId, LogInstanceDO::getStartUserId); queryWrapper.innerJoin(DeptDO.class, "dept", DeptDO::getId, LogInstanceDO::getDeptId); queryWrapper.innerJoin(PostDO.class, "post", PostDO::getId, UserPostDO::getPostId); - queryWrapper.leftJoin(LogReadDo.class, "e", on -> on - .eq(LogReadDo::getLogInstanceId, LogInstanceDO::getId) - .eq(LogReadDo::getReadUserId, userId) - .eq(LogReadDo::getDeleted, 0)); +// queryWrapper.leftJoin(LogReadDo.class, "e", on -> on +// .eq(LogReadDo::getLogInstanceId, LogInstanceDO::getId) +// .eq(LogReadDo::getReadUserId, userId) +// .eq(LogReadDo::getDeleted, 0)); + queryWrapper.leftJoin("work_log_read e on e.log_instance_id = t.id and e.deleted = 0 and e.read_user_id = " + userId); queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS readCount FROM work_log_read where read_status = 1 and deleted = 0 GROUP BY log_instance_id) c on t.id = c.log_instance_id"); queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS unReadCount FROM work_log_read where read_status = 0 and deleted = 0 GROUP BY log_instance_id) AS d ON t.id = d.log_instance_id"); queryWrapper.leftJoin("(SELECT work_log_id, COUNT(work_log_id) AS comment FROM work_log_comment GROUP BY work_log_id) AS b ON t.id = b.work_log_id");