API清单

编号 API名称 请求路径 请求方法 版本
1 今日车位使用情况实时 /v1/iot/parkinglot/iot-statistics/count-statistics/common-query POST v1.0.0
2 今日总收入数量占比-按收入来源纬度,临停、月卡 /v1/iot/parkinglot/iot-statistics/count-statistics/common-query POST
3 今日临停收入数量占比-按支付方式纬度,线上、线下 /v1/iot/parkinglot/iot-statistics/count-statistics/common-query POST
4 今日异常数据实时 /v1/iot/parkinglot/iot-statistics/count-statistics/common-query POST
10 本月道闸离线率 /v1/iot/statis/park/getDeviceOffLineRateByMonth/{projectId} GET
11 统计今日车牌识别率 /v1/iot/statis/park/getRecognizeRateByDay/{projectId} GET
12 统计今日车辆入口流量分布 /v1/iot/statis/park/getPassinCountByDay/{projectId} GET
13 统计本月车辆入口流量分布 /v1/iot/statis/park/getPassinCountByMonth/{projectId} GET
14 统计今日车辆出口流量分布 /v1/iot/statis/park/getPassoutCountByDay/{projectId} GET
15 统计本月车辆出口流量分布 /v1/iot/statis/park/getPassoutCountByMonth/{projectId} GET
16 统计本月车位利用率 /v1/iot/statis/park/getPlaceRateByMonth/{projectId} GET
17 统计本月异常抬杆 /v1/iot/statis/park/getErrorRiseFlagRateByMonth/{projectId} GET
18 查询本月通道异常抬杆 /v1/iot/statis/park/getErrorRiseFlagRateByChannel/{projectId} GET
19 统计今日车牌识别率 /v1/iot/statis/park/getAvgRecognizeRateByMonth/{projectId} GET

1. 车位使用情况实时统计

请求路径

*POST /v2/smart-parkinglot/xlink-statistics/count-statistics/common-query

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID
count_statistics_keys Array 查询类型 [1、11]
date_type Integer 日期类型 (1-今日、2-本月、3-本年)

参数:{"count_statistics_keys":[1,11],"project_id":"21401136"}

统计规则

1、总车位:该项目下所有车位数
    验证方式:云朵平台->车位管理中查看总数
2、空闲车位:该项目下目前空闲车位数目,车位总数-场内车辆
    验证方式:(1)、查场内车 云朵平台->通行管理->场内车辆  或者 db.pass_in_out_log.count({"project_id":"21906","in_or_out":0,"passed_time":{$exists: false}}) 
            (2)、总车位-场内车
3、道闸总数:该项目下道闸数目
    验证方式:云朵平台->设备管理总数
4、道闸离线数
    验证方式:云朵平台->设备管理离线数

返回内容参数

{ "code": "000000", "msg": "请求成功", "data": { "statistics": [ { "key": 1, "comment": "", "org_id": null, "project_id": "21401136", "contents": [ { "key": "total", "comment": "总数", "count": 1779, "percent": 100 }, { "key": "used", "comment": "非空闲", "count": 433, "percent": 24.34 }, { "key": "free", "comment": "空闲", "count": 1346, "percent": 75.66 } ] }, { "key": 11, "comment": "", "org_id": null, "project_id": "21401136", "contents": [ { "key": "total", "comment": "总数", "count": 11, "percent": 100 }, { "key": "online", "comment": "在线数", "count": 8, "percent": 73 }, { "key": "offline", "comment": "离线数", "count": 3, "percent": 27.000002 } ] } ] }, "status": 200 }

2. 本日总收入数量占比-按收入来源纬度,临停、月卡

请求路径

*POST /v2/smart-parkinglot/xlink-statistics/count-statistics/common-query

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID
count_statistics_keys Array 查询类型 [1、11]
date_type Integer 日期类型 (1-今日、2-本月、3-本年)

参数:{"count_statistics_keys":[4],"project_id":"21401136"}

统计规则

1、今日临停收费:
    验证方式:云朵平台->运营报表-》临停收费对账->月卡收费实收金额求和
2、今日月卡收费:
    验证方式:云朵平台->运营报表-》月卡收费对账->月卡收费实收金额求和

返回内容参数

{ "code": "000000", "msg": "请求成功", "data": { "statistics": [ { "key": 4, "comment": "", "org_id": null, "project_id": "21401136", "contents": [ { "key": "temp", "comment": "临停", "count": 9400, "percent": 0 }, { "key": "month_card", "comment": "月卡", "count": 0, "percent": 0 } ] } ] }, "status": 200 }

3. 本日临停收入数量占比-按支付方式纬度,线上、线下

请求路径

*POST /v2/smart-parkinglot/xlink-statistics/count-statistics/common-query

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID
count_statistics_keys Array 查询类型 [1、11]
date_type Integer 日期类型 (1-今日、2-本月、3-本年)

参数:{"count_statistics_keys":[5],"project_id":"21401136"}

统计规则

1、线上收费:
    验证方式:云朵平台->经营报表->支付渠道统计->线上(银联支付、支付宝、微信)
2、线下收费:
    验证方式:云朵平台->经营报表->支付渠道统计->线下(现金、银行转账、刷卡、POS机扫码)

返回内容参数

{ "code": "000000", "msg": "请求成功", "data": { "statistics": [ { "key": 5, "comment": "", "org_id": null, "project_id": "21401136", "contents": [ { "key": "online", "comment": "线上", "count": 9400, "percent": 100 }, { "key": "offline", "comment": "线下", "count": 0, "percent": 0 } ] } ] }, "status": 200 }

4. 通行异常分析

请求路径

*POST /v2/smart-parkinglot/xlink-statistics/count-statistics/common-query

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID
count_statistics_keys Array 查询类型 [1、11]
date_type Integer 日期类型 (1-今日、2-本月、3-本年)

参数:{"count_statistics_keys":[7],"project_id":"21401136"}

统计规则

1、通行异常:
    验证方式:云朵平台->稽核管理->(人工放行、手动开闸、车牌矫正、异常收费、免费放行、其他异常)

返回内容参数

{ "code": "000000", "msg": "请求成功", "data": { "statistics": [ { "key": 7, "comment": "", "org_id": null, "project_id": "21401136", "contents": [ { "key": "0", "comment": "人工放行", "count": 43, "percent": 0.0 }, { "key": "1", "comment": "手动开闸", "count": 159, "percent": 0.0 }, { "key": "2", "comment": "车牌矫正", "count": 3, "percent": 0.0 }, { "key": "3", "comment": "免费放行", "count": 161, "percent": 0.0 }, { "key": "4", "comment": "其他异常", "count": 22, "percent": 0.0 }, { "key": "5", "comment": "异常收费", "count": 0, "percent": 0.0 } ] } ] }, "status": 200 }

10. 本月道闸离线率

请求路径

*GET /v1/iot/statis/park/getDeviceOffLineRateByMonth/{projectId}

统计规则

1、本月道闸离线率:
    统计方式:
        (1)、定时任务30分钟统计一次道闸离线情况,每个道闸设备每天采样48条数据
        (2)、每天离线率通过当天改项目下所有 道闸离线数/道闸总数,如 2个道闸 当天统计总条数96,总离线数(is_online=0):48 当天的离线率即为48/96
    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_device
        select
                    ifnull(b.sumOffline,0) as sumOffline,
                    a.sumTotal,
                    TRUNCATE(ifnull(b.sumOffline,0)/a.sumTotal,2) as calcOfflineRate,
                    a.logTime
                from
                    (select
                        count(1) as sumTotal,
                        date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') as logTime
                    from
                        smart_cmty_ioc_statis_park_device
                    where
                        project_id=#{projectId}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') > #{startDate}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') < #{endDate}
                    group by
                        i_year,i_month,i_day) as a
                left join
                    (select
                        count(1) as sumOffline,
                        date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') as logTime
                    from
                        smart_cmty_ioc_statis_park_device
                    where
                        is_online!=1
                        and project_id=#{projectId}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') > #{startDate}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') < #{endDate}
                    group by
                        i_year,i_month,i_day) as b
                on
                    a.logTime = b.logTime

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "sumTotal": 30, "calcOfflineRate": 0.8, "sumOffline": 24, "logTime": "2021-01-10 00:00:00" }, { "sumTotal": 30, "calcOfflineRate": 0.8, "sumOffline": 24, "logTime": "2021-01-11 00:00:00" } ...... ], "message": "success" }

11. 统计今日车牌识别率

请求路径

*GET /v1/iot/statis/park/getRecognizeRateByDay/{projectId}

统计规则

1、车牌识别率:
    统计方式:
        (1)、定时任务1小时统计一次车牌识别错误率,车牌矫正数/车辆识别总数 
        (2)、车牌矫正数:云朵平台->稽核管理->车牌矫正,当前定时任务小时累计车牌矫正数 ,如00:00-1:00 矫正数为10 1:00-2:00 矫正数为20,那么计算时1:00的识别数为10 2:00的识别数为30
            车辆识别总数:云朵平台->通行管理(进场+出场)总和
    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_recognize_rate
    select
                AVG(sum_error_recognize) as sumErrorRecognize,
                AVG(sum_right_recognize) as sumRightRecognize,
                AVG(sum_recognize) as sumRecognize,
                AVG(recognize_rate) as recognizeRate,
                date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') as logTime
            from
                smart_cmty_ioc_statis_park_recognize_rate
            where
                project_id=#{projectId}
                and date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') > #{startDate}
                and date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') < #{endDate}
            group by i_year,i_month,i_day,i_hour

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "sumErrorRecognize": 1,//车牌矫正数 "sumRightRecognize": 2,//正确识别数 "sumRecognize": 3,//总识别数 "recognizeRate": "0.3333"//识别率 "logTime": "2021-01-11 00:00:00"//识别时间 }, { "sumErrorRecognize": 1, "sumRightRecognize": 2, "sumRecognize": 3, "recognizeRate": "0.3333" "logTime": "2021-01-11 01:00:00" } ...... ], "message": "success" }

12. 统计今日车辆入口流量分布

请求路径

*GET /v1/iot/statis/park/getPassinCountByDay/{projectId}

1、入口流量分布:
    统计方式:
        (1)、定时任务1小时增量记录所有的通行记录(smart_cmty_ioc_statis_park_pass_in_out)
    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_pass_in_out
        select
            channel_name as channelName,
            car_pass_type as carPassType,
            count(1) as passCount,
            date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') as logTime
        from
            smart_cmty_ioc_statis_park_pass_in_out
        where
            project_id=#{projectId}
            and date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') > #{startDate}
            and date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') < #{endDate}
            and in_or_out=#{inOrOut} (0-入口 1-出口)
        group by
            channel_id,channel_name,car_pass_type

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "channelName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-11 00:00:00"//识别时间 }, { "deviceName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-11 01:00:00"//识别时间 } ...... ], "message": "success" }

13. 统计本月车辆入口流量分布

请求路径

*GET /v1/iot/statis/park/getPassinCountByMonth/{projectId}

统计规则(如12)

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "channelName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-11 00:00:00"//识别时间 }, { "deviceName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-12 00:00:00"//识别时间 } ...... ], "message": "success" }

14. 统计今日车辆出口流量分布

请求路径

*GET /v1/iot/statis/park/getPassoutCountByDay/{projectId}

统计规则(如12)

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "channelName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-11 00:00:00"//识别时间 }, { "deviceName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-11 01:00:00"//识别时间 } ...... ], "message": "success" }

15. 统计本月车辆出口流量分布

请求路径

*GET /v1/iot/statis/park/getPassoutCountByMonth/{projectId}

统计规则(如12)

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "channelName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-11 00:00:00"//识别时间 }, { "deviceName": "通道名称", "passCount": 21,//流量数 "carPassType": 1,//车辆通过类型(1、6临停)(1月卡)(4、5白名单) "logTime": "2021-01-12 00:00:00"//识别时间 } ...... ], "message": "success" }

16. 统计本月车位利用率

请求路径

*GET /v1/iot/statis/park/getPlaceRateByMonth/{projectId}

1、车位利用率:
    统计方式:
        (1)、定时任务1小时统计一次车位利用率,场内车辆/总车位数 采样统计利用率每天24条数据,当天的利用率取当天平均值

    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_place_rate
                select
                    AVG(sum_temp_car) as sumTempCar,
                    AVG(sum_card_car) as sumCardCar,
                    AVG(sum_temp_place) as sumTempPlace,
                    AVG(sum_card_place) as sumCardPlace,
                    AVG(used_temp_rate) as usedTempRate,
                    AVG(used_card_rate) as usedCardRate,
                    date_format(concat(concat_ws('-',i_year,i_month,i_day),' ','00:00:00'),'%Y-%m-%d %H:%i:%S') as logTime
                from
                    smart_cmty_ioc_statis_park_place_rate
                where
                    project_id=#{projectId}
                    and date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') > #{startDate}
                    and date_format(concat(concat_ws('-',i_year,i_month,i_day),' ',i_hour,':00:00'),'%Y-%m-%d %H:%i:%S') < #{endDate}
                group by
                    i_year,i_month,i_day

                    当前 = (临时车辆数+月租车辆数)/总车位数数*100
                    月租车位 =月租车数量/月租车位数(总车位数-非月租车位数)*100
                    临时车位利用率=临时车数量/非月租车位数(流动车位)*100

                    每天利用率:每一天的(车辆数量/车位数辆)*100

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ ...... { "sumTempCar": 10,//场内临停车辆数 "sumCardCar": 10,//场内月卡车辆数 "sumTempPlace": 20,//非固定车位总数(总数-(产权+固定)) "sumCardPlace": 20,//月租车位总数(产权+固定) "usedTempRate": 0.5,//非固定车位利用率 "usedCardRate": 0.5,//月卡车位利用率 "logTime": "2021-01-11 00:00:00"//记录时间 }, { "sumTempCar": 10,//场内临停车辆数 "sumCardCar": 10,//场内月卡车辆数 "sumTempPlace": 20,//非固定车位总数(总数-(产权+固定)) "sumCardPlace": 20,//月租车位总数(产权+固定) "usedTempRate": 0.5,//非固定车位利用率 "usedCardRate": 0.5,//月卡车位利用率 "logTime": "2021-01-12 00:00:00"//记录时间 } ...... ], "message": "success" }

17. 统计本月异常抬杆

请求路径

*GET /v1/iot/statis/park/getErrorRiseFlagRateByMonth/{projectId}

1、异常抬杆:
    统计方式:
        (1)、定时任务1小时增量统计一次异常抬杆数、总抬杆数、异常抬杆率 如00:00-1:00异常抬杆10次,1:00-2:00异常抬杆20次 那么1:00统计数字为10 2:00统计数字为30次,同理总抬杆数也是增量同步
            异常抬杆:云朵平台->稽核管理->(人工放行+手动开闸)
            总抬杆数:云朵平台->通行管理->(进场+出场纪录数)
        (2)、每天的异常抬杆数和异常抬杆率 均取每天23点的数据为最真实的异常抬杆数据即(当天总异常抬杆/当天总抬杆数)
    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_error_rise_flag
        SELECT
                    SUM(a.error_rise_nums) as errorNums,
                    TRUNCATE(SUM(a.error_rise_nums)/SUM(a.sum_rise_nums),2) as errorRate,
                    SUM(a.sum_rise_nums) as riseNums,
                    date_format(concat_ws('-',a.i_year,a.i_month,a.i_day),'%Y-%m-%d') as logTime
                FROM
                    smart_cmty_ioc_statis_park_error_rise_flag a
                ,
                    (
                    SELECT
                        MAX(i_hour) as i_hour,i_year,i_month,i_day
                    FROM
                        smart_cmty_ioc_statis_park_error_rise_flag
                    where
                        project_id=#{projectId}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') > #{startDate}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') < #{endDate}
                    GROUP BY
                        i_year,i_month,i_day
                    ) b
                WHERE
                    a.i_year = b.i_year
                    and a.i_month = b.i_month
                    and a.i_day = b.i_day
                    and a.i_hour = b.i_hour
                    and a.project_id=#{projectId}
                GROUP BY
                    a.i_year,a.i_month,a.i_day

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ .... { "errorNums": 0, "errorRate": 0.0, "riseNums": 0.0, "logTime": "2021-01-01 00:00:00" }, { "errorNums": 0, "errorRate": 0.0, "riseNums": 0.0, "logTime": "2021-01-02 00:00:00" } .... ] }

18. 查询本月通道异常抬杆

请求路径

*GET /v1/iot/statis/park/getErrorRiseFlagRateByChannel/{projectId}

1、异常抬杆:(大致如17)
    统计方式:
        (1)、定时任务1小时增量统计一次异常抬杆数、总抬杆数、异常抬杆率 如00:00-1:00异常抬杆10次,1:00-2:00异常抬杆20次 那么1:00统计数字为10 2:00统计数字为30次,同理总抬杆数也是增量同步
            异常抬杆:云朵平台->稽核管理->(人工放行+手动开闸)
            总抬杆数:云朵平台->通行管理->(进场+出场纪录数)
        (2)、按照通道进行分组取 当前通道每天23点的数据总异常抬杆数/当前通道每天23点总抬杆数
    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_error_rise_flag
        SELECT
                    SUM(a.error_rise_nums) as errorNums,
                    TRUNCATE(SUM(a.error_rise_nums)/SUM(a.sum_rise_nums),2) as errorRate,
                    SUM(a.sum_rise_nums) as riseNums,
                    a.channel_name as channelName
                FROM
                    smart_cmty_ioc_statis_park_error_rise_flag a,
                (
                    SELECT
                        MAX(i_hour) as i_hour,i_year,i_month,i_day
                    FROM
                        smart_cmty_ioc_statis_park_error_rise_flag
                    where
                        project_id=#{projectId}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') > #{startDate}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') < #{endDate}
                    GROUP BY
                        i_year,i_month,i_day
                ) b
                WHERE
                a.i_year = b.i_year
                and a.i_month = b.i_month
                and a.i_day = b.i_day
                and a.i_hour = b.i_hour
                and a.project_id=#{projectId}
                GROUP BY
                a.channel_id,a.channel_name

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": [ { "channelName": "大车场出口", "errorNums": 0, "errorRate": 0.0, "riseNums": 0 }, { "channelName": "大车场入口", "errorNums": 0, "errorRate": 0.0, "riseNums": 0 } ], "message": "success" }

19. 统计本月平均识别率

请求路径

*GET /v1/iot/statis/park/getAvgRecognizeRateByMonth/{projectId}

平均识别率

1、车牌识别率:
    统计方式:
        (1)、定时任务1小时统计一次车牌识别率,车牌矫正数/车辆识别总数 
        (2)、车牌矫正数:云朵平台->稽核管理->车牌矫正,当前定时任务小时累计车牌矫正数 ,如00:00-1:00 矫正数为10 1:00-2:00 矫正数为20,那么计算时1:00的识别数为10 2:00的识别数为30
            车辆识别总数:云朵平台->通行管理(进场+出场)总和
        (3)、取每天23点的识别率的平均值为本月当前识别率
    验证方式:
        通过如上逻辑查询表数据:smart_cmty_ioc_statis_park_recognize_rate
        SELECT
                     TRUNCATE(SUM(a.sum_right_recognize)/SUM(a.sum_recognize),2) as recognizeRate
                FROM
                smart_cmty_ioc_statis_park_recognize_rate a
                ,
                (
                    SELECT
                        MAX(i_hour) as i_hour,i_year,i_month,i_day
                    FROM
                        smart_cmty_ioc_statis_park_recognize_rate
                    where
                        project_id=#{projectId}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') > #{startDate}
                        and date_format(concat_ws('-',i_year,i_month,i_day),'%Y-%m-%d') < #{endDate}
                    GROUP BY
                        i_year,i_month,i_day
                ) b
                WHERE
                a.i_year = b.i_year
                and a.i_month = b.i_month
                and a.i_day = b.i_day
                and a.i_hour = b.i_hour
                and a.project_id=#{projectId}

请求参数

字段 是否必须 字段类型 描述 备注
project_id string 项目ID

{ "code": 200, "data": 0.45, "message": "success" }

results matching ""

    No results matching ""