From f60cf23a76972c0e0c7a437b17f37e1237e7d8d9 Mon Sep 17 00:00:00 2001
From: shicf <shi_chongfu@163.com>
Date: 星期一, 04 八月 2025 16:17:10 +0800
Subject: [PATCH] GPS坐标转换成百度坐标

---
 src/main/java/com/product/mobile/core/controller/SignInController.java |   26 ++++++++++++++++++++++++++
 src/main/java/com/product/mobile/core/service/SignInService.java       |   23 +++++++++++++++++++++--
 2 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/product/mobile/core/controller/SignInController.java b/src/main/java/com/product/mobile/core/controller/SignInController.java
index de7750c..b6ea1fe 100644
--- a/src/main/java/com/product/mobile/core/controller/SignInController.java
+++ b/src/main/java/com/product/mobile/core/controller/SignInController.java
@@ -106,4 +106,30 @@
 	        return this.error(MobileCoreCode.SIGN_IN_FAIL);
 	    }
     }
+    /**
+     * 鍦扮悊鍧愭爣杞崲鎺ュ彛
+     *
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/map/coord/convert/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String coordinateTransform(HttpServletRequest request) {
+        FieldSetEntity fse = null;
+        Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+        if (bean != null) {
+            RequestParameterEntity reqp = (RequestParameterEntity) bean;
+            fse = reqp.getFormData();
+        }
+        try {
+	        //杩斿洖缁忕含搴�
+	        return this.OK_List(signInService.coordinateTransform(fse.getInteger("type"),fse.getDouble("longitude"),fse.getDouble("latitude")));
+        
+	    } catch (BaseException e) {
+	        return this.error(e);
+	    } catch (Exception e) {
+	    	
+	        return this.error(MobileCoreCode.SIGN_IN_FAIL);
+	    }
+    }
 }
diff --git a/src/main/java/com/product/mobile/core/service/SignInService.java b/src/main/java/com/product/mobile/core/service/SignInService.java
index 05c9c4c..b1dd0f3 100644
--- a/src/main/java/com/product/mobile/core/service/SignInService.java
+++ b/src/main/java/com/product/mobile/core/service/SignInService.java
@@ -17,7 +17,8 @@
 import com.product.mobile.core.config.MobileCoreCode;
 import com.product.mobile.core.config.MobileCoreConst;
 import com.product.module.sys.entity.SystemUser;
-import com.product.util.BaseUtil;
+import com.product.util.baidu.map.CoordinateTransformUtil;
+import com.product.util.baidu.map.CoordinateTransformUtil.Coordinate;
 
 import cn.hutool.core.date.DateUtil;
 
@@ -215,5 +216,23 @@
     	sql.append(" a left join product_oa_punch_time b on b.punch_site_uuid=a.uuid where a.org_level_uuid=?");
     	return baseDao.listTable(sql.toString(), new String[] {org_level_uuid});
     }
-
+    /**
+     *鍧愭爣杞崲
+     * @param type杞崲绫诲瀷
+     * @param lng 缁忓害
+     * @param lat 绾害
+     * @return
+     */
+    public FieldSetEntity coordinateTransform(int type,double lng,double lat) {
+    	
+    	FieldSetEntity newCoord=new FieldSetEntity();
+    	newCoord.setTableName("product_oa_punch_time");
+    	Coordinate nc=CoordinateTransformUtil.toConvert(type, lng, lat);
+    	if(nc!=null) {
+    		newCoord.setValue("longitude", nc.longitude);
+    		newCoord.setValue("latitude", nc.latitude);
+    	}
+    	
+    	return newCoord;
+    }
 }

--
Gitblit v1.9.2