|
|
@@ -1,17 +1,23 @@
|
|
|
package cn.iocoder.yudao.module.system.controller.admin.logger;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.logger.vo.loginlog.LoginLogRespVO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.logger.LoginLogDO;
|
|
|
import cn.iocoder.yudao.module.system.service.logger.LoginLogService;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
@@ -23,6 +29,8 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
@@ -35,13 +43,34 @@ public class LoginLogController {
|
|
|
|
|
|
@Resource
|
|
|
private LoginLogService loginLogService;
|
|
|
+ @Autowired
|
|
|
+ private AdminUserApi adminUserApi;
|
|
|
+ @Autowired
|
|
|
+ private DeptApi deptApi;
|
|
|
|
|
|
@GetMapping("/page")
|
|
|
@Operation(summary = "获得登录日志分页列表")
|
|
|
@PreAuthorize("@ss.hasPermission('system:login-log:query')")
|
|
|
public CommonResult<PageResult<LoginLogRespVO>> getLoginLogPage(@Valid LoginLogPageReqVO pageReqVO) {
|
|
|
PageResult<LoginLogDO> pageResult = loginLogService.getLoginLogPage(pageReqVO);
|
|
|
- return success(BeanUtils.toBean(pageResult, LoginLogRespVO.class));
|
|
|
+ List<LoginLogRespVO> collect = pageResult.getList().stream().map(e -> {
|
|
|
+ LoginLogRespVO loginLogRespVO = new LoginLogRespVO();
|
|
|
+ BeanUtils.copyProperties(e, loginLogRespVO);
|
|
|
+ if (Objects.nonNull(loginLogRespVO.getUsername())) {
|
|
|
+ List<AdminUserRespDTO> users = adminUserApi.getUserListByUsername(loginLogRespVO.getUsername());
|
|
|
+ if (CollUtil.isNotEmpty(users)) {
|
|
|
+ loginLogRespVO.setNickname(users.get(0).getNickname());
|
|
|
+ if (Objects.nonNull(users.get(0).getDeptId())) {
|
|
|
+ DeptRespDTO dept = deptApi.getDept(users.get(0).getDeptId());
|
|
|
+ if (Objects.nonNull(dept)) {
|
|
|
+ loginLogRespVO.setDeptName(dept.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return loginLogRespVO;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return success(new PageResult<>(collect, pageResult.getTotal()));
|
|
|
}
|
|
|
|
|
|
@GetMapping("/export")
|