From a1ff6a83787b094b4e33134126fa9c6b656fe99a Mon Sep 17 00:00:00 2001 From: aikai Date: Tue, 16 Apr 2024 16:39:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=BB=9F=E8=AE=A1=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=97=AE=E9=A2=98/=E6=96=B0=E5=A2=9E=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=B8=8A=E4=B8=80=E7=AF=87=E4=B8=8B=E4=B8=80=E7=AF=87?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/worklog/LogInstanceController.java | 12 ++++--- .../vo/loginstance/LogInstanceNextOrUpVO.java | 15 ++++++++ .../dal/mysql/worklog/LogInstanceMapper.java | 3 +- .../service/worklog/LogInstanceService.java | 9 +++-- .../worklog/LogInstanceServiceImpl.java | 10 ++++-- .../mapper/worklog/LogInstanceMapper.xml | 34 +++++++++++++++++-- .../mapper/worklog/LogStatisticsMapper.xml | 3 ++ 7 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstanceNextOrUpVO.java diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java index d1a7794e..c69915ac 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/LogInstanceController.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceNextOrUpVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; @@ -88,12 +89,13 @@ public class LogInstanceController { } - @GetMapping("/getNextOrUp") + @PostMapping("/getNextOrUp") @Operation(summary = "获取上一篇下一篇日志") - public CommonResult getNextOrUp(@Parameter(description = "当前id") @RequestParam("id") Long id, - @Parameter(description = "类型 0上一篇 1下一篇") @RequestParam("type") Integer type) { - Long lastId = logInstanceService.getNextOrUp(id, type); - return success(lastId); + public CommonResult getNextOrUp(@RequestBody LogInstancePageReqVO dto, + @Parameter(description = "当前id") @RequestParam("id") Long id, + @Parameter(description = "日志tab 0我收到的 1我发出的") @RequestParam("pagingType") Integer pagingType) { + LogInstanceNextOrUpVO vo = logInstanceService.getNextOrUp(dto, id, pagingType); + return success(vo); } @GetMapping("/page") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstanceNextOrUpVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstanceNextOrUpVO.java new file mode 100644 index 00000000..4abc34b0 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/loginstance/LogInstanceNextOrUpVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class LogInstanceNextOrUpVO { + + @Schema(description = "上一篇") + private LogInstanceRespVO upLogInstance; + + @Schema(description = "下一篇") + private LogInstanceRespVO nextLogInstance; + +} \ No newline at end of file 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 a83fc95d..cd3dec6e 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 @@ -49,10 +49,11 @@ public interface LogInstanceMapper extends BaseMapperX { /** * 获取上一篇下一篇 * + * @param dto * @param id * @param userId * @param type * @return */ - Long getNextOrUp(@Param("id") Long id, @Param("userId") Long userId, @Param("type") Integer type); + LogInstanceRespVO getNextOrUp(@Param("reqVO") LogInstancePageReqVO dto, @Param("id") Long id, @Param("userId") Long userId, @Param("type") Integer type, @Param("pagingType") Integer pagingType); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java index 0cc7d83f..4edccd6f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.service.worklog; import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceNextOrUpVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; @@ -8,7 +9,6 @@ import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogInstanceDO; import com.baomidou.mybatisplus.core.metadata.IPage; import javax.validation.Valid; -import java.util.Date; import java.util.List; /** @@ -75,6 +75,7 @@ public interface LogInstanceService { /** * 获取用户发送的上一篇日志详情 + * * @param formId 日志模板编号 * @return 日志详情 */ @@ -87,9 +88,11 @@ public interface LogInstanceService { /** * 获取上一篇 下一篇 + * + * @param dto * @param id - * @param type + * @param pagingType * @return */ - Long getNextOrUp(Long id, Integer type); + LogInstanceNextOrUpVO getNextOrUp(LogInstancePageReqVO dto, Long id, Integer pagingType); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java index a6e1f742..9c6b7904 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogInstanceServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.json.JSONObject; import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceNextOrUpVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; @@ -337,9 +338,14 @@ public class LogInstanceServiceImpl implements LogInstanceService { } @Override - public Long getNextOrUp(Long id, Integer type) { + public LogInstanceNextOrUpVO getNextOrUp(LogInstancePageReqVO dto, Long id, Integer pagingType) { + LogInstanceNextOrUpVO vo = new LogInstanceNextOrUpVO(); + LogInstanceRespVO upLogInstance = logInstanceMapper.getNextOrUp(dto, id, getLoginUserId(), 1, pagingType); + LogInstanceRespVO nextLogInstance = logInstanceMapper.getNextOrUp(dto, id, getLoginUserId(), 0, pagingType); + vo.setUpLogInstance(upLogInstance); + vo.setNextLogInstance(nextLogInstance); //获取日志详情 - return logInstanceMapper.getNextOrUp(id, getLoginUserId(), type); + return vo; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml index f8676693..7fb05c16 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogInstanceMapper.xml @@ -130,10 +130,11 @@ GROUP BY a.id, readStatus, readCount, unReadCount, comment ORDER BY a.create_time DESC - - SELECT - a.id + a.id, + a.name FROM work_log_instance_ext AS a LEFT JOIN work_log_read AS e ON a.id = e.log_instance_id @@ -146,7 +147,34 @@ and a.id > #{id} + + and a.type = #{reqVO.type} + + + and a.dept_id = #{reqVO.deptId} + + + and a.start_user_id = #{reqVO.startUserId} + + + + and a.create_time >= #{reqVO.createTime[0]} + + + and a.create_time <= #{reqVO.createTime[1]} + + + + and e.read_status = 0 + + + and a.start_user_id != #{userId} + + + and a.start_user_id = #{userId} + + ORDER BY a.create_time DESC limit 1 \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogStatisticsMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogStatisticsMapper.xml index 7840c719..8044f26a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogStatisticsMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/LogStatisticsMapper.xml @@ -80,6 +80,9 @@ ) AS d ON d.start_user_id = b.use_user_id b.deleted = 0 + + AND b.form_id = #{formId} +