From c0a1e58617d69fa78cceebb27376e57e324a562e Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期三, 21 八月 2024 08:51:51 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 50 insertions(+), 10 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java index a3399dc..a6bb146 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java @@ -94,15 +94,12 @@ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鐗囧尯锛�2024-08-14鏂板锛屾浛鎹㈠師鏉ョ殑鐗囧尯鍒嗛〉鏌ヨ * * @param qo - * @param bindingResult + * @param * @return */ @GetMapping(path = "/some") @SsoAop() - public BaseResponse<QueryResultVo<List<VoBlock>>> getBlocks(@Valid QueryVo qo, BindingResult bindingResult) { - if (bindingResult != null && bindingResult.hasErrors()) { - return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); - } + public BaseResponse<QueryResultVo<List<VoBlock>>> getBlocks(QueryVo qo) { try { return BaseResponseUtils.buildSuccess(this.sv.getBlocks(qo)); } catch (Exception e) { @@ -266,6 +263,7 @@ * @return */ @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) @SsoAop() public BaseResponse<Boolean> update(@RequestBody @Valid Block po, BindingResult bindingResult) { if (bindingResult != null && bindingResult.hasErrors()) { @@ -298,14 +296,55 @@ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�"); } - // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰� - this.sv.deleteMapGraph(blockId); // 鍒犻櫎鍦板浘鍥惧舰鍧愭爣 this.sv.deleteMapCoordinates(blockId); + // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰� + this.sv.deleteMapGraph(blockId); + + JSONArray graphs = po.getGraphs(); + for (int i = 0; i < graphs.size(); i++) { + JSONObject graph = graphs.getJSONObject(i); + + // 娣诲姞鍦板浘鍥惧舰璁板綍 + BaMapGraph baMapGraph = new BaMapGraph(); + baMapGraph.setBlockId(blockId); + switch (graph.getString("type")) { + case "CircleMarker": + baMapGraph.setGraphType(graphTypeENUM.CIRCLE_MARKER.getCode()); + break; + case "Polygon": + baMapGraph.setGraphType(graphTypeENUM.POLYGON.getCode()); + break; + case "Polyline": + baMapGraph.setGraphType(graphTypeENUM.POLYLINE.getCode()); + break; + } + Long graphId = Optional.ofNullable(this.sv.addMapGraph(baMapGraph)).orElse(0L); + if (graphId.equals(0)) { + return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage()); + } + + // 娣诲姞鍦板浘鍥惧舰鍧愭爣璁板綍 + JSONArray coordinates = graph.getJSONArray("coordinates"); + for (int j = 0; j < coordinates.size(); j++) { + JSONArray coordinate = coordinates.getJSONArray(j); + for (int k = 0; k < coordinate.size(); k++) { + JSONObject point = coordinate.getJSONObject(k); + + BaMapCoordinates mapCoordinates = new BaMapCoordinates(); + mapCoordinates.setGraphId(graphId); + mapCoordinates.setLat(point.getBigDecimal("lat")); + mapCoordinates.setLng(point.getBigDecimal("lng")); + Long coordinateId = Optional.ofNullable(this.sv.addMapCoordinate(mapCoordinates)).orElse(0L); + if (coordinateId.equals(0)) { + return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage()); + } + } + } + } return BaseResponseUtils.buildSuccess(true); } - /** * 鍒犻櫎鐗囧尯 @@ -325,6 +364,7 @@ //@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @GetMapping(path = "delete") + @Transactional(rollbackFor = Exception.class) @SsoAop() public BaseResponse<Boolean> delete(Long id) { if (id == null) { @@ -341,10 +381,10 @@ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�"); } - // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰� - this.sv.deleteMapGraph(id); // 鍒犻櫎鍦板浘鍥惧舰鍧愭爣 this.sv.deleteMapCoordinates(id); + // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰� + this.sv.deleteMapGraph(id); return BaseResponseUtils.buildSuccess(true); } -- Gitblit v1.8.0