From 888c642c118ada60f721af6ad2192b5ce380deda Mon Sep 17 00:00:00 2001 From: yanhuiqinghot Date: Tue, 9 Dec 2025 23:37:24 +0800 Subject: [PATCH] 工单管理代码提交 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApi.java | 16 ++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApiImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadReqDTO.java | 25 +++++++++++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadRespDTO.java | 21 +++++++++++++++++++++ urbanops-module-workorder/pom.xml | 7 ++++++- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java | 14 ++++++++++++++ 6 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApi.java create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApiImpl.java create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadReqDTO.java create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadRespDTO.java diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApi.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApi.java new file mode 100644 index 0000000..4532c35 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApi.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.api.road; + +import com.zteits.urbanops.module.garden.api.road.dto.RoadReqDTO; +import com.zteits.urbanops.module.garden.api.road.dto.RoadRespDTO; + +import java.util.List; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: 道路api 通过经纬度 系统编码获取道路信息 + * @date 2025/12/9 22:12 + */ +public interface RoadApi { + public List getRoadInfoBy(RoadReqDTO reqDTO); +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApiImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApiImpl.java new file mode 100644 index 0000000..d0b724c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApiImpl.java @@ -0,0 +1,57 @@ +package com.zteits.urbanops.module.garden.api.road; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; +import com.zteits.urbanops.framework.common.util.http.HttpUtils; +import com.zteits.urbanops.module.garden.api.road.dto.RoadReqDTO; +import com.zteits.urbanops.module.garden.api.road.dto.RoadRespDTO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: 道路api实现类 + * @date 2025/12/9 22:18 + */ +@Slf4j +@Service +public class RoadApiImpl implements RoadApi{ + + @Value("${siot.roadUrl}") + private String roadInfoUrl; + + @Override + public List getRoadInfoBy(RoadReqDTO reqDTO) { + Map param = new HashMap<>(); + param.put("companyCode", reqDTO.getCompanyCode()); + param.put("longitude", reqDTO.getLongitude()); + param.put("latitude", reqDTO.getLatitude()); + + String responseBody = HttpUtils.post(roadInfoUrl, null, JSON.toJSONString(param)); + log.info("获取道路信息接口,系统:{},经度:{},维度:{},返回结果:{}", reqDTO.getCompanyCode(), reqDTO.getLongitude(), reqDTO.getLatitude(), responseBody); + JSONObject response = JSONUtil.parseObj(responseBody); + if (response.getInt("code") != 200) { + return new ArrayList<>(); + } + JSONObject data = response.getJSONObject("data"); + if (data == null) { + return new ArrayList<>(); + } + return data.getJSONArray("roadList").stream().map(item -> { + JSONObject entries = JSONUtil.parseObj(item); + RoadRespDTO roadInfo = new RoadRespDTO(); + roadInfo.setRoadCode(entries.getStr("roadCode")); + roadInfo.setRoadName(entries.getStr("roadName")); + return roadInfo; + }).collect(Collectors.toList()); + } +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadReqDTO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadReqDTO.java new file mode 100644 index 0000000..624993e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadReqDTO.java @@ -0,0 +1,25 @@ +package com.zteits.urbanops.module.garden.api.road.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: TODO + * @date 2025/12/9 22:43 + */ +@Data +public class RoadReqDTO { + @NotNull + @Schema(description = "系统编码", example = "sls") + private String companyCode; + @NotNull + @Schema(description = "经度", example = "44.962685") + private String longitude; + @NotNull + @Schema(description = "维度", example = "121.40476") + private String latitude; + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadRespDTO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadRespDTO.java new file mode 100644 index 0000000..8b19b76 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadRespDTO.java @@ -0,0 +1,21 @@ +package com.zteits.urbanops.module.garden.api.road.dto; + +import lombok.Data; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: TODO + * @date 2025/12/9 22:21 + */ +@Data +public class RoadRespDTO { + /** + * 道路编码 + */ + private String roadCode; + /** + * 道路名称 + */ + private String roadName; +} diff --git a/urbanops-module-workorder/pom.xml b/urbanops-module-workorder/pom.xml index b481e7c..a713790 100644 --- a/urbanops-module-workorder/pom.xml +++ b/urbanops-module-workorder/pom.xml @@ -131,7 +131,12 @@ urbanops-module-bpm ${revision} - + + com.zteits.boot + urbanops-module-garden + ${revision} + compile + diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java index e3366c2..04b56b1 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java @@ -3,6 +3,9 @@ package com.zteits.urbanops.module.workorder.controller.app.garden; import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.garden.api.road.RoadApi; +import com.zteits.urbanops.module.garden.api.road.dto.RoadReqDTO; +import com.zteits.urbanops.module.garden.api.road.dto.RoadRespDTO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderRespVO; import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderPageReqVO; @@ -18,6 +21,8 @@ import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import java.util.List; + import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -33,6 +38,8 @@ import static com.zteits.urbanops.framework.security.core.util.SecurityFramework public class AppGardenWorkOrderController { @Resource private BpmGardenService gardenService; + @Resource + private RoadApi roadApi; @PostMapping("/create") //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:create')") @@ -65,4 +72,11 @@ public class AppGardenWorkOrderController { return success(BeanUtils.toBean(pageResult, AppGardenWorkOrderRespVO.class)); } + @GetMapping("/listRoadInfo") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") + @Operation(summary = "app-获取道路信息") + public List getRoadInfoBy(@Valid RoadReqDTO reqDTO) { + return roadApi.getRoadInfoBy(reqDTO); + } + } -- libgit2 0.21.4