diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/controller/DevLogController.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/controller/DevLogController.java index 08fda4a9..a252010e 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/controller/DevLogController.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/controller/DevLogController.java @@ -26,6 +26,7 @@ import vip.xiaonuo.common.annotation.CommonLog; import vip.xiaonuo.common.pojo.CommonResult; import vip.xiaonuo.dev.modular.log.entity.DevLog; import vip.xiaonuo.dev.modular.log.param.DevLogDeleteParam; +import vip.xiaonuo.dev.modular.log.param.DevLogIdParam; import vip.xiaonuo.dev.modular.log.param.DevLogPageParam; import vip.xiaonuo.dev.modular.log.result.DevLogOpBarChartDataResult; import vip.xiaonuo.dev.modular.log.result.DevLogOpPieChartDataResult; @@ -34,6 +35,7 @@ import vip.xiaonuo.dev.modular.log.result.DevLogVisPieChartDataResult; import vip.xiaonuo.dev.modular.log.service.DevLogService; import javax.annotation.Resource; +import javax.validation.Valid; import java.util.List; /** @@ -130,4 +132,15 @@ public class DevLogController { public CommonResult> opLogPieChartData() { return CommonResult.data(devLogService.opLogPieChartData()); } + + /** + * 依据id获取单条日志详情 + */ + @ApiOperationSupport(order = 6) + @ApiOperation("依据id获取日志详情") + @GetMapping("/dev/log/detail") + public CommonResult detail(@Valid DevLogIdParam devLogIdParam) { + return CommonResult.data(devLogService.detail(devLogIdParam)); + } + } diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/param/DevLogIdParam.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/param/DevLogIdParam.java new file mode 100644 index 00000000..69355866 --- /dev/null +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/param/DevLogIdParam.java @@ -0,0 +1,19 @@ +package vip.xiaonuo.dev.modular.log.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; + +/** + * 日志Id参数 + **/ +@Getter +@Setter +public class DevLogIdParam { + + @ApiModelProperty(value = "id", required = true) + @NotBlank(message = "id不能为空") + private String id; +} diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/DevLogService.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/DevLogService.java index d1e34998..ea6066fc 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/DevLogService.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/DevLogService.java @@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import vip.xiaonuo.dev.modular.log.entity.DevLog; import vip.xiaonuo.dev.modular.log.param.DevLogDeleteParam; +import vip.xiaonuo.dev.modular.log.param.DevLogIdParam; import vip.xiaonuo.dev.modular.log.param.DevLogPageParam; import vip.xiaonuo.dev.modular.log.result.DevLogOpBarChartDataResult; import vip.xiaonuo.dev.modular.log.result.DevLogOpPieChartDataResult; @@ -40,6 +41,11 @@ public interface DevLogService extends IService { */ Page page(DevLogPageParam devLogPageParam); + /** + * 获取单条日志详情 + */ + DevLog detail(DevLogIdParam devLogIdParam); + /** * 清空日志 * diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/impl/DevLogServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/impl/DevLogServiceImpl.java index f4999a26..1467d18b 100644 --- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/impl/DevLogServiceImpl.java +++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/log/service/impl/DevLogServiceImpl.java @@ -27,11 +27,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import vip.xiaonuo.common.enums.CommonSortOrderEnum; +import vip.xiaonuo.common.exception.CommonException; import vip.xiaonuo.common.page.CommonPageRequest; import vip.xiaonuo.dev.modular.log.entity.DevLog; import vip.xiaonuo.dev.modular.log.enums.DevLogCategoryEnum; import vip.xiaonuo.dev.modular.log.mapper.DevLogMapper; import vip.xiaonuo.dev.modular.log.param.DevLogDeleteParam; +import vip.xiaonuo.dev.modular.log.param.DevLogIdParam; import vip.xiaonuo.dev.modular.log.param.DevLogPageParam; import vip.xiaonuo.dev.modular.log.result.DevLogOpBarChartDataResult; import vip.xiaonuo.dev.modular.log.result.DevLogOpPieChartDataResult; @@ -71,6 +73,15 @@ public class DevLogServiceImpl extends ServiceImpl impleme return this.page(CommonPageRequest.defaultPage(), queryWrapper); } + @Override + public DevLog detail(DevLogIdParam devLogIdParam) { + DevLog devLog = this.getById(devLogIdParam.getId()); + if (ObjectUtil.isEmpty(devLog)) { + throw new CommonException("该日志不存在,id值为:{}", devLog.getId()); + } + return devLog; + } + @Override public void delete(DevLogDeleteParam devLogDeleteParam) { this.remove(new LambdaQueryWrapper().eq(DevLog::getCategory, devLogDeleteParam.getCategory()));