|
1 | 1 | package datart.server.service.impl; |
2 | 2 |
|
3 | 3 | import datart.core.base.consts.AttachmentType; |
| 4 | +import datart.core.base.consts.ShareAuthenticationMode; |
| 5 | +import datart.core.base.consts.ShareRowPermissionBy; |
4 | 6 | import datart.core.common.Application; |
5 | 7 | import datart.core.common.WebUtils; |
6 | 8 | import datart.core.entity.Folder; |
|
9 | 11 | import datart.server.base.params.DownloadCreateParam; |
10 | 12 | import datart.server.base.params.ShareCreateParam; |
11 | 13 | import datart.server.base.params.ShareToken; |
| 14 | +import datart.server.base.params.ViewExecuteParam; |
12 | 15 | import datart.server.service.AttachmentService; |
13 | 16 | import datart.server.service.FolderService; |
14 | 17 | import datart.server.service.ShareService; |
@@ -44,15 +47,19 @@ public AttachmentPdfServiceImpl(DatartSecurityManager securityManager, ShareServ |
44 | 47 |
|
45 | 48 | @Override |
46 | 49 | public File getFile(DownloadCreateParam downloadCreateParam, String path, String fileName) throws Exception { |
47 | | - String folderId = downloadCreateParam.getDownloadParams().size()>0 ? downloadCreateParam.getDownloadParams().get(0).getVizId() : ""; |
| 50 | + ViewExecuteParam viewExecuteParam = downloadCreateParam.getDownloadParams().size() > 0 ? downloadCreateParam.getDownloadParams().get(0) : new ViewExecuteParam(); |
| 51 | + String folderId = viewExecuteParam.getVizId(); |
| 52 | + ResourceType vizType = viewExecuteParam.getVizType(); |
48 | 53 | Folder folder = folderService.retrieve(folderId); |
49 | 54 | ShareCreateParam shareCreateParam = new ShareCreateParam(); |
50 | 55 | shareCreateParam.setVizId(folder.getRelId()); |
51 | 56 | shareCreateParam.setVizType(ResourceType.valueOf(folder.getRelType())); |
52 | 57 | shareCreateParam.setExpiryDate(DateUtils.addHours(new Date(), 1)); |
| 58 | + shareCreateParam.setAuthenticationMode(ShareAuthenticationMode.NONE); |
| 59 | + shareCreateParam.setRowPermissionBy(ShareRowPermissionBy.CREATOR); |
53 | 60 | ShareToken share = shareService.createShare(securityManager.getCurrentUser().getId(), shareCreateParam); |
54 | 61 |
|
55 | | - String url = Application.getWebRootURL() + "/share/"+share.getId()+"?type="+share.getAuthenticationMode(); |
| 62 | + String url = Application.getWebRootURL()+"/"+vizType.getShareRoute()+"/"+share.getId()+"?type="+share.getAuthenticationMode(); |
56 | 63 | log.info("share url {} ", url); |
57 | 64 |
|
58 | 65 | downloadCreateParam.setImageWidth(600); |
|
0 commit comments