123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203 |
- package com.shkpr.service.alambizplugin.controller;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.module.SimpleModule;
- import com.global.base.log.LogLevelFlag;
- import com.global.base.log.LogPrintMgr;
- import com.shkpr.service.alambizplugin.apiparam.GisSurveyCRSParams;
- import com.shkpr.service.alambizplugin.apiparam.GisSurveyCheckParams;
- import com.shkpr.service.alambizplugin.apiparam.GisSurveyThirdExportParams;
- import com.shkpr.service.alambizplugin.apiparam.GisSurveyThirdImportParams;
- import com.shkpr.service.alambizplugin.bizservice.GisSurveyCadConvertBizService;
- import com.shkpr.service.alambizplugin.bizservice.GisSurveySystemCheckBizService;
- import com.shkpr.service.alambizplugin.bizservice.GisSurveyThirdExportBizService;
- import com.shkpr.service.alambizplugin.bizservice.GisSurveyThirdImportBizService;
- import com.shkpr.service.alambizplugin.commtools.CRSUtil;
- import com.shkpr.service.alambizplugin.commtools.CommTool;
- import com.shkpr.service.alambizplugin.constants.ApiURI;
- import com.shkpr.service.alambizplugin.constants.CadEnum;
- import com.shkpr.service.alambizplugin.constants.CommAsyncStatusEnum;
- import com.shkpr.service.alambizplugin.constants.FileTypeEnum;
- import com.shkpr.service.alambizplugin.constants.GisSurveyImportStatusEnum;
- import com.shkpr.service.alambizplugin.constants.LogFlagBusiType;
- import com.shkpr.service.alambizplugin.constants.ResponseCode;
- import com.shkpr.service.alambizplugin.controllerfilter.TokenAuthenticationService;
- import com.shkpr.service.alambizplugin.controllerserializer.GeometrySerializer;
- import com.shkpr.service.alambizplugin.controllervalid.CommonParamValidSK;
- import com.shkpr.service.alambizplugin.dbdao.services.GisSurveyLayerApplyThirdCopyServiceImpl;
- import com.shkpr.service.alambizplugin.dbdao.services.intef.GisSurveyLayerApplyService;
- import com.shkpr.service.alambizplugin.dto.CommAsyncResult;
- import com.shkpr.service.alambizplugin.dto.CommCRSInfo;
- import com.shkpr.service.alambizplugin.dto.GisSurveyLayerApplyThirdCopy;
- import com.shkpr.service.alambizplugin.dto.GisSurveySystemCheckResultDetail;
- import com.shkpr.service.alambizplugin.dto.GisSurveyThirdImportResult;
- import com.shkpr.service.alambizplugin.dto.PageResponse;
- import com.shkpr.service.alambizplugin.dto.ResponseRes;
- import com.shkpr.service.alambizplugin.exception.SelfException;
- import org.apache.commons.collections4.CollectionUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.locationtech.jts.geom.Geometry;
- import org.springframework.data.domain.Pageable;
- import org.springframework.data.web.PageableDefault;
- import org.springframework.validation.BindingResult;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestHeader;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- import java.util.Map;
- import java.util.Objects;
- import java.util.concurrent.atomic.AtomicInteger;
- @RequestMapping(ApiURI.URI_GIS_SURVEY_H)
- @RestController
- public class ApiGisSurveyController {
- //log
- private final String mStrClassName;
- private final String mBizType;
- //计数器
- private final AtomicInteger mSeqSysCheckReq;
- private final AtomicInteger mSeqSysCheckCancelReq;
- private final AtomicInteger mSeqThirdImportReq;
- private final AtomicInteger mSeqThirdImportGetReq;
- private final AtomicInteger mSeqThirdImportCancelReq;
- private final AtomicInteger mSeqThirdImportPreviewReq;
- private final AtomicInteger mSeqThirdImportCommitReq;
- private final AtomicInteger mSeqCadConvertReq;
- private final AtomicInteger mSeqThirdExportReq;
- private final AtomicInteger mSeqThirdExportGetReq;
- private final AtomicInteger mSeqCadConvertGetReq;
- private final AtomicInteger mSeqCrsGetListReq;
- private final AtomicInteger mSeqCrsGetInfoReq;
- private final ObjectMapper objectMapper;
- private final GisSurveySystemCheckBizService systemCheckBizService;
- private final GisSurveyThirdImportBizService thirdImportBizService;
- private final GisSurveyThirdExportBizService thirdExportBizService;
- private final GisSurveyCadConvertBizService cadConvertBizService;
- private final GisSurveyLayerApplyService layerApplyService;
- private final GisSurveyLayerApplyThirdCopyServiceImpl layerApplyThirdCopyService;
- public ApiGisSurveyController(ObjectMapper objectMapper
- , GisSurveySystemCheckBizService systemCheckBizService
- , GisSurveyThirdImportBizService thirdImportBizService
- , GisSurveyThirdExportBizService thirdExportBizService
- , GisSurveyCadConvertBizService cadConvertBizService
- , GisSurveyLayerApplyService layerApplyService
- , GisSurveyLayerApplyThirdCopyServiceImpl layerApplyThirdCopyService) {
- mStrClassName = "ApiGisSurveyController";
- mBizType = LogFlagBusiType.BUSI_GIS_SURVEY.toStrValue();
- mSeqSysCheckReq = new AtomicInteger(0);
- mSeqSysCheckCancelReq = new AtomicInteger(0);
- mSeqThirdImportReq = new AtomicInteger(0);
- mSeqThirdImportGetReq = new AtomicInteger(0);
- mSeqThirdImportCancelReq = new AtomicInteger(0);
- mSeqThirdImportPreviewReq = new AtomicInteger(0);
- mSeqThirdImportCommitReq = new AtomicInteger(0);
- mSeqThirdExportReq = new AtomicInteger(0);
- mSeqThirdExportGetReq = new AtomicInteger(0);
- mSeqCadConvertReq = new AtomicInteger(0);
- mSeqCadConvertGetReq = new AtomicInteger(0);
- mSeqCrsGetListReq = new AtomicInteger(0);
- mSeqCrsGetInfoReq = new AtomicInteger(0);
- this.objectMapper = objectMapper;
- this.systemCheckBizService = systemCheckBizService;
- this.thirdImportBizService = thirdImportBizService;
- this.thirdExportBizService = thirdExportBizService;
- this.cadConvertBizService = cadConvertBizService;
- this.layerApplyService = layerApplyService;
- this.layerApplyThirdCopyService = layerApplyThirdCopyService;
- }
- /**
- * 执行系统检查
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param oJsonParam 参数
- * @param bindRes bindingResult
- * @return 执行状态
- * @throws SelfException selfException
- */
- @PostMapping(value = ApiURI.URI_XXX_SYS_CHECK)
- public ResponseRes<String> sysCheck(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestBody(required = false) @Validated(value = {CommonParamValidSK.class}) GisSurveyCheckParams oJsonParam
- , BindingResult bindRes) throws SelfException {
- //参数校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (oJsonParam == null || oJsonParam.getSubitemKeys() == null || bindRes.hasErrors() || !oJsonParam.checkValid()) {
- throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqSysCheckReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , oJsonParam));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_SYSTEM_CHECK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_SYSTEM_CHECK_FAILED.toStrMsg());
- //执行系统检查
- CommAsyncResult<Map<String, GisSurveySystemCheckResultDetail>> result = systemCheckBizService.sysCheckFun(oJsonParam);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //结果为空
- if (resultStr == null) {
- resResult.setRescode(ResponseCode.RESULT_SYSTEM_CHECK_RESULT_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_SYSTEM_CHECK_RESULT_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 清除系统检查
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param oJsonParam 参数
- * @param bindRes bindingResult
- * @return 清除状态
- * @throws SelfException selfException
- */
- @PostMapping(value = ApiURI.URI_XXX_SYS_CHECK_CANCEL)
- public ResponseRes<?> cancelCheck(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestBody(required = false) @Validated(value = {CommonParamValidSK.class}) GisSurveyCheckParams oJsonParam
- , BindingResult bindRes) throws Exception {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (oJsonParam == null || bindRes.hasErrors() || !oJsonParam.checkValid()) {
- throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqSysCheckCancelReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , oJsonParam));
- //构建result
- ResponseRes<Boolean> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_SYSTEM_CHECK_CANCEL_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_SYSTEM_CHECK_CANCEL_FAILED.toStrMsg());
- //清除检查
- Integer cancelCheck = systemCheckBizService.cancelCheck(oJsonParam);
- //成功
- if (Objects.equals(cancelCheck, CommAsyncStatusEnum.SUCCESS.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- }
- //不存在
- else if (Objects.equals(cancelCheck, CommAsyncStatusEnum.NOT_EXISTS.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_SYSTEM_CHECK_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_SYSTEM_CHECK_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 执行第三方导入
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param files 文件列表
- * @param operator 操作人
- * @param jobId 任务id
- * @param nature 用水性质,supply/drain
- * @param resetNo 是否重置点号
- * @param ignoreFail 是否忽略失败
- * @return 第三方导入结果
- */
- @PostMapping(value = ApiURI.URI_XXX_THIRD_IMPORT)
- public ResponseRes<String> thirdImport(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam(value = "files", required = false) List<MultipartFile> files
- , @RequestParam(value = "operator", required = false) String operator
- , @RequestParam(value = "jobId", required = false) String jobId
- , @RequestParam(value = "nature", required = false) String nature
- , @RequestParam(value = "resetNo", required = false) Boolean resetNo
- , @RequestParam(value = "checkConstraint", required = false, defaultValue = "false") Boolean checkConstraint
- , @RequestParam(value = "ignoreFail", required = false, defaultValue = "false") String ignoreFail) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isAnyBlank(operator, jobId, nature) || StringUtils.length(jobId) > 64
- || CollectionUtils.isEmpty(files) || resetNo == null) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //构建入参数
- GisSurveyThirdImportParams params = new GisSurveyThirdImportParams(files, operator, jobId, nature, resetNo, checkConstraint, Boolean.parseBoolean(ignoreFail));
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdImportReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , params));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //执行第三方导入
- GisSurveyThirdImportResult result = thirdImportBizService.thirdImport(params);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getImportStatus(), GisSurveyImportStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getImportStatus(), GisSurveyImportStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //结果为空
- if (resultStr == null) {
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 获取第三方导入结果
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param jobId 任务id
- * @param ignoreFail 是否忽略错误
- * @return 第三方导入结果
- */
- @GetMapping(value = ApiURI.URI_XXX_THIRD_IMPORT_GET)
- public ResponseRes<String> thirdImportGet(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam(value = "jobId", required = false) String jobId
- , @RequestParam(value = "ignoreFail", required = false, defaultValue = "false") String ignoreFail) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isAnyBlank(jobId) || StringUtils.length(jobId) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //构建入参数
- GisSurveyThirdImportParams params = new GisSurveyThirdImportParams(jobId, Boolean.parseBoolean(ignoreFail));
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdImportGetReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , jobId));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //执行cad转换
- GisSurveyThirdImportResult result = thirdImportBizService.getResult(params);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getImportStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getImportStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //不存在
- if (resultStr == null) {
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 清除第三方导入
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param jobId 任务id
- * @return 清除状态
- * @throws SelfException selfException
- */
- @GetMapping(value = ApiURI.URI_XXX_THIRD_IMPORT_CANCEL)
- public ResponseRes<?> cancelImport(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam("jobId") String jobId) throws Exception {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isBlank(jobId) || StringUtils.length(jobId) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdImportCancelReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , jobId));
- //构建result
- ResponseRes<Boolean> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //清除导入
- Integer cancelCheck = thirdImportBizService.cancelImport(jobId);
- //成功
- if (Objects.equals(cancelCheck, CommAsyncStatusEnum.SUCCESS.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- }
- //不存在
- else if (Objects.equals(cancelCheck, CommAsyncStatusEnum.NOT_EXISTS.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 预览第三方导入
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param jobId 任务id
- * @param pageable 分页
- * @return 清除状态
- * @throws SelfException selfException
- */
- @GetMapping(value = ApiURI.URI_XXX_THIRD_IMPORT_PREVIEW)
- public ResponseRes<String> previewImport(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam("jobId") String jobId, @PageableDefault() Pageable pageable) throws Exception {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isBlank(jobId) || StringUtils.length(jobId) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdImportPreviewReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , jobId));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //查询
- PageResponse<GisSurveyLayerApplyThirdCopy> pageResponse = layerApplyThirdCopyService.findByJobId(jobId, pageable);
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- String pageStr = null;
- try {
- if (pageResponse != null) pageStr = objectMapper.writeValueAsString(pageResponse);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- resResult.setResdata(pageStr);
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 提交第三方导入
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param jobId 任务id
- * @param operator 操作人
- * @return 清除状态
- * @throws SelfException selfException
- */
- @GetMapping(value = ApiURI.URI_XXX_THIRD_IMPORT_COMMIT)
- public ResponseRes<?> commitImport(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam("jobId") String jobId, @RequestParam("operator") String operator) throws Exception {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isBlank(jobId) || StringUtils.length(jobId) > 64
- || StringUtils.isBlank(operator) || StringUtils.length(operator) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdImportCommitReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , jobId));
- //构建result
- ResponseRes<?> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //提交导入
- Boolean commitStatus = layerApplyService.mergeCopy(jobId, operator);
- //成功
- if (Objects.equals(commitStatus, Boolean.TRUE)) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 执行第三方导出
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param oJsonParam 入参
- * @return cad转换结果
- */
- @PostMapping(value = ApiURI.URI_XXX_THIRD_EXPORT)
- public ResponseRes<String> thirdExport(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestBody(required = false) @Validated(value = {CommonParamValidSK.class}) GisSurveyThirdExportParams oJsonParam
- , BindingResult bindRes) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (oJsonParam == null || bindRes.hasErrors()) {
- throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdExportReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , oJsonParam));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //导出类型枚举
- FileTypeEnum fileTypeEnum = FileTypeEnum.getFileType(oJsonParam.getFileType());
- if (fileTypeEnum == null) fileTypeEnum = FileTypeEnum.EXCEL;
- //执行第三方导出
- CommAsyncResult<Map<String, String>> result = thirdExportBizService.thirdExport(oJsonParam.getJobId(), fileTypeEnum, oJsonParam.getOperator());
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 获取第三方导出结果
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param jobId 任务id
- * @return cad转换结果
- */
- @GetMapping(value = ApiURI.URI_XXX_THIRD_EXPORT_GET)
- public ResponseRes<String> thirdExportGet(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam(value = "jobId", required = false) String jobId) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isAnyBlank(jobId) || StringUtils.length(jobId) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqThirdExportGetReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , jobId));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //执行第三方导出
- CommAsyncResult<Map<String, String>> result = thirdExportBizService.getResult(jobId);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //不存在
- if (resultStr == null) {
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 执行cad转换
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param file 文件
- * @param convertId 转换id
- * @param outputExtension 输出扩展名
- * @param operator 操作人
- * @return cad转换结果
- */
- @PostMapping(value = ApiURI.URI_XXX_CAD_CONVERT)
- public ResponseRes<String> cadConvert(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam(value = "file", required = false) MultipartFile file
- , @RequestParam(value = "convertId", required = false) String convertId
- , @RequestParam(value = "outputExtension", required = false) String outputExtension
- , @RequestParam(value = "operator", required = false, defaultValue = "") String operator) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isAnyBlank(convertId, outputExtension) || StringUtils.length(convertId) > 64
- || StringUtils.length(outputExtension) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //文件校验
- if (file == null || file.isEmpty()) {
- throw new SelfException(ResponseCode.RESULT_FILE_EMPTY_ROWS.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.RESULT_FILE_EMPTY_ROWS.toStrMsg()));
- }
- String originalFilename = file.getOriginalFilename();
- if (originalFilename == null) {
- throw new SelfException(ResponseCode.RESULT_FILE_EMPTY_ROWS.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.RESULT_FILE_EMPTY_ROWS.toStrMsg()));
- }
- //文件类型校验
- String inputExtension = originalFilename
- .substring(originalFilename.lastIndexOf(".") + 1)
- .toLowerCase();
- CadEnum inputCadEnum = CadEnum.getCadEnum(inputExtension);
- CadEnum outCadEnum = CadEnum.getCadEnum(outputExtension);
- if (inputCadEnum == null || outCadEnum == null
- || !inputCadEnum.getInput() || !outCadEnum.getOutput()) {
- throw new SelfException(ResponseCode.RESULT_FILE_INVALID_TYPE.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.RESULT_FILE_INVALID_TYPE.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqCadConvertReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , convertId));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //执行cad转换
- CommAsyncResult<String> result = cadConvertBizService.cadConvert(file, convertId, outCadEnum, operator);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 获取cad转换结果
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @param convertId 转换id
- * @return cad转换结果
- */
- @GetMapping(value = ApiURI.URI_XXX_CAD_CONVERT_GET)
- public ResponseRes<String> cadConvertGet(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam(value = "convertId", required = false) String convertId) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isAnyBlank(convertId) || StringUtils.length(convertId) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqCadConvertGetReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} param:%s begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq
- , convertId));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_FAILED.toStrMsg());
- //执行cad转换
- CommAsyncResult<String> result = cadConvertBizService.getResult(convertId);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null && !Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //执行失败
- if (resultStr != null && Objects.equals(result.getStatus(), CommAsyncStatusEnum.FAIL.getCode())) {
- resResult.setResdata(resultStr);
- }
- //不存在
- if (resultStr == null) {
- resResult.setRescode(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_ASYNC_TASK_NOT_FOUND.toStrMsg());
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 获取坐标系列表
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @return crs列表
- */
- @GetMapping(value = ApiURI.URI_XXX_CRS_GET_LIST)
- public ResponseRes<String> crsGetList(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent) {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqCrsGetListReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_BAD.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_BAD.toStrMsg());
- //获取crs列表
- List<CRSUtil.Item> result = CRSUtil.getList();
- String resultStr = null;
- try {
- if (CollectionUtils.isNotEmpty(result)) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 获取坐标系信息
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @return crs信息
- */
- @GetMapping(value = ApiURI.URI_XXX_CRS_GET_INFO)
- public ResponseRes<String> crsGetInfo(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestParam(value = "code", required = false) String code) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (StringUtils.isAnyBlank(code) || StringUtils.length(code) > 64) {
- throw new SelfException(ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_PARAM_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqCrsGetInfoReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_BAD.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_BAD.toStrMsg());
- //获取crs信息
- CommCRSInfo result = CRSUtil.getInfo(code);
- String resultStr = null;
- try {
- if (result != null) resultStr = objectMapper.writeValueAsString(result);
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- /**
- * 坐标系转换
- *
- * @param request request
- * @param strClientType 客户端类型
- * @param strUserAgent 用户信息
- * @return crs信息
- */
- @PostMapping(value = ApiURI.URI_XXX_CRS_TRANSFORM)
- public ResponseRes<String> crsTransform(HttpServletRequest request
- , @RequestHeader(value = ApiURI.HEADER_CLIENT_TYPE, required = false) String strClientType
- , @RequestHeader(value = ApiURI.HEADER_USER_AGENT, required = false) String strUserAgent
- , @RequestBody(required = false) @Validated(value = {CommonParamValidSK.class}) GisSurveyCRSParams oJsonParam
- , BindingResult bindRes) throws SelfException {
- //入参校验
- final String URI_PATH = request.getRequestURI();
- final String strPlatform = CommTool.getPlatformByAgent(strClientType, strUserAgent);
- final String strUserId = (String) request.getAttribute(TokenAuthenticationService.HEADER_USERID);
- if (oJsonParam == null || bindRes.hasErrors() || oJsonParam.getGeometry()==null) {
- throw new SelfException(ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrCode()
- , String.format(ApiURI.EXCEPTION_FORMAT
- , strPlatform
- , URI_PATH
- , ResponseCode.STATUS_ERROR_JSON_FORMAT.toStrMsg()));
- }
- //begin
- long llReqBefore = System.currentTimeMillis();
- String strRunSeq = String.format("%d-%d", llReqBefore, mSeqCrsGetInfoReq.incrementAndGet());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} begin====>"
- , strPlatform
- , URI_PATH
- , strRunSeq));
- //构建result
- ResponseRes<String> resResult = new ResponseRes<>();
- resResult.setRescode(ResponseCode.RESULT_BAD.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_BAD.toStrMsg());
- //转换坐标系
- Geometry result = CRSUtil.transform(oJsonParam.getGeometry(), oJsonParam.getSourceCRSCode(), oJsonParam.getTargetCRSCode());
- String resultStr = null;
- try {
- if (result != null) {
- //创建objectMapper,并注册geo序列化
- ObjectMapper objectMapper = new ObjectMapper();
- SimpleModule module = new SimpleModule();
- module.addSerializer(Geometry.class, new GeometrySerializer());
- objectMapper.registerModule(module);
- resultStr = objectMapper.writeValueAsString(result);
- }
- } catch (JsonProcessingException e) {
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, mBizType, mStrClassName
- , String.format("Json序列化异常: error:%s", e));
- }
- //执行成功
- if (resultStr != null) {
- resResult.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());
- resResult.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
- resResult.setResdata(resultStr);
- }
- //end
- resResult.setTimestamp(System.currentTimeMillis());
- LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName, strUserId
- , String.format("%s:%s seq:{%s} rescode:{%s} resmsg:{%s} time:{%d ms} end<===="
- , strPlatform
- , URI_PATH
- , strRunSeq
- , resResult.getRescode()
- , resResult.getResmsg()
- , resResult.getTimestamp() - llReqBefore));
- return resResult;
- }
- }
|