e972a347f74e9259794362357f851d52554f8cae.svn-base 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package cn.com.goldenwater.dcproj.controller.general;
  2. import cn.com.goldenwater.dcproj.dto.FolderDto;
  3. import cn.com.goldenwater.dcproj.model.Folder;
  4. import cn.com.goldenwater.dcproj.service.FolderService;
  5. import cn.com.goldenwater.core.web.BaseController;
  6. import cn.com.goldenwater.core.web.BaseResponse;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import io.swagger.annotations.ApiParam;
  10. import org.apache.ibatis.annotations.Param;
  11. import org.slf4j.Logger;
  12. import org.slf4j.LoggerFactory;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.util.Assert;
  15. import org.springframework.web.bind.annotation.PathVariable;
  16. import org.springframework.web.bind.annotation.RequestBody;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RequestMethod;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import java.util.List;
  22. /**
  23. * @author lhc
  24. * @date 2020-6-8
  25. */
  26. @Api(value = "多级文件管理", tags = "多级文件管理")
  27. @RestController
  28. @RequestMapping("/bis/insp/Folder")
  29. public class FolderController extends BaseController {
  30. private Logger logger = LoggerFactory.getLogger(getClass());
  31. @Autowired
  32. private FolderService folderService;
  33. @ApiOperation(value = "添加多级文件")
  34. @RequestMapping(value = "/add", method = RequestMethod.POST)
  35. public BaseResponse<Folder> insert(@ApiParam(name = "folder", value = "Folder", required = true) @RequestBody Folder folder) {
  36. folder.setOrgId(getCurrentOrgId());
  37. int ret = folderService.insert(folder);
  38. return buildSuccessResponse(folder);
  39. }
  40. @ApiOperation(value = "根据ID删除多级文件")
  41. @RequestMapping(value = "delete/{id}", method = RequestMethod.POST)
  42. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  43. int ret = folderService.delete(id);
  44. return buildSuccessResponse();
  45. }
  46. @ApiOperation(value = "更新多级文件信息")
  47. @RequestMapping(value = "/update", method = RequestMethod.POST)
  48. public BaseResponse<Folder> update(@ApiParam(name = "folder", value = "Folder", required = true) @RequestBody Folder folder) {
  49. Assert.notNull(folder.getId(), "主键id为必填参数");
  50. int ret = folderService.update(folder);
  51. return buildSuccessResponse(folder);
  52. }
  53. @ApiOperation(value = "根据ID获取多级文件(单表)")
  54. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  55. public BaseResponse<Folder> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  56. Folder folder = folderService.get(id);
  57. return buildSuccessResponse(folder);
  58. }
  59. @ApiOperation(value = "根据节点返回子节点 如果为空就返回一级节点")
  60. @RequestMapping(value = "/getNextNode", method = RequestMethod.GET)
  61. public BaseResponse<List<Folder>> getNextNode(@RequestParam("id") String id) {
  62. String orgId = getCurrentOrgId();
  63. List<Folder> folders = folderService.getNextNode(id, orgId);
  64. return buildSuccessResponse(folders);
  65. }
  66. @ApiOperation(value = "根据节点返回下级子节点和文件信息")
  67. @RequestMapping(value = "/getNextNodeAndFile", method = RequestMethod.GET)
  68. public BaseResponse<FolderDto> getNextNodeAndFile(@ApiParam(name = "id", value = "树形节点ID", required = false) @RequestParam("id") String id, @ApiParam(name = "fileName", value = "文件名称", required = false) @RequestParam(value = "fileName", required = false) String fileName) {
  69. String orgId = getCurrentOrgId();
  70. FolderDto folderDto = folderService.getNextNodeAndFile(id, orgId, fileName);
  71. return buildSuccessResponse(folderDto);
  72. }
  73. }