Merge branch 'dev' of http://47.97.8.94:19527/yj/zn-cloud into dev
This commit is contained in:
commit
3d2d5df62c
@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.Lo
|
||||
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.convert.worklog.LogInstanceConvert;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
||||
import cn.iocoder.yudao.module.system.service.worklog.LogInstanceService;
|
||||
import cn.iocoder.yudao.module.system.service.worklog.LogReadService;
|
||||
@ -84,7 +85,16 @@ public class LogInstanceController {
|
||||
//查看日志详情时,变更当前用户日志的阅读状态
|
||||
logReadService.updateReadStatus(id, getLoginUserId());
|
||||
|
||||
//获取日志详情
|
||||
LogInstanceRespVO logInstance = logInstanceService.getLogInstance(id);
|
||||
|
||||
//用户日志发起人详情
|
||||
AdminUserDO userDO = adminUserService.getUser(logInstance.getStartUserId());
|
||||
//设置日志发起人名称
|
||||
logInstance.setStartUserName(userDO.getNickname());
|
||||
//设置日志发起人头像
|
||||
logInstance.setAvatar(userDO.getAvatar());
|
||||
|
||||
return success(logInstance);
|
||||
}
|
||||
|
||||
@ -145,9 +155,12 @@ public class LogInstanceController {
|
||||
|
||||
List<Map<String, Object>> readUserVO = new ArrayList<>();
|
||||
|
||||
//获取可查看者用户列表
|
||||
Map<Integer, List<Long>> usrMap = logReadService.getUserId(logId);
|
||||
|
||||
//获取未读用户详情
|
||||
List<UserRespVO> unReadUserInfo = BeanUtils.toBean(adminUserService.getUserList(usrMap.get(0)), UserRespVO.class);
|
||||
//获取已读用户详情
|
||||
List<UserRespVO> readUserInfo = BeanUtils.toBean(adminUserService.getUserList(usrMap.get(1)), UserRespVO.class);
|
||||
|
||||
Map<String, Object> unReadMap = new HashMap<>();
|
||||
|
@ -23,12 +23,6 @@ public class LogInstancePageReqVO extends PageParam {
|
||||
@Schema(description = "日志发起人的部门编号", example = "24292")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description = "日志发起人的用户名称", example = "张三")
|
||||
private String startUserName;
|
||||
|
||||
@Schema(description = "日志发起人的用户头像", example = "https://www.iocoder.cn/xxx.png")
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "日志实例的名字", example = "张三的XX日报")
|
||||
private String name;
|
||||
|
||||
|
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
@ -41,15 +40,6 @@ public class LogInstanceDO extends BaseDO {
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 日志发起人的用户名称
|
||||
*/
|
||||
private String startUserName;
|
||||
|
||||
/**
|
||||
* 用户头像
|
||||
*/
|
||||
private String avatar;
|
||||
/**
|
||||
* 日志名称
|
||||
*/
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.system.dal.mysql.worklog;
|
||||
|
||||
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO;
|
||||
@ -39,12 +40,10 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
||||
}
|
||||
|
||||
IPage<LogInstanceRespVO> selectPageResult(@Param("page") Page<LogInstanceRespVO> page, @Param("reqVO") LogInstancePageReqVO reqVO,
|
||||
@Param("userId") Long userId, @Param("pagingType") Integer pagingType, @Param("logId") Long logId);
|
||||
@Param("userId") Long userId, @Param("pagingType") Integer pagingType);
|
||||
|
||||
LogInstanceRespVO selectPageResult(@Param("reqVO") LogInstancePageReqVO reqVO, @Param("userId") Long userId,
|
||||
@Param("pagingType") Integer pagingType, @Param("logId") Long logId);
|
||||
|
||||
List<LogReadUserRespDTO> selectRaedUser(Long deptId);
|
||||
@DataPermission(enable = false)
|
||||
List<LogReadUserRespDTO> selectRaedUser(@Param("userId")Long userId, @Param("deptId")Long deptId);
|
||||
|
||||
/**
|
||||
* 获取上一篇下一篇
|
||||
|
@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.Lo
|
||||
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;
|
||||
import cn.iocoder.yudao.module.system.convert.worklog.LogInstanceConvert;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO;
|
||||
@ -100,10 +101,6 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
logInstance.setStartUserId(userId);
|
||||
//设置发起人部门编号
|
||||
logInstance.setDeptId(adminUserDO.getDeptId());
|
||||
//设置发起人用户名称
|
||||
logInstance.setStartUserName(adminUserDO.getNickname());
|
||||
//设置发起人用户头像
|
||||
logInstance.setAvatar(adminUserDO.getAvatar());
|
||||
//设置日志类型
|
||||
logInstance.setType(logRuleDO.getType());
|
||||
//设置日志名称
|
||||
@ -136,7 +133,17 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
//创建日志时,查询可以查看发起人日志的用户组 用线程控制
|
||||
new Thread(() -> {
|
||||
|
||||
List<LogReadUserRespDTO> respDTOS = logInstanceMapper.selectRaedUser(adminUserDO.getDeptId());
|
||||
List<LogReadUserRespDTO> respDTOS = logInstanceMapper.selectRaedUser(userId, adminUserDO.getDeptId());
|
||||
|
||||
//特殊情况, 日志发起人为研发部时 手动添加查看者
|
||||
if (adminUserDO.getDeptId() == 128L && adminUserDO.getId() != 126L) {
|
||||
|
||||
LogReadUserRespDTO dto = new LogReadUserRespDTO();
|
||||
dto.setUserId(126L);
|
||||
dto.setDeptId(128L);
|
||||
respDTOS.add(dto);
|
||||
}
|
||||
|
||||
logReadService.createLogRule(respDTOS, logInstance.getId(), logInstance.getStartUserId());
|
||||
}).start();
|
||||
|
||||
@ -214,17 +221,18 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
public LogInstanceRespVO getLogInstance(Long id) {
|
||||
|
||||
//获取日志详情
|
||||
LogInstanceRespVO logInstanceRespVO = logInstanceMapper.selectPageResult(new LogInstancePageReqVO(), getLoginUserId(), null, id);
|
||||
LogInstanceDO logInstanceDO = logInstanceMapper.selectById(id);
|
||||
// LogInstanceRespVO logInstanceRespVO = logInstanceMapper.selectPageResult(new LogInstancePageReqVO(), getLoginUserId(), null, id);
|
||||
|
||||
//设置日志详情 模板内容和时间
|
||||
return setContentFun(logInstanceRespVO);
|
||||
return setContentFun(LogInstanceConvert.INSTANCE.convert(logInstanceDO));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<LogInstanceRespVO> getLogInstancePage(LogInstancePageReqVO pageReqVO, Integer pagingType) {
|
||||
|
||||
Page<LogInstanceRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||
IPage<LogInstanceRespVO> pageList = logInstanceMapper.selectPageResult(page, pageReqVO, getLoginUserId(), pagingType, null);
|
||||
IPage<LogInstanceRespVO> pageList = logInstanceMapper.selectPageResult(page, pageReqVO, getLoginUserId(), pagingType);
|
||||
|
||||
List<LogInstanceRespVO> records = pageList.getRecords();
|
||||
if (!records.isEmpty()) {
|
||||
|
@ -35,10 +35,9 @@ public class LogReadServiceImpl implements LogReadService{
|
||||
logReadDo.setLogInstanceId(logInstanceId);
|
||||
logReadDo.setStartUserId(startUserId);
|
||||
logReadDo.setReadUserDept(user.getDeptId());
|
||||
if (!user.getUserId().toString().equals(startUserId.toString())) {
|
||||
logReadDo.setReadUserId(user.getUserId());
|
||||
}
|
||||
logReadDo.setReadUserId(user.getUserId());
|
||||
logReadDo.setReadStatus(0);
|
||||
logReadDo.setCreator(String.valueOf(startUserId));
|
||||
return logReadDo;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
@ -76,11 +76,12 @@
|
||||
AND read_user.data_scope != 5
|
||||
) result
|
||||
WHERE
|
||||
1= 1
|
||||
and ( LOCATE(#{deptId},result.ids) and result.data_scope = 4 )
|
||||
result.user_id != #{userId}
|
||||
and
|
||||
( ( LOCATE(#{deptId},result.ids) and result.data_scope = 4 )
|
||||
or ( LOCATE(#{deptId},result.ids) and result.data_scope = 2 )
|
||||
or ( result.dept_id = #{deptId} and result.data_scope = 3 )
|
||||
or result.data_scope = 1
|
||||
or result.data_scope = 1 )
|
||||
</select>
|
||||
|
||||
<select id="selectPageResult" resultType="cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO">
|
||||
@ -97,9 +98,6 @@
|
||||
LEFT JOIN (SELECT log_instance_id, COUNT(log_instance_id) AS unReadCount FROM work_log_read where read_status = 0 GROUP BY log_instance_id ) AS d ON a.id = d.log_instance_id
|
||||
LEFT JOIN (SELECT work_log_id, COUNT(work_log_id) AS comment FROM work_log_comment GROUP BY work_log_id) AS b ON a.id = b.work_log_id
|
||||
<where>
|
||||
<if test="logId != null">
|
||||
and a.id = #{logId}
|
||||
</if>
|
||||
<if test="reqVO.type != null">
|
||||
and a.type = #{reqVO.type}
|
||||
</if>
|
||||
|
Loading…
Reference in New Issue
Block a user