From bd3bc193d18718e0e8cb880cbadf0b9426732ef9 Mon Sep 17 00:00:00 2001 From: inleft <inleft@qq.com> Date: Sun, 20 Feb 2022 01:26:52 +0800 Subject: [PATCH] 自定义异常,获取文章详情 --- snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/controller/BlogArticleOutsideController.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/controller/BlogArticleOutsideController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/controller/BlogArticleOutsideController.java index d6ec646..fb3b319 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/controller/BlogArticleOutsideController.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/controller/BlogArticleOutsideController.java @@ -24,17 +24,23 @@ */ package vip.xiaonuo.modular.blogarticle.controller; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.PageUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import vip.xiaonuo.core.annotion.BusinessLog; +import vip.xiaonuo.core.consts.MyConstant; import vip.xiaonuo.core.context.constant.ConstantContextHolder; import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum; +import vip.xiaonuo.core.exception.BlogException; +import vip.xiaonuo.core.exception.enums.BlogExceptionEnum; import vip.xiaonuo.core.pojo.response.ResponseData; import vip.xiaonuo.core.pojo.response.SuccessResponseData; +import vip.xiaonuo.modular.blogarticle.entity.BlogArticle; import vip.xiaonuo.modular.blogarticle.param.BlogArticleQueryDto; import vip.xiaonuo.modular.blogarticle.param.BlogArticleVo; import vip.xiaonuo.modular.blogarticle.service.BlogArticleService; @@ -90,5 +96,46 @@ return new SuccessResponseData(queryPage); } + @GetMapping("/blogArticle/queryBlogArticleDetail") + @BusinessLog(title = "外部blog系统_blog文章详情_查询", opType = LogAnnotionOpTypeEnum.QUERY) + public ResponseData queryBlogArticleDetail(BlogArticleQueryDto queryDto) { + BlogArticle find = blogArticleService.lambdaQuery() + .eq(BlogArticle::getIsEnable, MyConstant.Yes) + .eq(BlogArticle::getEditorStatus, MyConstant.Yes) + .eq(BlogArticle::getId, queryDto.getId()) + .one(); + + if (find == null) { + throw new BlogException(BlogExceptionEnum.article_not_found); + } + + //加密文章 + if (find.getAuthStatus().equals(MyConstant.AuthStatus.authCode)) { + //授权码缺失 + if (StrUtil.isEmpty(queryDto.getAuthWord())) { + throw new BlogException(BlogExceptionEnum.article_auth_error); + } + //授权码比对 + if (!SecureUtil.md5(find.getAuthPassword()).equals(queryDto.getAuthWord())) { + throw new BlogException(BlogExceptionEnum.article_auth_pass_error); + } + }else if(find.getAuthStatus().equals(MyConstant.AuthStatus.privateCode)){ + throw new BlogException(BlogExceptionEnum.article_auth_private_error); + } + + BlogArticleVo vo = new BlogArticleVo(); + + BeanUtil.copyProperties(find, vo); + + if (queryDto.getId() % 2 == 0) { + vo.setArticleFileURL("http://t.inleft.com/share/book/blog/es_index.md"); + } else { + vo.setArticleFileURL("http://t.inleft.com/share/book/blog/es-search.md"); + } + + + return new SuccessResponseData(vo); + } + } -- Gitblit v1.9.1