package com.dy.pipIrrProject.network; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.voPr.VoNetwork; import com.dy.pipIrrProject.network.dto.Network; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * @author ZhuBaoMin * @date 2024-08-27 17:08 * @LastEditTime 2024-08-27 17:08 * @Description */ @Slf4j @RestController @RequestMapping(path = "network") @RequiredArgsConstructor public class NetworkCtrl { private final NetworkSv networkSv; /** * 添加管网 * @param po * @param bindingResult * @return */ @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() public BaseResponse save(@RequestBody @Valid Network po, BindingResult bindingResult) { if (bindingResult != null && bindingResult.hasErrors()) { return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } String result = networkSv.addNetworks(po); if(result.trim().length()> 0) { return BaseResponseUtils.buildErrorMsg(result); } //PrWaterNetwork prWaterNetwork = null; //Long networkId = null; // //JSONArray networks = po.getData(); //for (int i = 0; i < networks.size(); i++) { // // 取出一笔绘画 // JSONObject polyline = networks.getJSONObject(i); // // 添加该笔绘画 // prWaterNetwork = new PrWaterNetwork(); // prWaterNetwork.setNetworkType(po.getType()); // networkId = networkSv.addNetwork(prWaterNetwork); // // // 取出一笔绘画中的坐标点 // JSONArray coordinates = polyline.getJSONArray("coordinates"); // for (int j = 0; j < coordinates.size(); j++) { // JSONObject point = coordinates.getJSONObject(j); // // PrNetworkCoordinates prNetworkCoordinates = new PrNetworkCoordinates(); // prNetworkCoordinates.setNetworkId(networkId); // prNetworkCoordinates.setLat(point.getBigDecimal("lat")); // prNetworkCoordinates.setLng(point.getBigDecimal("lng")); // // Long coordinateId = Optional.ofNullable(networkSv.addNetworkCoordinate(prNetworkCoordinates)).orElse(0L); // if (coordinateId.equals(0)) { // return BaseResponseUtils.buildErrorMsg(ProjectResultCode.SAVA_NETWORK_ERROR.getMessage()); // } // } //} return BaseResponseUtils.buildSuccess(true); } /** * 获取全部管网 * @return */ @GetMapping(path = "/all") @SsoAop() public BaseResponse> getNetworks() { try { return BaseResponseUtils.buildSuccess(networkSv.getNetworks()); } catch (Exception e) { log.error("获取开卡记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } }