修改 日志部门列表查询借口
This commit is contained in:
parent
8f31993994
commit
b5edcd0197
@ -13,10 +13,16 @@ 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.dept.DeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
||||
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
||||
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;
|
||||
import cn.iocoder.yudao.module.system.service.worklog.LogUseService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@ -35,6 +41,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
|
||||
@ -53,6 +60,18 @@ public class LogInstanceController {
|
||||
@Resource
|
||||
private AdminUserService adminUserService;
|
||||
|
||||
@Resource
|
||||
private RoleService roleService;
|
||||
|
||||
@Resource
|
||||
private PermissionService permissionService;
|
||||
|
||||
@Resource
|
||||
private LogUseService logUseService;
|
||||
|
||||
@Resource
|
||||
private DeptService deptService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建日志实例")
|
||||
@PreAuthorize("@ss.hasPermission('system:log-instance:create')")
|
||||
@ -132,8 +151,19 @@ public class LogInstanceController {
|
||||
@PreAuthorize("@ss.hasPermission('system:view-log:query')")
|
||||
public CommonResult<List<DeptRespVO>> getReadDept() {
|
||||
|
||||
List<DeptRespVO> deptInfo = logInstanceService.getDeptInfo();
|
||||
return success(deptInfo);
|
||||
// 获得用户角色
|
||||
List<RoleDO> userRoles = roleService.getRoleListFromCache(permissionService.getUserRoleIdListByUserId(getLoginUserId()));
|
||||
List<String> codes = convertList(userRoles, RoleDO::getCode);
|
||||
if (codes.contains("super_admin")) {
|
||||
|
||||
List<Long> deptIds = logUseService.getUseDeptList();
|
||||
List<DeptDO> deptDOS = deptService.getDeptList(deptIds);
|
||||
|
||||
return success(BeanUtils.toBean(deptDOS, DeptRespVO.class));
|
||||
}else {
|
||||
List<DeptRespVO> deptInfo = logInstanceService.getDeptInfo();
|
||||
return success(deptInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/get-upLog")
|
||||
|
@ -12,10 +12,7 @@ import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.Lo
|
||||
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;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogInstanceDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogRuleDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogStatisticsDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.*;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogInstanceMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
|
||||
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
||||
@ -37,6 +34,7 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
@ -304,10 +302,16 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
@Override
|
||||
public List<DeptRespVO> getDeptInfo() {
|
||||
|
||||
List<LogInstanceDO> logInstanceDOS = logInstanceMapper.selectList();
|
||||
List<Long> deptIds = logInstanceDOS.stream()
|
||||
.map(LogInstanceDO::getDeptId) // 获取每个LogInstanceDO的 deptId
|
||||
.collect(Collectors.toList()); // 收集成List
|
||||
// 根据日志规则 获取当前登录用户可以查看日志的用户信息
|
||||
List<LogReadDo> logInstanceIds = logReadService.getReadListByReadUserId(getLoginUserId());
|
||||
List<Long> startUserIds = convertList(logInstanceIds, LogReadDo::getStartUserId);
|
||||
List<AdminUserDO> adminUserDOS = adminUserService.getUserList(startUserIds);
|
||||
|
||||
// 获得部门信息
|
||||
List<Long> deptIds = adminUserDOS.stream()
|
||||
.map(AdminUserDO::getDeptId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<DeptDO> deptDOS = deptService.getDeptList(deptIds);
|
||||
return BeanUtils.toBean(deptDOS, DeptRespVO.class);
|
||||
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.system.service.worklog;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogReadDo;
|
||||
import cn.iocoder.yudao.module.system.service.worklog.dto.LogReadUserRespDTO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -34,4 +35,11 @@ public interface LogReadService {
|
||||
* @param userId 查看者用户编号
|
||||
*/
|
||||
void updateReadStatus(Long logId, Long userId);
|
||||
|
||||
/**
|
||||
* 获取当前登录用户可查看的日志列表
|
||||
* @param userId 用户编号
|
||||
* @return 日志列表
|
||||
*/
|
||||
List<LogReadDo> getReadListByReadUserId(Long userId);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.service.worklog;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogReadDo;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogReadMapper;
|
||||
import cn.iocoder.yudao.module.system.service.worklog.dto.LogReadUserRespDTO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -64,4 +65,14 @@ public class LogReadServiceImpl implements LogReadService{
|
||||
|
||||
logReadMapper.updateReadStatus(logId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LogReadDo> getReadListByReadUserId(Long userId) {
|
||||
|
||||
QueryWrapper<LogReadDo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("DISTINCT start_user_id");
|
||||
queryWrapper.eq("read_user_id", userId);
|
||||
|
||||
return logReadMapper.selectList(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
@ -62,4 +62,9 @@ public interface LogUseService {
|
||||
* @param formId 模板编号
|
||||
*/
|
||||
void deletByFormId(Long formId);
|
||||
|
||||
/**
|
||||
* 获取需要填写日志的部门列表
|
||||
*/
|
||||
List<Long> getUseDeptList();
|
||||
}
|
@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogUseDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogUseMapper;
|
||||
import cn.iocoder.yudao.module.system.service.worklog.dto.LogUseSaveReqDTO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -93,4 +94,14 @@ public class LogUseServiceImpl implements LogUseService {
|
||||
|
||||
logUseMapper.delete(LogUseDO::getFormId, formId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> getUseDeptList() {
|
||||
|
||||
QueryWrapper<LogUseDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("DISTINCT use_user_dept");
|
||||
|
||||
List<LogUseDO> logUseDOS = logUseMapper.selectList(queryWrapper);
|
||||
return convertList(logUseDOS, LogUseDO::getUseUserDept);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user