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); } } } 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; } }