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<List<DirEntity>> selectProject() {
|
try {
|
List<DirEntity> list = dirService.selectProject();
|
|
return success(list);
|
} catch (Exception ex) {
|
return fail(ex.getMessage(), null);
|
}
|
}
|
|
@SysLog()
|
@ApiOperation(value = "查询项目目录树")
|
@GetMapping(value = "/selectDirsForPrj")
|
public ResponseMsg<List<DirEntity>> selectDirsForPrj() {
|
try {
|
List<DirEntity> 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<Object> 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<DirEntity> 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);
|
}
|
}
|
}
|