package cn.com.goldenwater.dcproj.controller.general; import cn.com.goldenwater.dcproj.dto.FolderDto; import cn.com.goldenwater.dcproj.model.Folder; import cn.com.goldenwater.dcproj.service.FolderService; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.ibatis.annotations.Param; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author lhc * @date 2020-6-8 */ @Api(value = "多级文件管理", tags = "多级文件管理") @RestController @RequestMapping("/bis/insp/Folder") public class FolderController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private FolderService folderService; @ApiOperation(value = "添加多级文件") @RequestMapping(value = "/add", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "folder", value = "Folder", required = true) @RequestBody Folder folder) { folder.setOrgId(getCurrentOrgId()); int ret = folderService.insert(folder); return buildSuccessResponse(folder); } @ApiOperation(value = "根据ID删除多级文件") @RequestMapping(value = "delete/{id}", method = RequestMethod.POST) public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { int ret = folderService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "更新多级文件信息") @RequestMapping(value = "/update", method = RequestMethod.POST) public BaseResponse update(@ApiParam(name = "folder", value = "Folder", required = true) @RequestBody Folder folder) { Assert.notNull(folder.getId(), "主键id为必填参数"); int ret = folderService.update(folder); return buildSuccessResponse(folder); } @ApiOperation(value = "根据ID获取多级文件(单表)") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public BaseResponse get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { Folder folder = folderService.get(id); return buildSuccessResponse(folder); } @ApiOperation(value = "根据节点返回子节点 如果为空就返回一级节点") @RequestMapping(value = "/getNextNode", method = RequestMethod.GET) public BaseResponse> getNextNode(@RequestParam("id") String id) { String orgId = getCurrentOrgId(); List folders = folderService.getNextNode(id, orgId); return buildSuccessResponse(folders); } @ApiOperation(value = "根据节点返回下级子节点和文件信息") @RequestMapping(value = "/getNextNodeAndFile", method = RequestMethod.GET) public BaseResponse 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) { String orgId = getCurrentOrgId(); FolderDto folderDto = folderService.getNextNodeAndFile(id, orgId, fileName); return buildSuccessResponse(folderDto); } }