Browse Source

修改文件预览接口

tags/24080901
WendyYang 5 months ago
parent
commit
dcd680f005
8 changed files with 55 additions and 12 deletions
  1. +20
    -5
      hz-pm-api/src/main/java/com/hz/pm/api/external/FilePreviewClient.java
  2. +8
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/external/controller/FilePreviewController.java
  3. +10
    -4
      hz-pm-api/src/main/java/com/hz/pm/api/meeting/entity/config/WebProps.java
  4. +1
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/user/controller/UserAuthController.java
  5. +7
    -1
      hz-pm-api/src/main/resources/application-dev.yml
  6. +5
    -1
      hz-pm-api/src/main/resources/application-prod.yml
  7. +2
    -0
      hz-pm-api/src/main/resources/security/auth-dev.yml
  8. +2
    -0
      hz-pm-api/src/main/resources/security/auth-prod.yml

+ 20
- 5
hz-pm-api/src/main/java/com/hz/pm/api/external/FilePreviewClient.java View File

@@ -1,12 +1,17 @@
package com.hz.pm.api.external;

import cn.hutool.core.util.StrUtil;
import com.hz.pm.api.meeting.entity.config.WebProps;
import com.ningdatech.basic.exception.BizException;
import com.ningdatech.file.entity.File;
import com.ningdatech.file.service.FileService;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletResponse;

/**
* <p>
* FilePreviewClient
@@ -19,22 +24,32 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
public class FilePreviewClient {

private static final Logger log = LoggerFactory.getLogger(FilePreviewClient.class);

@Value("${mh.file-preview.host:http://ztzz2.hzswb.cn/yl}")
private String mhFilePreviewUrl;

private final FileService fileService;

private static final String FILE_DOWN_NO_AUTH_URL = "/api/v1/file/preview/anonymous/down/";

//==================================================================================================================

private static final String PREVIEW_PATH_FMT = "%s/public/risen/core/resrc/view/pdf_view.html.do?strMap.remote_url=%s&strMap.ext=%s";

public String getFilePreviewUrl(Long fileId) {
String fileDownUrl = WebProps.apiUrl + FILE_DOWN_NO_AUTH_URL + fileId;
File file = fileService.getById(fileId);
if (file == null) {
return StrUtil.EMPTY;
return String.format(PREVIEW_PATH_FMT, mhFilePreviewUrl, fileDownUrl, file.getSuffix());
}

public void downloadFile(Long fileId, HttpServletResponse response) {
try {
fileService.download(fileId, response);
} catch (Exception e) {
log.info("文件下载失败:{}", fileId, e);
throw BizException.wrap("文件下载失败:%s", fileId);
}
String fileUrl = fileService.findUrlByFile(file);
return String.format(PREVIEW_PATH_FMT, mhFilePreviewUrl, fileUrl, file.getSuffix());
}

}

+ 8
- 0
hz-pm-api/src/main/java/com/hz/pm/api/external/controller/FilePreviewController.java View File

@@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletResponse;

/**
* <p>
* FilePreviewController
@@ -31,4 +33,10 @@ public class FilePreviewController {
return filePreviewClient.getFilePreviewUrl(fileId);
}

@ApiOperation("文件下载(不鉴权)")
@GetMapping("/anonymous/down/{fileId}")
public void anonymousFileDown(@PathVariable Long fileId, HttpServletResponse response) {
filePreviewClient.downloadFile(fileId, response);
}

}

+ 10
- 4
hz-pm-api/src/main/java/com/hz/pm/api/meeting/entity/config/WebProps.java View File

@@ -16,12 +16,18 @@ import org.springframework.stereotype.Component;
@Component
public class WebProps {

public static String apiHost;
public static String loginUrl;

public static String apiUrl;

@Value("${api-host:}")
private void setApiHost(String host) {
apiHost = host;
@Value("${web.login.url:}")
private void setLoginUrl(String url) {
loginUrl = url;
}

@Value("${web.api.url:}")
private void setApiUrl(String url) {
apiUrl = url;
}

}

+ 1
- 1
hz-pm-api/src/main/java/com/hz/pm/api/user/controller/UserAuthController.java View File

@@ -109,7 +109,7 @@ public class UserAuthController {
}
String authCode = authCodeLoginManage.generateAuthCode(targetUserId);
String urlParam = "?authCode=" + authCode;
String path = WebProps.apiHost + request.getContextPath() + AUTH_CODE_LOGIN_PATH;
String path = WebProps.apiUrl + request.getContextPath() + AUTH_CODE_LOGIN_PATH;
response.sendRedirect(path + urlParam);
}



+ 7
- 1
hz-pm-api/src/main/resources/application-dev.yml View File

@@ -210,4 +210,10 @@ reminder-task:
open: false
cron: 0 30 8 * * ?
hz-pm:
interfaceKey: hz_meeting_expert_info
interfaceKey: hz_meeting_expert_info

web:
login:
url: http://hzpm.ningdatech.com
api:
url: http://hzpm.ningdatech.com/hzpm

+ 5
- 1
hz-pm-api/src/main/resources/application-prod.yml View File

@@ -178,7 +178,11 @@ login:
skip: false
url: http://60.188.225.145/login
web:
url: http://60.188.225.145
login:
url:
api:
url:

mh:
sso:
client-id: ningda-74a5e5da-3bc3-414a-b9e6-004b7d87e310


+ 2
- 0
hz-pm-api/src/main/resources/security/auth-dev.yml View File

@@ -8,6 +8,7 @@ security:
logout-url: /api/v1/user/auth/logout
common-login-url: /api/v1/user/auth/common-login
ignore-auth-urls:
- /**/anonymous/**
- /v2/api-docs
- /swagger-ui.html
- /webjars/**
@@ -43,6 +44,7 @@ security:
- /expert/ephemeral/*/registration
- /api/v1/mh/sync/**
ignore-csrf-urls:
- /**/anonymous/**
- /api/v1/user/auth/**
- /v2/api-docs
- /swagger-ui.html


+ 2
- 0
hz-pm-api/src/main/resources/security/auth-prod.yml View File

@@ -8,6 +8,7 @@ security:
logout-url: /api/v1/user/auth/logout
common-login-url: /api/v1/user/auth/common-login
ignore-auth-urls:
- /**/anonymous/**
- /v2/api-docs
- /swagger-ui.html
- /webjars/**
@@ -43,6 +44,7 @@ security:
- /expert/ephemeral/*/registration
- /api/v1/mh/sync/**
ignore-csrf-urls:
- /**/anonymous/**
- /api/v1/user/auth/**
- /v2/api-docs
- /swagger-ui.html


Loading…
Cancel
Save