| | |
| | | */ |
| | | 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.context.constant.ConstantContextHolder; |
| | | import vip.xiaonuo.core.consts.MyConstant; |
| | | 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; |
| | |
| | | Map<String, Object> param = new HashMap<>(16); |
| | | param.put("pageNo", PageUtil.getStart(queryDto.getPageNo() - 1, queryDto.getPageSize())); |
| | | param.put("pageSize", queryDto.getPageSize()); |
| | | String fileUploadPathForLinux = ConstantContextHolder.getDefaultFileUploadPathForLinux(); |
| | | param.put("typeId", queryDto.getTypeId()); |
| | | // String fileUploadPathForLinux = ConstantContextHolder.getDefaultFileUploadPathForLinux(); |
| | | |
| | | List<BlogArticleVo> resList = blogArticleService.searchMediaList(param).stream().map(e -> { |
| | | if (StrUtil.isNotEmpty(e.getArticleFileURL())) { |
| | | e.setArticleFileURL(fileUploadPathForLinux + e.getArticleFileURL()); |
| | | List<BlogArticleVo> resList = blogArticleService.searchList(param).stream().map(e -> { |
| | | if (StrUtil.isNotEmpty(e.getCoverFileURL())) { |
| | | if (!e.getCoverFileURL().startsWith("http")) { |
| | | //补上访问参数 |
| | | } |
| | | } |
| | | return e; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | long count = blogArticleService.searchMediaListCount(param); |
| | | long count = blogArticleService.searchListCount(param); |
| | | |
| | | Page<BlogArticleVo> queryPage = new Page<>(queryDto.getPageNo(), queryDto.getPageSize()); |
| | | queryPage.setRecords(resList); |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |