DatabaseApi.java 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. package com.caimei.controller.admin.data;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.caimei.annotation.CurrentUser;
  4. import com.caimei.model.ResponseJson;
  5. import com.caimei.model.po.SysUser;
  6. import com.caimei.model.vo.FileTreeVo;
  7. import com.caimei.service.data.DatabaseService;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiImplicitParam;
  10. import io.swagger.annotations.ApiImplicitParams;
  11. import io.swagger.annotations.ApiOperation;
  12. import lombok.RequiredArgsConstructor;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. /**
  19. * @author zzj
  20. */
  21. @Api(tags = "资料库Api")
  22. @Slf4j
  23. @RestController
  24. @RequiredArgsConstructor
  25. @RequestMapping("/database")
  26. public class DatabaseApi {
  27. private final DatabaseService databaseService;
  28. @ApiOperation("获取当前路径下文件")
  29. @ApiImplicitParam(name = "fileId", required = true, value = "文件Id")
  30. @GetMapping("/path/file")
  31. public ResponseJson<List<FileTreeVo>> getFileById(@CurrentUser SysUser sysUser, Integer fileId) {
  32. if (null == sysUser) {
  33. return ResponseJson.error("用户信息异常", null);
  34. }
  35. // 获取供应商用户id
  36. Integer userIdentity = sysUser.getUserIdentity();
  37. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  38. if (null == authUserId) {
  39. return ResponseJson.error("供应商用户id不能为空", null);
  40. }
  41. return databaseService.getFileById(fileId, authUserId);
  42. }
  43. @ApiOperation("获取文件详情")
  44. @ApiImplicitParam(name = "fileId", required = true, value = "文件Id")
  45. @GetMapping("/file/detail")
  46. public ResponseJson<FileTreeVo> getFileDetail(@CurrentUser SysUser sysUser, Integer fileId) {
  47. if (null == sysUser) {
  48. return ResponseJson.error("用户信息异常", null);
  49. }
  50. // 获取供应商用户id
  51. Integer userIdentity = sysUser.getUserIdentity();
  52. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  53. if (null == authUserId) {
  54. return ResponseJson.error("供应商用户id不能为空", null);
  55. }
  56. return databaseService.getFileDetail(fileId, authUserId);
  57. }
  58. @ApiOperation("面包屑")
  59. @ApiImplicitParam(name = "fileId", required = true, value = "当前文件夹Id")
  60. @GetMapping("/path/crumbs")
  61. public ResponseJson<FileTreeVo> getCrumbs(@CurrentUser SysUser sysUser, Integer fileId) {
  62. if (null == sysUser) {
  63. return ResponseJson.error("用户信息异常", null);
  64. }
  65. // 获取供应商用户id
  66. Integer userIdentity = sysUser.getUserIdentity();
  67. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  68. if (null == authUserId) {
  69. return ResponseJson.error("供应商用户id不能为空", null);
  70. }
  71. return databaseService.getCrumbs(fileId, authUserId);
  72. }
  73. @ApiOperation("创建文件夹")
  74. @ApiImplicitParams({
  75. @ApiImplicitParam(name = "fileId", required = true, value = "当前文件夹Id"),
  76. @ApiImplicitParam(name = "fileName", required = true, value = "文件夹名称")
  77. })
  78. @PostMapping("/path/package")
  79. public ResponseJson createPackage(@CurrentUser SysUser sysUser, @RequestBody String param) {
  80. if (null == sysUser) {
  81. return ResponseJson.error("用户信息异常", null);
  82. }
  83. // 获取供应商用户id
  84. Integer userIdentity = sysUser.getUserIdentity();
  85. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  86. if (null == authUserId) {
  87. return ResponseJson.error("供应商用户id不能为空", null);
  88. }
  89. JSONObject jsonObject = JSONObject.parseObject(param);
  90. Integer fileId = jsonObject.getInteger("fileId");
  91. String fileName = jsonObject.getString("fileName");
  92. return databaseService.createPackage(authUserId, fileId, fileName);
  93. }
  94. @ApiOperation("修改文件/文件夹名")
  95. @ApiImplicitParams({
  96. @ApiImplicitParam(name = "fileId", required = true, value = "当前文件夹Id"),
  97. @ApiImplicitParam(name = "fileName", required = true, value = "修改的文件名称"),
  98. @ApiImplicitParam(name = "packageType", required = true, value = "0是文件夹,1是文件")
  99. })
  100. @PostMapping("/update/fileName")
  101. public ResponseJson updatePackage(@RequestBody String params) {
  102. JSONObject parseObject = JSONObject.parseObject(params);
  103. Integer fileId = parseObject.getInteger("fileId");
  104. String fileName = parseObject.getString("fileName");
  105. Integer packageType = parseObject.getInteger("packageType");
  106. return databaseService.updatePackage(fileId, fileName, packageType);
  107. }
  108. @ApiOperation("移动文件")
  109. @ApiImplicitParams({
  110. @ApiImplicitParam(name = "fileId", required = true, value = "当前文件Id"),
  111. @ApiImplicitParam(name = "parentId", required = true, value = "目标文件夹Id")
  112. })
  113. @PostMapping("/move/package")
  114. public ResponseJson movePackage(@RequestBody String param) {
  115. JSONObject jsonObject = JSONObject.parseObject(param);
  116. String fileId = jsonObject.getString("fileId");
  117. Integer parentId = jsonObject.getInteger("parentId");
  118. return databaseService.movePackage(fileId, parentId);
  119. }
  120. @ApiOperation("文件夹目录")
  121. @GetMapping("/file/tree")
  122. public ResponseJson<FileTreeVo> getPackageTree(@CurrentUser SysUser sysUser) {
  123. if (null == sysUser) {
  124. return ResponseJson.error("用户信息异常", null);
  125. }
  126. // 获取供应商用户id
  127. Integer userIdentity = sysUser.getUserIdentity();
  128. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  129. if (null == authUserId) {
  130. return ResponseJson.error("供应商用户id不能为空", null);
  131. }
  132. return databaseService.getPackageTree(authUserId);
  133. }
  134. @ApiOperation("下载文件夹")
  135. @ApiImplicitParams({
  136. @ApiImplicitParam(name = "fileId", required = true, value = "当前文件夹Id"),
  137. @ApiImplicitParam(name = "fileName", required = true, value = "文件夹名称")
  138. })
  139. @GetMapping("/path/package/zip")
  140. public ResponseJson downLoadPackageZip(@CurrentUser SysUser sysUser, Integer fileId, String fileName, HttpServletResponse response) {
  141. if (null == sysUser) {
  142. return ResponseJson.error("用户信息异常", null);
  143. }
  144. // 获取供应商用户id
  145. Integer userIdentity = sysUser.getUserIdentity();
  146. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  147. if (null == authUserId) {
  148. return ResponseJson.error("供应商用户id不能为空", null);
  149. }
  150. return databaseService.downLoadZip(fileId, fileName, authUserId, response);
  151. }
  152. @ApiOperation("勾选文件下载")
  153. @ApiImplicitParams({
  154. @ApiImplicitParam(name = "fileId", required = true, value = "勾选文件Id,逗号分隔")
  155. })
  156. @GetMapping("/path/chose/zip")
  157. public ResponseJson downLoadChoseZip(@CurrentUser SysUser sysUser, String fileId, HttpServletResponse response) {
  158. if (null == sysUser) {
  159. return ResponseJson.error("用户信息异常", null);
  160. }
  161. // 获取供应商用户id
  162. Integer userIdentity = sysUser.getUserIdentity();
  163. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  164. if (null == authUserId) {
  165. return ResponseJson.error("供应商用户id不能为空", null);
  166. }
  167. return databaseService.downLoadChoseZip(fileId, authUserId, response);
  168. }
  169. @ApiOperation("删除文件")
  170. @ApiImplicitParam(name = "fileId", required = true, value = "当前文件Id")
  171. @PostMapping("/delete/file")
  172. public ResponseJson deleteFiles(@RequestBody String fileId) {
  173. JSONObject jsonObject = JSONObject.parseObject(fileId);
  174. String fil = jsonObject.getString("fileId");
  175. return databaseService.deleteFiles(fil);
  176. }
  177. @ApiOperation("上传结果")
  178. @ApiImplicitParam(name = "params", required = true, value = "fileName:文件原名;ossName:阿里云文件名:ossUrl:阿里云文件url;fileSize:文件大小;parentId:父级文件夹id;mime:文件application")
  179. @PostMapping("/oss/upload/result")
  180. public ResponseJson getOssUploadResult(@CurrentUser SysUser sysUser, @RequestBody String params) {
  181. if (null == sysUser) {
  182. return ResponseJson.error("用户信息异常", null);
  183. }
  184. // 获取供应商用户id
  185. Integer userIdentity = sysUser.getUserIdentity();
  186. Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
  187. if (null == authUserId) {
  188. return ResponseJson.error("供应商用户id不能为空", null);
  189. }
  190. JSONObject parseObject = JSONObject.parseObject(params);
  191. String fileName = parseObject.getString("fileName");
  192. String ossName = parseObject.getString("ossName");
  193. String ossUrl = parseObject.getString("ossUrl");
  194. String fileSize = parseObject.getString("fileSize");
  195. Integer parentId = parseObject.getInteger("parentId");
  196. String mime = parseObject.getString("mime");
  197. return databaseService.getOssUploadResult(authUserId, fileName, ossName, ossUrl, fileSize, parentId,mime);
  198. }
  199. @ApiOperation("获取阿里云token")
  200. @GetMapping("/oss/token")
  201. public ResponseJson<HashMap<String, String>> ossTokenGet() {
  202. return databaseService.ossTokenGet();
  203. }
  204. }