From cf0f93a4c122121b205ab52bb5fc3b3b93682670 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 22 Sep 2022 16:19:57 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/service/impl/IMallElectronicFenceServiceImpl.java | 53 +++++++++++++++++--------- src/test/java/cc/mrbird/febs/ProfitTest.java | 2 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java | 19 ++++++--- 3 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java index 225e870..98039bd 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java @@ -318,14 +318,19 @@ mallElectronicFenceAdd.setServiceId(serviceId); mallElectronicFenceMapper.insert(mallElectronicFenceAdd); }else{ - String fenceUpdate = iMallElectronicFenceService.fenceUpdate(xcxProperties.getGaodeKey(), serviceId, - mallElectronicFence.getGid(), mallElectronicFence.getFenceName(), - adminLeaderAddFenceDto.getLonglatiarr()); - if("fail".equals(fenceUpdate)){ - return new FebsResponse().fail().message("高德地图更新多边形围栏失败"); + //删除电子围栏 + if(StrUtil.isEmpty(adminLeaderAddFenceDto.getLonglatiarr())){ + iMallElectronicFenceService.fenceDelete(xcxProperties.getGaodeKey(),serviceId,mallElectronicFence.getGid()); + }else{ + String fenceUpdate = iMallElectronicFenceService.fenceUpdate(xcxProperties.getGaodeKey(), serviceId, + mallElectronicFence.getGid(), mallElectronicFence.getFenceName(), + adminLeaderAddFenceDto.getLonglatiarr()); + if("fail".equals(fenceUpdate)){ + return new FebsResponse().fail().message("高德地图更新多边形围栏失败"); + } + mallElectronicFence.setLonglatiarr(adminLeaderAddFenceDto.getLonglatiarr()); + mallElectronicFenceMapper.updateById(mallElectronicFence); } - mallElectronicFence.setLonglatiarr(adminLeaderAddFenceDto.getLonglatiarr()); - mallElectronicFenceMapper.updateById(mallElectronicFence); } return new FebsResponse().success(); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/IMallElectronicFenceServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/IMallElectronicFenceServiceImpl.java index 4ae5911..cbc6960 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/IMallElectronicFenceServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/IMallElectronicFenceServiceImpl.java @@ -208,23 +208,39 @@ return "fail"; } } - - @Override - public String fenceDelete(String gaodeKey, String serviceId, String fenceId) { - String url = "https://tsapi.amap.com/v1/track/geofence/delete"; + //电子围栏删除 + public String fenceDel(String gaodeKey, String sid,String fenceId) { + String url = "https://tsapi.amap.com/v1/track/geofence/delete?key="+gaodeKey+"&sid="+sid+"&gfids="+fenceId; HttpPost httpPost = new HttpPost(url); Map<String,String> map = new HashMap<>(); - //高德Key - //用户在高德地图官网申请Web服务API类型Key map.put("key",gaodeKey); - //服务唯一编号 - //sid为猎鹰service唯一编号 - map.put("sid",serviceId); - //围栏id - //围栏唯一标识,指定要更新的围栏 + map.put("sid",sid); map.put("gfids",fenceId); String param= JSON.toJSONString(map); - log.info("删除围栏"+param); + String result = null; + try { + result = HttpCurlUtil.sendPostHttp(url, param); + } catch (IOException e) { + e.printStackTrace(); + } + cn.hutool.json.JSONObject maps = JSONUtil.parseObj(result); + System.out.println(maps); + String errcode = maps.get("errcode").toString(); + if(!"10000".equals(errcode)){ + return "fail"; + }else{ + return maps.toString(); + } + } + @Override + public String fenceDelete(String gaodeKey, String serviceId, String fenceId) { + String url = "https://tsapi.amap.com/v1/track/geofence/delete?key="+gaodeKey+"&sid="+serviceId+"&gfids="+fenceId; + HttpPost httpPost = new HttpPost(url); + Map<String,String> map = new HashMap<>(); + map.put("key",gaodeKey); + map.put("sid",serviceId); + map.put("gfids",fenceId); + String param= JSON.toJSONString(map); String result = null; try { result = HttpCurlUtil.sendPostHttp(url, param); @@ -232,15 +248,14 @@ e.printStackTrace(); } log.info("删除围栏"+result); + cn.hutool.json.JSONObject maps = JSONUtil.parseObj(result); - String errCode = maps.get("errcode").toString(); - if("10000".equals(errCode)){ - String dataStr = maps.get("data").toString(); - cn.hutool.json.JSONObject gfidsJson = JSONUtil.parseObj(dataStr); - String gfidsStr = gfidsJson.get("gfids").toString(); - return gfidsStr; - }else{ + System.out.println(maps); + String errcode = maps.get("errcode").toString(); + if(!"10000".equals(errcode)){ return "fail"; + }else{ + return maps.toString(); } } diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index d03f197..a23900d 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -219,7 +219,7 @@ // trackServiceInfo("e024c63342930addc57189c8608cdb01",null); // String e024c63342930addc57189c8608cdb01 = trackServiceDel("e024c63342930addc57189c8608cdb01", "792477"); // System.out.println(e024c63342930addc57189c8608cdb01); - String ss = fenceDel("95ede7157929f5f6b6c758971be924b1", "795278","798477"); + String ss = fenceDel("95ede7157929f5f6b6c758971be924b1", "795278","795554"); System.out.println(ss); } -- Gitblit v1.9.1