调整统计页面问题/新增查询上一篇下一篇日志

This commit is contained in:
aikai 2024-04-16 16:39:45 +08:00
parent 5a1334b165
commit a1ff6a8378
7 changed files with 72 additions and 14 deletions

View File

@ -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.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.dept.vo.dept.DeptRespVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO; 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.LogInstancePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO;
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; 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 = "获取上一篇下一篇日志") @Operation(summary = "获取上一篇下一篇日志")
public CommonResult<Long> getNextOrUp(@Parameter(description = "当前id") @RequestParam("id") Long id, public CommonResult<LogInstanceNextOrUpVO> getNextOrUp(@RequestBody LogInstancePageReqVO dto,
@Parameter(description = "类型 0上一篇 1下一篇") @RequestParam("type") Integer type) { @Parameter(description = "当前id") @RequestParam("id") Long id,
Long lastId = logInstanceService.getNextOrUp(id, type); @Parameter(description = "日志tab 0我收到的 1我发出的") @RequestParam("pagingType") Integer pagingType) {
return success(lastId); LogInstanceNextOrUpVO vo = logInstanceService.getNextOrUp(dto, id, pagingType);
return success(vo);
} }
@GetMapping("/page") @GetMapping("/page")

View File

@ -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;
}

View File

@ -49,10 +49,11 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
/** /**
* 获取上一篇下一篇 * 获取上一篇下一篇
* *
* @param dto
* @param id * @param id
* @param userId * @param userId
* @param type * @param type
* @return * @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);
} }

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.system.service.worklog; 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.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.LogInstancePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO;
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; 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 com.baomidou.mybatisplus.core.metadata.IPage;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -75,6 +75,7 @@ public interface LogInstanceService {
/** /**
* 获取用户发送的上一篇日志详情 * 获取用户发送的上一篇日志详情
*
* @param formId 日志模板编号 * @param formId 日志模板编号
* @return 日志详情 * @return 日志详情
*/ */
@ -87,9 +88,11 @@ public interface LogInstanceService {
/** /**
* 获取上一篇 下一篇 * 获取上一篇 下一篇
*
* @param dto
* @param id * @param id
* @param type * @param pagingType
* @return * @return
*/ */
Long getNextOrUp(Long id, Integer type); LogInstanceNextOrUpVO getNextOrUp(LogInstancePageReqVO dto, Long id, Integer pagingType);
} }

View File

@ -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.date.DateUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 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.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.LogInstancePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO;
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceSaveReqVO;
@ -337,9 +338,14 @@ public class LogInstanceServiceImpl implements LogInstanceService {
} }
@Override @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;
} }

View File

@ -130,10 +130,11 @@
GROUP BY a.id, readStatus, readCount, unReadCount, comment GROUP BY a.id, readStatus, readCount, unReadCount, comment
ORDER BY a.create_time DESC ORDER BY a.create_time DESC
</select> </select>
<select id="getNextOrUp"
<select id="getNextOrUp" resultType="java.lang.Long"> resultType="cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO">
SELECT SELECT
a.id a.id,
a.name
FROM FROM
work_log_instance_ext AS a work_log_instance_ext AS a
LEFT JOIN work_log_read AS e ON a.id = e.log_instance_id LEFT JOIN work_log_read AS e ON a.id = e.log_instance_id
@ -146,7 +147,34 @@
<if test="type == 1"> <if test="type == 1">
and a.id &gt; #{id} and a.id &gt; #{id}
</if> </if>
<if test="reqVO.type != null">
and a.type = #{reqVO.type}
</if>
<if test="reqVO.deptId != null">
and a.dept_id = #{reqVO.deptId}
</if>
<if test="reqVO.startUserId != null">
and a.start_user_id = #{reqVO.startUserId}
</if>
<if test="reqVO.createTime != null and reqVO.createTime.length > 0">
<if test="reqVO.createTime[0] != null">
and a.create_time &gt;= #{reqVO.createTime[0]}
</if>
<if test="reqVO.createTime[1] != null">
and a.create_time &lt;= #{reqVO.createTime[1]}
</if>
</if>
<if test="reqVO.unRead != null">
and e.read_status = 0
</if>
<if test="pagingType == 0">
and a.start_user_id != #{userId}
</if>
<if test="pagingType == 1">
and a.start_user_id = #{userId}
</if>
</where> </where>
ORDER BY a.create_time DESC
limit 1 limit 1
</select> </select>
</mapper> </mapper>

View File

@ -80,6 +80,9 @@
</if>) AS d ON d.start_user_id = b.use_user_id </if>) AS d ON d.start_user_id = b.use_user_id
<where> <where>
b.deleted = 0 b.deleted = 0
<if test="formId != null">
AND b.form_id = #{formId}
</if>
</where> </where>
</select> </select>
<select id="getMyCurrentStatistics" <select id="getMyCurrentStatistics"