From d294abb765e4ed349907c92ce313689c6299ba7d Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 02 十二月 2025 00:17:00 +0800
Subject: [PATCH] feat:地图都改为天地图的接口
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DepartmentSyncServiceImpl.java | 70 ++++++++++++++++++++++++++++++++--
1 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DepartmentSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DepartmentSyncServiceImpl.java
index 3af352b..2fbce75 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DepartmentSyncServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DepartmentSyncServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl;
+import java.math.BigDecimal;
import java.util.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,7 +53,7 @@
*/
@Override
@Transactional
- public AjaxResult syncBranchDepartments(List<DepartmentSyncDTO> branchDepts,List<OrderClassDTO> serviceOrderList,List<OrderClassDTO> dispatchOrderList)
+ public AjaxResult syncBranchDepartments(List<DepartmentSyncDTO> branchDepts,List<OrderClassDTO> serviceOrderList,List<OrderClassDTO> dispatchOrderList,List<Map<String, Object>> addressList)
{
try
{
@@ -106,7 +107,7 @@
branchMap.put(branchName, branchDeptId);
// 妫�鏌ュ苟鏇存柊缂栫爜
- syncOrderClassCodes(existingBranch, parts[0].trim(), serviceOrderList, dispatchOrderList);
+ syncOrderClassCodes(existingBranch, parts[0].trim(), serviceOrderList, dispatchOrderList,addressList);
// existingBranch.setDepartmentId(dto.getDepartmentId());
sysDeptMapper.updateDept(existingBranch);
log.info("鏇存柊鍒嗗叕鍙哥紪鐮�: {}, 鏈嶅姟鍗曠紪鐮�: {}, 璋冨害鍗曠紪鐮�: {}",
@@ -125,7 +126,7 @@
// newBranch.setDepartmentId(dto.getDepartmentId());
// 鑷姩鍖归厤骞惰缃湇鍔″崟鍜岃皟搴﹀崟缂栫爜
- syncOrderClassCodes(newBranch, parts[0].trim(), serviceOrderList, dispatchOrderList);
+ syncOrderClassCodes(newBranch, parts[0].trim(), serviceOrderList, dispatchOrderList,addressList);
sysDeptMapper.insertDept(newBranch);
branchDeptId = newBranch.getDeptId();
@@ -204,6 +205,24 @@
return AjaxResult.error("鍚屾澶辫触: " + e.getMessage());
}
}
+
+ /**
+ * 鍚屾鍒嗗叕鍙哥殑鍦板潃鏁版嵁
+ * @param departAddress
+ */
+ public void syncDeptAddress(List<Map<String,Object>> departAddress){
+ List<SysDept> depts =sysDeptMapper.selectDeptListByParentId(100L);
+ for(SysDept dept:depts){
+ Map<String,Object> addressInfo = getDeptAddressInfo(departAddress,dept.getServiceOrderClass());
+ if(addressInfo != null){
+ dept.setDepartureAddress(getAddress(addressInfo));
+ dept.setDepartureLongitude(getLongitude(addressInfo));
+ dept.setDepartureLatitude(getLatitude(addressInfo));
+ }
+ sysDeptMapper.updateDept(dept);
+ }
+
+ }
/**
* 鍚屾杞繍閮ㄥ拰瀛愰儴闂ㄦ暟鎹紙浣跨敤澶栭儴浼犲叆鐨勬暟鎹簮锛�
@@ -218,7 +237,7 @@
*/
@Override
@Transactional
- public AjaxResult syncTransportDepartments(List<DepartmentSyncDTO> transportDepts)
+ public AjaxResult syncTransportDepartments(List<DepartmentSyncDTO> transportDepts, List<Map<String, Object>> addressList)
{
try
{
@@ -347,6 +366,34 @@
}
}
+ private Map<String,Object> getDeptAddressInfo(List<Map<String,Object>> departAddress,String ServiceBranch){
+ return departAddress.stream()
+ .filter(map -> map.get("ServiceBranch").equals(ServiceBranch))
+ .findFirst()
+ .orElse(null);
+ }
+
+ private String getAddress(Map<String, Object> addressInfo){
+ if(addressInfo == null){
+ return null;
+ }
+ return addressInfo.get("ServiceAddress").toString();
+ }
+
+ private BigDecimal getLongitude(Map<String, Object> addressInfo){
+ if(addressInfo == null){
+ return null;
+ }
+ return new BigDecimal(addressInfo.get("ServiceAddress_lng").toString());
+ }
+
+ private BigDecimal getLatitude(Map<String, Object> addressInfo){
+ if(addressInfo == null){
+ return null;
+ }
+ return new BigDecimal(addressInfo.get("ServiceAddress_lat").toString());
+ }
+
/**
* 鍚屾璁㈠崟缂栫爜锛堟湇鍔″崟鍜岃皟搴﹀崟缂栫爜锛�
*
@@ -359,7 +406,7 @@
*/
private void syncOrderClassCodes(SysDept dept, String cityName,
List<OrderClassDTO> serviceOrderList,
- List<OrderClassDTO> dispatchOrderList)
+ List<OrderClassDTO> dispatchOrderList, List<Map<String, Object>> addressList)
{
if (serviceOrderList == null || dispatchOrderList == null)
{
@@ -373,6 +420,19 @@
String serviceOrderClass = matchCityNameToCode(cityName, serviceOrderList);
if (serviceOrderClass != null)
{
+ Map<String, Object> addressInfo = this.getDeptAddressInfo(addressList, serviceOrderClass);
+ String address=this.getAddress(addressInfo);
+ if(address!=null){
+ dept.setDepartureAddress(address);
+ }
+ BigDecimal lon = this.getLongitude(addressInfo);
+ if(lon!=null){
+ dept.setDepartureLongitude(lon);
+ }
+ BigDecimal lat = this.getLatitude(addressInfo);
+ if(lat!=null){
+ dept.setDepartureLatitude(lat);
+ }
dept.setServiceOrderClass(serviceOrderClass);
log.info("鍖归厤鍒版湇鍔″崟缂栫爜 - 鍩庡競: {}, 缂栫爜: {}", cityName, serviceOrderClass);
}
--
Gitblit v1.9.1