From cfde488bdd0163986087c880e0a2762645f8c14c Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Mon, 21 Feb 2022 15:35:35 +0800
Subject: [PATCH] 资源获取修正

---
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/controller/BlogArticleOutsideController.java         |   27 ++++++++++++++++++++++++---
 snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/exception/enums/BlogExceptionEnum.java                   |    1 +
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/mapper/mapping/BlogArticleMapper.xml                 |    2 +-
 snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java |   10 ----------
 snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/context/constant/ConstantContextHolder.java              |    8 ++++++++
 5 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/context/constant/ConstantContextHolder.java b/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/context/constant/ConstantContextHolder.java
index f764c9e..cb67bb3 100644
--- a/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/context/constant/ConstantContextHolder.java
+++ b/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/context/constant/ConstantContextHolder.java
@@ -323,6 +323,14 @@
     }
 
     /**
+     * 获取blog资源地址访问前缀
+     * @return
+     */
+    public static String getBlogSourcePrefix() {
+        return getSysConfig("visit", String.class, true);
+    }
+
+    /**
      * 获取config表中的配置,如果为空返回默认值
      *
      * @param configCode   变量名称,对应sys_config表中的code
diff --git a/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/exception/enums/BlogExceptionEnum.java b/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/exception/enums/BlogExceptionEnum.java
index 90f6254..5887c48 100644
--- a/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/exception/enums/BlogExceptionEnum.java
+++ b/snowy-base/snowy-core/src/main/java/vip/xiaonuo/core/exception/enums/BlogExceptionEnum.java
@@ -47,6 +47,7 @@
     article_auth_pass_error(2, "日志授权码错误"),
     article_auth_private_error(3, "那属于他的自留地,以后再来探索吧.."),
     article_not_found(4, "这是黑洞..什么也没有"),
+    article_file_lose(5, "啊噢,该文件已丢失.."),
  ;
 
     private final Integer code;
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 108d6e1..0889227 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
@@ -34,6 +34,7 @@
 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;
@@ -43,6 +44,8 @@
 import vip.xiaonuo.modular.blogarticle.param.BlogArticleQueryDto;
 import vip.xiaonuo.modular.blogarticle.param.BlogArticleVo;
 import vip.xiaonuo.modular.blogarticle.service.BlogArticleService;
+import vip.xiaonuo.sys.modular.file.entity.SysFileInfo;
+import vip.xiaonuo.sys.modular.file.service.SysFileInfoService;
 
 import javax.annotation.Resource;
 import java.util.HashMap;
@@ -63,6 +66,10 @@
     @Resource
     private BlogArticleService blogArticleService;
 
+
+    @Resource
+    private SysFileInfoService fileInfoService;
+
     /**
      * 查询blog文章
      *
@@ -78,12 +85,13 @@
         param.put("pageNo", PageUtil.getStart(queryDto.getPageNo() - 1, queryDto.getPageSize()));
         param.put("pageSize", queryDto.getPageSize());
         param.put("typeId", queryDto.getTypeId());
-//        String fileUploadPathForLinux = ConstantContextHolder.getDefaultFileUploadPathForLinux();
 
+        String blogSourcePrefix = ConstantContextHolder.getBlogSourcePrefix();
         List<BlogArticleVo> resList = blogArticleService.searchList(param).stream().map(e -> {
             if (StrUtil.isNotEmpty(e.getCoverFileURL())) {
                 if (!e.getCoverFileURL().startsWith("http")) {
                     //补上访问参数
+                    e.setCoverFileURL(blogSourcePrefix + e.getCoverFileURL());
                 }
             }
             return e;
@@ -121,7 +129,7 @@
             if (!SecureUtil.md5(find.getAuthPassword()).equals(queryDto.getAuthWord())) {
                 throw new BlogException(BlogExceptionEnum.article_auth_pass_error);
             }
-        }else if(find.getAuthStatus().equals(MyConstant.AuthStatus.privateCode)){
+        } else if (find.getAuthStatus().equals(MyConstant.AuthStatus.privateCode)) {
             throw new BlogException(BlogExceptionEnum.article_auth_private_error);
         }
 
@@ -130,7 +138,11 @@
         BeanUtil.copyProperties(find, vo);
 
         if (queryDto.getId() % 2 == 0) {
-            vo.setArticleFileURL("http://t.inleft.com/share/book/blog/es_index.md");
+            String tempURL = this.getBlogSourceURL(find.getArticleFileId());
+            if (StrUtil.isEmpty(tempURL))
+                throw new BlogException(BlogExceptionEnum.article_file_lose);
+
+            vo.setArticleFileURL(tempURL);
         } else {
             vo.setArticleFileURL("http://t.inleft.com/share/book/blog/es-search.md");
         }
@@ -138,5 +150,14 @@
         return new SuccessResponseData(vo);
     }
 
+    private String getBlogSourceURL(Long fileId) {
+        SysFileInfo sysFileInfo = fileInfoService.getById(fileId);
+        if (sysFileInfo == null) {
+            return null;
+        } else {
+            String blogSourcePrefix = ConstantContextHolder.getBlogSourcePrefix();
+            return blogSourcePrefix + sysFileInfo.getFileBucket() + sysFileInfo.getFileObjectName();
+        }
+    }
 
 }
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/mapper/mapping/BlogArticleMapper.xml b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/mapper/mapping/BlogArticleMapper.xml
index e0cde2a..0216fff 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/mapper/mapping/BlogArticleMapper.xml
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticle/mapper/mapping/BlogArticleMapper.xml
@@ -55,7 +55,7 @@
 
         <include refid="queryListCondition"/>
 
-        order by a.top_value asc , a.create_date desc
+        order by a.is_top desc,a.top_value asc , a.create_date desc
 
         limit #{param.pageNo},#{param.pageSize}
     </select>
diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java
index c5e4286..55b9243 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java
@@ -62,16 +62,6 @@
     public ResponseData queryBlogArticleType() {
 
         List<BlogArticleTypeVo>  list=  blogArticleTypeService.listCount();
-//        List<BlogArticleTypeVo> list = blogArticleTypeService.lambdaQuery()
-//                .eq(BlogArticleType::getIsEnable, MyConstant.Yes)
-//                .orderByAsc(BlogArticleType::getTopValue)
-//                .orderByDesc(BlogArticleType::getCreateDate)
-//                .list().stream().map(e -> {
-//                    BlogArticleTypeVo vo = new BlogArticleTypeVo();
-//                    BeanUtil.copyProperties(e, vo);
-//                    return vo;
-//                }).collect(Collectors.toList());
-
 
         return new SuccessResponseData(list);
     }

--
Gitblit v1.9.1