From e8044ee933b7e2f834855f28ea8575d82eb0eeac Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 20 六月 2025 21:25:13 +0800 Subject: [PATCH] 提现管理 --- ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java | 88 +++++++++++++++++++++++-------------------- 1 files changed, 47 insertions(+), 41 deletions(-) diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java index 36e10c5..e1234e6 100644 --- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java +++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java @@ -13,6 +13,8 @@ import org.springframework.http.client.ClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.stereotype.Component; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import java.text.ParseException; @@ -34,7 +36,7 @@ @Autowired private IGDInterfaceService gdInterfaceService; - private String key = "3491db7ed190e5e4757fcb838e012130"; + private String key = "WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx"; private JSONArray jsonArray = new JSONArray(); @@ -56,51 +58,47 @@ * @return */ public List<String> createFence(String id, String points){ - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + 35); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - String format = simpleDateFormat.format(calendar.getTime()); + String ak = key; + List<String> result = new ArrayList<>(); - - //开始调用高德接口创建围栏 + // points格式:lng,lat;lng,lat;... 或 lng,lat;radius(圆形) String[] s = points.split("_"); - List<String> resoult = new ArrayList<>(); - for(int i = 0; i < s.length; i++){ - String[] split = s[i].split(";"); - JSONObject json = new JSONObject(); - json.put("name", "location_" + id); - if(split.length == 2){ - json.put("center", split[0]); - json.put("radius", split[1]); - }else{ - json.put("points", s[i]); + for (String item : s) { + String url; + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + params.add("ak", ak); + params.add("service_id", "241187"); + params.add("name", "location_" + id); + + String[] split = item.split(";"); + if (split.length == 2 && split[1].matches("\\d+")) { + // 圆形围栏 + params.add("center", split[0]); + params.add("radius", split[1]); + url = "http://yingyan.baidu.com/api/v3/fence/createcircle"; + } else { + // 多边形围栏 + params.add("vertexes", item); + url = "https://yingyan.baidu.com/api/v3/fence/createpolygonfence"; } - json.put("enable", "true"); - json.put("valid_time", format); - json.put("repeat", "Mon,Tues,Wed,Thur,Fri,Sat,Sun"); - json.put("alert_condition", "enter;leave"); - json.put("desc", id); + + params.add("coord_type", "bd09ll"); // 百度经纬度 + params.add("denoise", "10"); // 去噪 + params.add("alarm_condition", "enter;leave"); // 进出报警 HttpHeaders headers = new HttpHeaders(); - MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); - headers.setContentType(type); - headers.add("Accept", MediaType.APPLICATION_JSON.toString()); - HttpEntity<String> formEntity = new HttpEntity<>(json.toString(), headers); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers); - String url = "https://restapi.amap.com/v4/geofence/meta?key=" + key; - String js = restTemplate.postForObject(url, formEntity, String.class); - JSONObject jsonObject = JSON.parseObject(js); - JSONObject data = jsonObject.getJSONObject("data"); - String status = data.getString("status"); - - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "创建电子围栏"); - - if(status.equals("0")){//创建成功 - resoult.add(data.getString("gid")); + String response = restTemplate.postForObject(url, request, String.class); + JSONObject json = JSON.parseObject(response); + if (json.getIntValue("status") == 0) { + result.add(json.getString("fence_id")); + }else{ + result.add("-1"); } } - return resoult; + return result; } @@ -334,10 +332,18 @@ * @return */ public boolean deleteElectricFenc(String gid){ - restTemplate.delete("https://restapi.amap.com/v4/geofence/meta?key={1}&gid={2}", key, gid); - System.out.println("删除:" ); + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + params.add("ak", key); + params.add("service_id", "241187"); + params.add("fence_ids", gid); + System.out.println("删除:"); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "删除电子围栏"); + String response = restTemplate.postForObject("https://yingyan.baidu.com/api/v3/fence/delete", request, String.class); + System.err.println(response); + gdInterfaceService.saveData("https://yingyan.baidu.com/api/v3/fence/delete", "删除电子围栏"); return true; } -- Gitblit v1.7.1