package com.lf.server.controller.all; import com.lf.server.annotation.SysLog; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.all.StaticData; import com.lf.server.entity.data.DirEntity; import com.lf.server.helper.HttpHelper; import com.lf.server.helper.StringHelper; import com.lf.server.service.data.DirService; import com.lf.server.service.data.FmeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * CRDS系统接口 * @author WWW */ @Api(tags = "系统对接\\CRDS") @RestController @RequestMapping("/crds") public class CrdsController extends BaseController { @Autowired DirService dirService; @Autowired protected FmeService fmeService; @SysLog() @ApiOperation(value = "查询项目") @GetMapping(value = "/selectProject") public ResponseMsg> selectProject() { try { List list = dirService.selectProject(); return success(list); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "查询项目目录树") @GetMapping(value = "/selectDirsForPrj") public ResponseMsg> selectDirsForPrj() { try { List list = dirService.selectDirsForPrj(); return success(list); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "查询任务状态") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "任务ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") }) @GetMapping(value = "/selectTaskStatus") public Object selectTaskStatus(String id, HttpServletRequest req) { try { if (StringHelper.isEmpty(id)) { return fail("id不能为空"); } return fmeService.getTaskStatus(id, req); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "请求打包") @ApiImplicitParams({ @ApiImplicitParam(name = "dirId", value = "目录ID", dataType = "Integer", paramType = "57"), @ApiImplicitParam(name = "major", value = "专业", dataType = "String", paramType = "穿跨越") }) @GetMapping(value = "/uploadReqPackaging") public ResponseMsg uploadReqPackaging(Integer dirId, String major, HttpServletRequest req) { try { if (null == dirId || dirId < StaticData.TWO) { return fail("目录ID不能为空且大于1"); } boolean isMajor = StaticData.CROSSING.equals(major) || StaticData.ROUTE.equals(major); if (StringHelper.isEmpty(major) || !isMajor) { return fail("专业只能是“穿跨越”或“线路”"); } List list = dirService.selectDirsForPrj(); return success(list); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "下载文件") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "任务ID", dataType = "String", paramType = "query", example = "29db09ee-2aae-4c62-bec0-0b5c5d8084e4") }) @GetMapping(value = "/downloadFile") public void downloadResult(String id, HttpServletRequest req, HttpServletResponse res) { try { if (!StringHelper.isEmpty(id)) { String url = fmeService.getDownloadUrl(id, req); HttpHelper httpHelper = new HttpHelper(); httpHelper.service(req, res, url, null); } } catch (Exception ex) { log.error(ex.getMessage(), ex); } } }