diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java index 4f7fe57..b9fec15 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/overtime/OvertimeApplicationServiceImpl.java @@ -42,12 +42,13 @@ import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.Collection; import java.util.function.Function; import java.util.stream.Collectors; @@ -229,8 +230,22 @@ public class OvertimeApplicationServiceImpl implements OvertimeApplicationServic @Override public List getExportList(OvertimeApplicationPageReqVO reqVO) { reqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - PageResult page = getMyPage(reqVO); - return BeanUtils.toBean(page.getList(), OvertimeApplicationExportVO.class); + PageResult page; + if (reqVO.getApplicantIds() != null) { + List applicantIds = teamDashboardAccessService.resolveRequestedSubordinateUserIds( + reqVO.getApplicantIds(), OvertimeApplicationConstants.PERMISSION_TEAM_DASHBOARD); + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + if (loginUserId != null) { + LinkedHashSet mergedIds = new LinkedHashSet<>(applicantIds); + mergedIds.add(loginUserId); + applicantIds = new ArrayList<>(mergedIds); + } + page = overtimeApplicationMapper.selectMyPage(applicantIds, reqVO, TEAM_VISIBLE_STATUS_CODES); + } else { + page = overtimeApplicationMapper.selectMyPage(SecurityFrameworkUtils.getLoginUserId(), reqVO); + } + return BeanUtils.toBean(BeanUtils.toBean(page, OvertimeApplicationRespVO.class, this::applyStatusView).getList(), + OvertimeApplicationExportVO.class); } private void processApprovalAction(Long id, String actionCode, OvertimeApplicationStatusActionReqVO reqVO) { diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/performance/PerformanceSheetServiceImpl.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/performance/PerformanceSheetServiceImpl.java index 4f4af87..b7f827b 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/performance/PerformanceSheetServiceImpl.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/performance/PerformanceSheetServiceImpl.java @@ -265,6 +265,12 @@ public class PerformanceSheetServiceImpl implements PerformanceSheetService { if (reqVO.getEmployeeIds() != null) { employeeIds = teamDashboardAccessService.resolveRequestedSubordinateUserIds( reqVO.getEmployeeIds(), PerformanceConstants.PERMISSION_TEAM_DASHBOARD); + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + if (loginUserId != null) { + LinkedHashSet mergedIds = new LinkedHashSet<>(employeeIds); + mergedIds.add(loginUserId); + employeeIds = new ArrayList<>(mergedIds); + } } else { employeeIds = List.of(Objects.requireNonNull(SecurityFrameworkUtils.getLoginUserId())); } diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/common/WorkReportCommonService.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/common/WorkReportCommonService.java index 05bd48a..acc99df 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/common/WorkReportCommonService.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/common/WorkReportCommonService.java @@ -181,19 +181,6 @@ public class WorkReportCommonService { return createWeeklyReportInternal(reqVO, overrideReporterId); } - public WeeklyReportRespVO mergeWeeklyDraft(WeeklyReportRespVO latestDraft, WeeklyReportRefreshDraftReqVO reqVO) { - WeeklyReportRespVO respVO = latestDraft; - respVO.setIsBusinessTrip(Boolean.TRUE.equals(reqVO.getIsBusinessTrip())); - respVO.setTravelSegments(BeanUtils.toBean(defaultList(reqVO.getTravelSegments()), WeeklyReportTravelSegmentRespVO.class)); - respVO.setReviewItems(mergeWeeklyReviewItems(reqVO.getReviewItems(), latestDraft.getReviewItems())); - respVO.setPlanItems(mergePlanItems(reqVO.getPlanItems(), latestDraft.getPlanItems())); - respVO.setTotalTravelDays(Boolean.TRUE.equals(reqVO.getIsBusinessTrip()) - ? defaultIfNull(sumTravelDays(reqVO.getTravelSegments())) - : BigDecimal.ZERO); - respVO.setTotalWorkHours(sumReviewWorkHoursResp(respVO.getReviewItems())); - return respVO; - } - private Long createWeeklyReportInternal(WeeklyReportSaveReqVO reqVO, Long overrideReporterId) { validatePeriod(reqVO.getPeriodStartDate(), reqVO.getPeriodEndDate()); CurrentUserProfile profile = resolveProfile(overrideReporterId, true); @@ -239,11 +226,23 @@ public class WorkReportCommonService { } public PageResult getWeeklyReportPage(WeeklyReportPageReqVO reqVO) { + return getWeeklyReportPage(reqVO, false); + } + + public PageResult getWeeklyReportExportPage(WeeklyReportPageReqVO reqVO) { + return getWeeklyReportPage(reqVO, true); + } + + private PageResult getWeeklyReportPage(WeeklyReportPageReqVO reqVO, + boolean includeSelfInTeamMode) { Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); PageResult pageResult; if (reqVO.getReporterIds() != null) { List reporterIds = teamDashboardAccessService.resolveRequestedSubordinateUserIds( reqVO.getReporterIds(), WorkReportConstants.PERMISSION_TEAM_DASHBOARD); + if (includeSelfInTeamMode) { + reporterIds = appendLoginUser(reporterIds); + } pageResult = weeklyReportMapper.selectReporterPage(reporterIds, reqVO, TEAM_VISIBLE_STATUS_CODES); } else { pageResult = weeklyReportMapper.selectReporterPage(loginUserId, reqVO, getEnabledStatusCodes()); @@ -351,14 +350,6 @@ public class WorkReportCommonService { return createMonthlyReportInternal(reqVO, overrideReporterId); } - public MonthlyReportRespVO mergeMonthlyDraft(MonthlyReportRespVO latestDraft, MonthlyReportRefreshDraftReqVO reqVO) { - MonthlyReportRespVO respVO = latestDraft; - respVO.setReviewItems(mergeReviewItems(reqVO.getReviewItems(), latestDraft.getReviewItems())); - respVO.setPlanItems(mergePlanItems(reqVO.getPlanItems(), latestDraft.getPlanItems())); - respVO.setTotalWorkHours(sumReviewWorkHoursResp(respVO.getReviewItems())); - return respVO; - } - private Long createMonthlyReportInternal(MonthlyReportSaveReqVO reqVO, Long overrideReporterId) { validatePeriod(reqVO.getPeriodStartDate(), reqVO.getPeriodEndDate()); CurrentUserProfile profile = resolveProfile(overrideReporterId, true); @@ -404,11 +395,23 @@ public class WorkReportCommonService { } public PageResult getMonthlyReportPage(MonthlyReportPageReqVO reqVO) { + return getMonthlyReportPage(reqVO, false); + } + + public PageResult getMonthlyReportExportPage(MonthlyReportPageReqVO reqVO) { + return getMonthlyReportPage(reqVO, true); + } + + private PageResult getMonthlyReportPage(MonthlyReportPageReqVO reqVO, + boolean includeSelfInTeamMode) { Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); PageResult pageResult; if (reqVO.getReporterIds() != null) { List reporterIds = teamDashboardAccessService.resolveRequestedSubordinateUserIds( reqVO.getReporterIds(), WorkReportConstants.PERMISSION_TEAM_DASHBOARD); + if (includeSelfInTeamMode) { + reporterIds = appendLoginUser(reporterIds); + } pageResult = monthlyReportMapper.selectReporterPage(reporterIds, reqVO, TEAM_VISIBLE_STATUS_CODES); } else { pageResult = monthlyReportMapper.selectReporterPage(loginUserId, reqVO, getEnabledStatusCodes()); @@ -588,11 +591,23 @@ public class WorkReportCommonService { } public PageResult getProjectReportPage(ProjectReportPageReqVO reqVO) { + return getProjectReportPage(reqVO, false); + } + + public PageResult getProjectReportExportPage(ProjectReportPageReqVO reqVO) { + return getProjectReportPage(reqVO, true); + } + + private PageResult getProjectReportPage(ProjectReportPageReqVO reqVO, + boolean includeSelfInTeamMode) { Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); PageResult pageResult; if (reqVO.getProjectOwnerIds() != null) { List projectOwnerIds = teamDashboardAccessService.resolveRequestedSubordinateUserIds( reqVO.getProjectOwnerIds(), WorkReportConstants.PERMISSION_TEAM_DASHBOARD); + if (includeSelfInTeamMode) { + projectOwnerIds = appendLoginUser(projectOwnerIds); + } pageResult = projectReportMapper.selectReporterPage(projectOwnerIds, reqVO, TEAM_VISIBLE_STATUS_CODES); } else { pageResult = projectReportMapper.selectReporterPage(loginUserId, reqVO, getEnabledStatusCodes()); @@ -854,6 +869,16 @@ public class WorkReportCommonService { .collect(Collectors.toList()); } + private List appendLoginUser(List userIds) { + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + if (loginUserId == null) { + return userIds; + } + LinkedHashSet merged = new LinkedHashSet<>(userIds); + merged.add(loginUserId); + return new ArrayList<>(merged); + } + private ObjectStatusModelDO getInitialStatusModel() { ObjectStatusModelDO statusModel = objectStatusModelMapper .selectInitialByObjectTypeEnabled(WorkReportConstants.STATUS_OBJECT_TYPE); diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/export/WorkReportContentExportService.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/export/WorkReportContentExportService.java index 1b45936..6f47ba5 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/export/WorkReportContentExportService.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/export/WorkReportContentExportService.java @@ -91,7 +91,7 @@ public class WorkReportContentExportService { if (Boolean.TRUE.equals(reqVO.getExportAll())) { reqVO.setPageNo(1); reqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - return workReportCommonService.getWeeklyReportPage(reqVO).getList().stream() + return workReportCommonService.getWeeklyReportExportPage(reqVO).getList().stream() .map(item -> workReportCommonService.getWeeklyReport(item.getId())) .toList(); } @@ -104,7 +104,7 @@ public class WorkReportContentExportService { if (Boolean.TRUE.equals(reqVO.getExportAll())) { reqVO.setPageNo(1); reqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - return workReportCommonService.getMonthlyReportPage(reqVO).getList().stream() + return workReportCommonService.getMonthlyReportExportPage(reqVO).getList().stream() .map(item -> workReportCommonService.getMonthlyReport(item.getId())) .toList(); } @@ -117,7 +117,7 @@ public class WorkReportContentExportService { if (Boolean.TRUE.equals(reqVO.getExportAll())) { reqVO.setPageNo(1); reqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - return workReportCommonService.getProjectReportPage(reqVO).getList().stream() + return workReportCommonService.getProjectReportExportPage(reqVO).getList().stream() .map(item -> workReportCommonService.getProjectReport(item.getId())) .toList(); } diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/monthly/MonthlyReportServiceImpl.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/monthly/MonthlyReportServiceImpl.java index 1a610f0..118bc8a 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/monthly/MonthlyReportServiceImpl.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/monthly/MonthlyReportServiceImpl.java @@ -43,8 +43,7 @@ public class MonthlyReportServiceImpl implements MonthlyReportService { draftReqVO.setPeriodLabel(reqVO.getPeriodLabel()); draftReqVO.setPeriodStartDate(reqVO.getPeriodStartDate()); draftReqVO.setPeriodEndDate(reqVO.getPeriodEndDate()); - MonthlyReportRespVO latestDraft = workReportDefaultDraftService.previewMonthlyDefaultDraft(draftReqVO); - return workReportCommonService.mergeMonthlyDraft(latestDraft, reqVO); + return workReportDefaultDraftService.previewMonthlyDefaultDraft(draftReqVO); } @Override diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/weekly/WeeklyReportServiceImpl.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/weekly/WeeklyReportServiceImpl.java index 9ca1a9d..6926dd8 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/weekly/WeeklyReportServiceImpl.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/workreport/weekly/WeeklyReportServiceImpl.java @@ -42,8 +42,7 @@ public class WeeklyReportServiceImpl implements WeeklyReportService { draftReqVO.setPeriodLabel(reqVO.getPeriodLabel()); draftReqVO.setPeriodStartDate(reqVO.getPeriodStartDate()); draftReqVO.setPeriodEndDate(reqVO.getPeriodEndDate()); - WeeklyReportRespVO latestDraft = workReportDefaultDraftService.previewWeeklyDefaultDraft(draftReqVO); - return workReportCommonService.mergeWeeklyDraft(latestDraft, reqVO); + return workReportDefaultDraftService.previewWeeklyDefaultDraft(draftReqVO); } @Override diff --git a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiAccessLogController.java b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiAccessLogController.java index f42e227..f17336b 100644 --- a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiAccessLogController.java +++ b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiAccessLogController.java @@ -4,12 +4,15 @@ import com.njcn.rdms.framework.apilog.core.annotation.ApiAccessLog; import com.njcn.rdms.framework.common.pojo.CommonResult; import com.njcn.rdms.framework.common.pojo.PageParam; import com.njcn.rdms.framework.common.pojo.PageResult; +import com.njcn.rdms.framework.common.util.collection.CollectionUtils; import com.njcn.rdms.framework.common.util.object.BeanUtils; import com.njcn.rdms.framework.excel.core.util.ExcelUtils; import com.njcn.rdms.module.system.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; import com.njcn.rdms.module.system.controller.admin.logger.vo.apiaccesslog.ApiAccessLogRespVO; import com.njcn.rdms.module.system.dal.dataobject.logger.ApiAccessLogDO; +import com.njcn.rdms.module.system.dal.dataobject.user.AdminUserDO; import com.njcn.rdms.module.system.service.logger.ApiAccessLogService; +import com.njcn.rdms.module.system.service.user.AdminUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -24,7 +27,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; +import java.util.Collections; import java.util.List; +import java.util.Map; import static com.njcn.rdms.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static com.njcn.rdms.framework.common.pojo.CommonResult.success; @@ -37,14 +42,17 @@ public class ApiAccessLogController { @Resource private ApiAccessLogService apiAccessLogService; + @Resource + private AdminUserService adminUserService; @GetMapping("/get") @Operation(summary = "获得 API 访问日志") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('system:api-access-log:query')") public CommonResult getApiAccessLog(@RequestParam("id") Long id) { - ApiAccessLogDO apiAccessLog = apiAccessLogService.getApiAccessLog(id); - return success(BeanUtils.toBean(apiAccessLog, ApiAccessLogRespVO.class)); + ApiAccessLogRespVO respVO = BeanUtils.toBean(apiAccessLogService.getApiAccessLog(id), ApiAccessLogRespVO.class); + fillUserNicknames(Collections.singletonList(respVO)); + return success(respVO); } @GetMapping("/page") @@ -52,7 +60,9 @@ public class ApiAccessLogController { @PreAuthorize("@ss.hasPermission('system:api-access-log:query')") public CommonResult> getApiAccessLogPage(@Valid ApiAccessLogPageReqVO pageReqVO) { PageResult pageResult = apiAccessLogService.getApiAccessLogPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ApiAccessLogRespVO.class)); + PageResult respPageResult = BeanUtils.toBean(pageResult, ApiAccessLogRespVO.class); + fillUserNicknames(respPageResult.getList()); + return success(respPageResult); } @GetMapping("/export-excel") @@ -62,10 +72,26 @@ public class ApiAccessLogController { public void exportApiAccessLogExcel(@Valid ApiAccessLogPageReqVO exportReqVO, HttpServletResponse response) throws IOException { exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = apiAccessLogService.getApiAccessLogPage(exportReqVO).getList(); + List respVOList = BeanUtils.toBean( + apiAccessLogService.getApiAccessLogPage(exportReqVO).getList(), ApiAccessLogRespVO.class); + fillUserNicknames(respVOList); // 导出 Excel ExcelUtils.write(response, "API 访问日志.xls", "数据", ApiAccessLogRespVO.class, - BeanUtils.toBean(list, ApiAccessLogRespVO.class)); + respVOList); + } + + private void fillUserNicknames(List respVOList) { + if (respVOList == null || respVOList.isEmpty()) { + return; + } + Map userMap = adminUserService.getUserMap( + CollectionUtils.convertSet(respVOList, ApiAccessLogRespVO::getUserId)); + respVOList.forEach(respVO -> { + AdminUserDO user = userMap.get(respVO.getUserId()); + if (user != null) { + respVO.setUserNickname(user.getNickname()); + } + }); } } diff --git a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiErrorLogController.java b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiErrorLogController.java index a7525e3..8f76f8e 100644 --- a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiErrorLogController.java +++ b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/ApiErrorLogController.java @@ -4,12 +4,15 @@ import com.njcn.rdms.framework.apilog.core.annotation.ApiAccessLog; import com.njcn.rdms.framework.common.pojo.CommonResult; import com.njcn.rdms.framework.common.pojo.PageParam; import com.njcn.rdms.framework.common.pojo.PageResult; +import com.njcn.rdms.framework.common.util.collection.CollectionUtils; import com.njcn.rdms.framework.common.util.object.BeanUtils; import com.njcn.rdms.framework.excel.core.util.ExcelUtils; import com.njcn.rdms.module.system.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; import com.njcn.rdms.module.system.controller.admin.logger.vo.apierrorlog.ApiErrorLogRespVO; import com.njcn.rdms.module.system.dal.dataobject.logger.ApiErrorLogDO; import com.njcn.rdms.module.system.service.logger.ApiErrorLogService; +import com.njcn.rdms.module.system.dal.dataobject.user.AdminUserDO; +import com.njcn.rdms.module.system.service.user.AdminUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; @@ -22,7 +25,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.IOException; +import java.util.Collections; import java.util.List; +import java.util.Map; import static com.njcn.rdms.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static com.njcn.rdms.framework.common.pojo.CommonResult.success; @@ -36,6 +41,8 @@ public class ApiErrorLogController { @Resource private ApiErrorLogService apiErrorLogService; + @Resource + private AdminUserService adminUserService; @PutMapping("/update-status") @Operation(summary = "更新 API 错误日志的状态") @@ -55,8 +62,9 @@ public class ApiErrorLogController { @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('system:api-error-log:query')") public CommonResult getApiErrorLog(@RequestParam("id") Long id) { - ApiErrorLogDO apiErrorLog = apiErrorLogService.getApiErrorLog(id); - return success(BeanUtils.toBean(apiErrorLog, ApiErrorLogRespVO.class)); + ApiErrorLogRespVO respVO = BeanUtils.toBean(apiErrorLogService.getApiErrorLog(id), ApiErrorLogRespVO.class); + fillUserNicknames(Collections.singletonList(respVO)); + return success(respVO); } @GetMapping("/page") @@ -64,7 +72,9 @@ public class ApiErrorLogController { @PreAuthorize("@ss.hasPermission('system:api-error-log:query')") public CommonResult> getApiErrorLogPage(@Valid ApiErrorLogPageReqVO pageReqVO) { PageResult pageResult = apiErrorLogService.getApiErrorLogPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ApiErrorLogRespVO.class)); + PageResult respPageResult = BeanUtils.toBean(pageResult, ApiErrorLogRespVO.class); + fillUserNicknames(respPageResult.getList()); + return success(respPageResult); } @GetMapping("/export-excel") @@ -74,10 +84,26 @@ public class ApiErrorLogController { public void exportApiErrorLogExcel(@Valid ApiErrorLogPageReqVO exportReqVO, HttpServletResponse response) throws IOException { exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = apiErrorLogService.getApiErrorLogPage(exportReqVO).getList(); + List respVOList = BeanUtils.toBean( + apiErrorLogService.getApiErrorLogPage(exportReqVO).getList(), ApiErrorLogRespVO.class); + fillUserNicknames(respVOList); // 导出 Excel ExcelUtils.write(response, "API 错误日志.xls", "数据", ApiErrorLogRespVO.class, - BeanUtils.toBean(list, ApiErrorLogRespVO.class)); + respVOList); + } + + private void fillUserNicknames(List respVOList) { + if (respVOList == null || respVOList.isEmpty()) { + return; + } + Map userMap = adminUserService.getUserMap( + CollectionUtils.convertSet(respVOList, ApiErrorLogRespVO::getUserId)); + respVOList.forEach(respVO -> { + AdminUserDO user = userMap.get(respVO.getUserId()); + if (user != null) { + respVO.setUserNickname(user.getNickname()); + } + }); } } diff --git a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java index e1a1954..7d9a0b3 100644 --- a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java +++ b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java @@ -16,7 +16,7 @@ import java.time.LocalDateTime; public class ApiAccessLogRespVO { @Schema(description = "日志主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("日志主键") + //@ExcelProperty("日志主键") private Long id; @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002") @@ -24,9 +24,13 @@ public class ApiAccessLogRespVO { private String traceId; @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - @ExcelProperty("用户编号") + //@ExcelProperty("用户编号") private Long userId; + @Schema(description = "用户姓名", example = "灿能管理员") + @ExcelProperty("用户姓名") + private String userNickname; + @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty(value = "用户类型", converter = DictConvert.class) @DictFormat(DictTypeConstants.USER_TYPE) diff --git a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java index cc405bd..92b7622 100644 --- a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java +++ b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java @@ -16,7 +16,7 @@ import java.time.LocalDateTime; public class ApiErrorLogRespVO { @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("编号") + //@ExcelProperty("编号") private Long id; @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002") @@ -24,9 +24,13 @@ public class ApiErrorLogRespVO { private String traceId; @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666") - @ExcelProperty("用户编号") + //@ExcelProperty("用户编号") private Long userId; + @Schema(description = "用户姓名", example = "灿能管理员") + @ExcelProperty("用户姓名") + private String userNickname; + @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty(value = "用户类型", converter = DictConvert.class) @DictFormat(DictTypeConstants.USER_TYPE) diff --git a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java index 00443a5..f484b51 100644 --- a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java +++ b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java @@ -16,7 +16,7 @@ import java.time.LocalDateTime; public class LoginLogRespVO { @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("日志主键") + //@ExcelProperty("日志主键") private Long id; @Schema(description = "日志类型,参见 LoginLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") diff --git a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java index 6d03c92..64a6d59 100644 --- a/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java +++ b/rdms-system/rdms-system-boot/src/main/java/com/njcn/rdms/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java @@ -17,7 +17,7 @@ import java.time.LocalDateTime; public class OperateLogRespVO implements VO { @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("日志编号") + //@ExcelProperty("日志编号") private Long id; @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "89aca178-a370-411c-ae02-3f0d672be4ab")