diff --git a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java b/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java index 7528792..2f4cbed 100644 --- a/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java +++ b/playedu-api/src/main/java/xyz/playedu/api/controller/backend/AdminLogController.java @@ -19,10 +19,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import xyz.playedu.common.annotation.BackendPermission; import xyz.playedu.common.annotation.Log; @@ -31,6 +28,7 @@ import xyz.playedu.common.constant.BPermissionConstant; import xyz.playedu.common.constant.BusinessTypeConstant; import xyz.playedu.common.context.BCtx; import xyz.playedu.common.domain.AdminLog; +import xyz.playedu.common.exception.ServiceException; import xyz.playedu.common.service.AdminLogService; import xyz.playedu.common.types.JsonResponse; import xyz.playedu.common.types.paginate.AdminLogPaginateFiler; @@ -87,4 +85,19 @@ public class AdminLogController { return JsonResponse.data(data); } + + @BackendPermission(slug = BPermissionConstant.ADMIN_LOG) + @GetMapping("/detail/{id}") + public JsonResponse detail(@PathVariable(name = "id") Integer id) { + Integer adminId = 0; + if (!backendBus.isSuperAdmin()) { + adminId = BCtx.getId(); + } + + AdminLog log = adminLogService.find(id, adminId); + if (log == null) { + throw new ServiceException("日志不存在"); + } + return JsonResponse.data(log); + } } diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java b/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java index 3a8c811..be28b7f 100644 --- a/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java +++ b/playedu-common/src/main/java/xyz/playedu/common/service/AdminLogService.java @@ -28,4 +28,6 @@ import xyz.playedu.common.types.paginate.PaginationResult; */ public interface AdminLogService extends IService { PaginationResult paginate(int page, int size, AdminLogPaginateFiler filter); + + AdminLog find(Integer id, Integer adminId); } diff --git a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java b/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java index 411efe8..f39f79b 100644 --- a/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java +++ b/playedu-common/src/main/java/xyz/playedu/common/service/impl/AdminLogServiceImpl.java @@ -44,4 +44,12 @@ public class AdminLogServiceImpl extends ServiceImpl return pageResult; } + + @Override + public AdminLog find(Integer id, Integer adminId) { + if (adminId == 0) { + return getOne(query().getWrapper().eq("id", id)); + } + return getOne(query().getWrapper().eq("id", id).eq("admin_id", adminId)); + } } diff --git a/playedu-common/src/main/resources/mapper/AdminLogMapper.xml b/playedu-common/src/main/resources/mapper/AdminLogMapper.xml index a1936d6..8deb05c 100644 --- a/playedu-common/src/main/resources/mapper/AdminLogMapper.xml +++ b/playedu-common/src/main/resources/mapper/AdminLogMapper.xml @@ -29,7 +29,9 @@