xiaoyong931011
2022-09-22 cf0f93a4c122121b205ab52bb5fc3b3b93682670
src/main/java/cc/mrbird/febs/mall/service/impl/IMallElectronicFenceServiceImpl.java
@@ -4,6 +4,8 @@
import cc.mrbird.febs.mall.entity.MallElectronicFence;
import cc.mrbird.febs.mall.mapper.MallElectronicFenceMapper;
import cc.mrbird.febs.mall.service.IMallElectronicFenceService;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -206,10 +208,60 @@
            return "fail";
        }
    }
    //电子围栏删除
    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<>();
        map.put("key",gaodeKey);
        map.put("sid",sid);
        map.put("gfids",fenceId);
        String  param= JSON.toJSONString(map);
        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";
        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);
        } catch (IOException e) {
            e.printStackTrace();
        }
        log.info("删除围栏"+result);
        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 fenceToLocation(String gaodeKey, String serviceId, String locationLonglat, String fenceId) {
        String url = "https://tsapi.amap.com/v1/track/geofence/status/location";
        HttpPost httpPost = new HttpPost(url);
        Map<String,String> map = new HashMap<>();
        //高德Key
@@ -218,27 +270,44 @@
        //服务唯一编号
        //sid为猎鹰service唯一编号
        map.put("sid",serviceId);
        //围栏id
        //围栏唯一标识,指定要更新的围栏
        //指定坐标
        //格式:x,y
        map.put("location",locationLonglat);
        //围栏的唯一标识
        //支持一次传入多个,以","分割;
        //单次最多支持100个,如超出将只截取前100个作为输入。
        map.put("gfids",fenceId);
        String  param= JSON.toJSONString(map);
        log.info("删除围栏"+param);
        log.info("查询指定坐标与围栏关系"+JSON.toJSONString(map));
        String result = null;
        try {
            result = HttpCurlUtil.sendPostHttp(url, param);
            result = HttpCurlUtil.sendGetHttp(url, map);
        } catch (IOException e) {
            e.printStackTrace();
        }
        log.info("删除围栏"+result);
        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;
            cn.hutool.json.JSONObject dataResults = JSONUtil.parseObj(dataStr);
            String resultsStr = dataResults.get("results").toString();
            return resultsStr;
        }else{
            return "fail";
        }
    }
    public static void main(String[] args) {
        String result = "{\"data\":{\"count\":1,\"results\":[{\"gfid\":800899,\"gfname\":\"87053658_fence\",\"in\":0}]},\"errcode\":10000,\"errdetail\":null,\"errmsg\":\"OK\"}";
        cn.hutool.json.JSONObject maps = JSONUtil.parseObj(result);
        String dataStr = maps.get("data").toString();
        cn.hutool.json.JSONObject dataResults = JSONUtil.parseObj(dataStr);
        String resultsStr = dataResults.get("results").toString();
        JSONArray jsonArray = JSONUtil.parseArray(resultsStr);
        System.out.print(jsonArray);
        Object o = jsonArray.get(0);
        JSONObject jsonObject1 = JSONUtil.parseObj(jsonArray.get(0));
        String in = jsonObject1.get("in").toString();
        System.out.print(in);
    }
}