|
|
@@ -4,11 +4,9 @@ import com.yingpaipay.business.domain.Document;
|
|
|
import com.yingpaipay.business.domain.dto.WpsR;
|
|
|
import com.yingpaipay.business.service.impl.CommonDocumentService;
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
|
-import lombok.Getter;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
-import lombok.Setter;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.dromara.common.core.utils.MapstructUtils;
|
|
|
+import org.dromara.common.core.domain.R;
|
|
|
import org.dromara.common.web.core.BaseController;
|
|
|
import org.dromara.system.domain.vo.SysOssVo;
|
|
|
import org.dromara.system.domain.vo.SysUserVo;
|
|
|
@@ -33,7 +31,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
|
|
@Slf4j
|
|
|
public class WpsController extends BaseController {
|
|
|
|
|
|
- private static final Map<Long, String> DOCUMENT_MAP = new ConcurrentHashMap<>();
|
|
|
+ private static final Map<Long, Long> DOCUMENT_MAP = new ConcurrentHashMap<>();
|
|
|
|
|
|
private final ISysOssService ossService;
|
|
|
private final CommonDocumentService documentService;
|
|
|
@@ -56,7 +54,7 @@ public class WpsController extends BaseController {
|
|
|
}
|
|
|
|
|
|
SysOssVo vo = ossService.upload(tempFile);
|
|
|
- DOCUMENT_MAP.put(documentId, vo.getUrl());
|
|
|
+ DOCUMENT_MAP.put(documentId, vo.getOssId());
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
log.error("文件写入失败, documentId={}", documentId, e);
|
|
|
@@ -164,6 +162,9 @@ public class WpsController extends BaseController {
|
|
|
|
|
|
@GetMapping("/files/{documentId}/download")
|
|
|
public WpsR getUrl(@PathVariable Long documentId) {
|
|
|
+ if (DOCUMENT_MAP.containsKey(documentId)) {
|
|
|
+ return WpsR.ok(new WpsGetUrlDto(ossService.getById(DOCUMENT_MAP.get(documentId)).getUrl()));
|
|
|
+ }
|
|
|
Document document = documentService.getById(documentId);
|
|
|
SysOssVo ossVo = ossService.getById(document.getOssId());
|
|
|
String url = ossVo.getUrl();
|
|
|
@@ -194,4 +195,16 @@ public class WpsController extends BaseController {
|
|
|
return WpsR.ok(dtos);
|
|
|
}
|
|
|
|
|
|
+ @GetMapping("/{documentId}")
|
|
|
+ public R<Long> getOssId(@PathVariable Long documentId) {
|
|
|
+ return R.ok(DOCUMENT_MAP.remove(documentId));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PutMapping("/refresh/{documentId}")
|
|
|
+ public R<Void> refresh(@PathVariable Long documentId) {
|
|
|
+ Document document = documentService.getById(documentId);
|
|
|
+ DOCUMENT_MAP.put(documentId, document.getOssId());
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
}
|